Static Websites: Discount Hosting in the Cloud

Broadly speaking, when it comes to communicating on the web, there are static websites and dynamic websites.

A static website is one whose pages are stored on a server in the exact format that is sent to a client web browser. It is primarily coded in HTML. (For more details, you might like to take this Cloud Academy course on static website hosting.)

A dynamic website is one that changes or can be designed to be customized on the fly. Dynamic sites can be built using programming languages like PHP, Perl, Python, and Ruby.

In this first post, I’ll provide an example of how to set up a very simple static website, and show how surprisingly cheap it can be to host a static website on Amazon’s S3. Part two of this blog series will focus on the more complicated, demanding (and costly) dynamic websites.

Hosting a static website on AWS

  • The first thing that you will need to do is create an index.html file to use are your site’s main page. Let’s try this.
<HTML>
<HEAD>
<TITLE>
Cloud Academy static website example
</TITLE>
</HEAD>
<BODY>
<H1>Hi</H1>
<P>Cloud Academy is awesome!</P>
</BODY>
</HTML>
  • Now, using S3, I’ll create a bucket called cloudacademyblog and upload our index.html file to it. If you’re not sure how to do that, read Uploading Objects into Amazon S3 in the Amazon Simple Storage Service Console User Guide.
  • While viewing our bucket’s Static Website Hosting properties within the AWS S3 console, we’ll need to
    – enable website hosting
    – note our endpoint (mine is cloudacademyblog.s3-website-us-east-1.amazonaws.com) which will be our website address
    – set index.html as the Index Document as shown below
Static Website: Enabling website hosting
  • Also in Properties, under permissions, you’ll need to “add a bucket policy” like the one below (replacing your bucket name for cloudacademyblog is in this example):
{
    "Statement":[{
	"Sid":"PublicReadForGetBucketObjects",
        "Effect":"Allow",
	  "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::cloudacademyblog/*"
      ]
    }
  ]
}

That’s it. Very simple. Very quick.

Let’s now check out our new website by going to cloudacademyblog.s3-website-us-east-1.amazonaws.com.

Here’s what we see:
Static website: Example
Not the greatest website ever built but certainly up there with the cheapest. You can, of course, add new pages, links, and images, but keep in mind that you should stick to HTML – as this is a static website. If your site requires fancy PHP (a WordPress, site, for example) you’ll need to come up with another solution. Or just read part two of this post.

Static websites: how much do they cost?

If you were to leave it at that and not worry about changing the domain name to something a little more user-friendly, then this site is virtually free. If you keep adding content – especially videos and image files, your costs are still going to be reasonably well contained as there are no set-up fees or commitments to begin using the service and you only pay for what you use.

Going static offers some terrific advantages:

  • A fast and efficient way to deliver content.
  • Does not require any code or backend databases, which can make content delivery more secure.
  • Uses simple, clean URLs for addresses.
  • Takes advantage of web caching systems, further boosting performance.
  • Is compatible with every type of web server technology.

But let’s not forget the disadvantages:

  • You won’t be able to incorporate any interactive functionality or e-commerce tools.
  • There’s no way to use popular CMS systems like WordPress.

One of the best things about AWS is that you can play around as much as you want and as long as you take some reasonable precautions you can’t get yourself into too much trouble. So what are you waiting for? Grab yourself an AWS account if you haven’t already got one and build yourself a static website.

Look out for part two of this article when I will take you through the cheapest option on setting up a dynamic website on AWS.

Cloud Academy