0845 345 3462

blog / ebooks

Behold, more Amazon Web Services

Pie Town

Continuing on from my last post about Amazon Web Services, I shall now introduce you to the lesser known services they provide.

Read more…

Edward wrote this on 27.03.08 – what do you think?
It's filed in the Development, Internet, Web technology box

Behold, Amazon Web Services

pie_shop

Developers love new toys and when those toys make it easier to develop and build exciting new solutions then we love them even more. When I first heard about Amazon’s new web services I was quite excited, releasing their internal tools and services to the public is a great idea that will hopefully benefit us all. In this series of blog posts I will introduce each service and give an overview of how we could use them and why we should be excited! I will first cover the big three.

Elastic Compute Cloud (EC2)

“Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides re-sizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.”

Translated, this means that developers can create ‘virtual machines‘ on Amazon’s server. Amazon makes it easy to scale the resources your application has on offer, so as your application/site becomes more popular and demands more computing power EC2 helps you enable those extra resources.

Simple Storage Service (S3)

“Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web.”

Translated, this means that developers can store any type of file (images, audio, html files, office docs etc) on Amazon servers where it is kept securely. These files can then be accessed anywhere in the world quickly and easily via REST or SOAP interfaces. S3 was built to be scalable so much like the EC2 it will add and remove resources as an when it needs them.

Simple DB

“Amazon SimpleDB is a web service for running queries on structured data in real time… Traditionally, this type of functionality has been accomplished with a clustered relational database that requires a sizable upfront investment, brings more complexity than is typically needed, and often requires a DBA to maintain and administer. In contrast, Amazon SimpleDB is easy to use and provides the core functionality of a database - real-time lookup and simple querying of structured data - without the operational complexity.”

SimpleDB as it says on the tin is a simple database, providing a lightweight alternative to system heavy databases such as MySQL or Postgres. SimpleDB likes to store ‘items’ within a ‘domain’, each ‘item’ can have many ‘attributes’ and each ‘attribute’ can have multiple ‘values’.
Here is the example table given by Amazon, as you can see each item can have multiple colours just like clothes in real life:

AWS SimpleDB table

These items can then be queried much like a traditional database which means we can ask the database questions about its items and receive answers back, a query to retrieve all blue sweaters would look like (colour = blue INTERSECTION description = sweater), INTERSECTION acts like an AND.

If we add these three services together we have a very powerful platform on which to build new web applications. Now we know what each service does I shall give you a nice analogy of how they tie together.

Imagine a small pie shop that has a small but steady stream of customers, about 10 pie fiends per day. One of the pie lovers tells two friends about how great this pie shop is, they then tell two friends who then tell two friends etc etc, you know the story. Suddenly the little pie shop has thousands of customers coming from all over the place to get a taste of the now famous pies, however the owner of the pie shop is unable to cope with the demand, what they really need is a pie superstore! The next day they move down the road into the pie superstore and start producing and selling enough pies to feed a small army, everyone is happy… until the pie frenzy is over and the owner is left with too much pie making machinery, a huge lease to pay on the pie superstore and a smaller customer base of pie devotees. What would be ideal to match the dwindled demand would be a nice new pie convenience store, the owner ups and moves into a space where he can bake and store all his pies and still be able to cover all his overheads, once again everyone is happy.

As you can see, what the pie shop owner really needed was a shop that had ‘elastic’ walls. When the demand for pies was high they would be able to rent more pie making machinery and still have room to store them all, when demand was low they could return the machinery they weren’t using but still have room to store the already baked pies. All the luxury of moving into a suitably sized shop but without the hassle of having to buy and physically move all the equipment.

To move this into the online world, imagine a small Facebook application that only has a handful of users - the processing power, bandwidth and storage needed is going to be tiny. However, due to the viral nature of the web our small Facebook application could grow exponentially in a matter of days, demanding more processing power, bandwidth and storage. If we used traditional hosting then we may have to find a new host that can handle our demands (or pay through the nose for bursting our agreed bandwidth) but if we use Amazon web services then we don’t have to worry, our application can expand and contract as demand sees fit.

If you’d like to find out more then check out these links:

Amazon Web Services

Building Facebook applications on AWS

Next time we shall see what other services Amazon has exposed for us.

Edward wrote this on 25.02.08 – 5 comments
It's filed in the Development, Internet, Web technology box

This blog ain’t never done

Josh says ‘it’s done’.

Bollocks more like.

Since when was a website ever done? This website, blog, wiki or whatever it is now or turns into WILL NEVER BE DONE :)

Done means finished, completed, never to be touched again. The web isn’t like that.

Read more…

Will McInnes wrote this on 17.11.07 – 11 comments
It's filed in the Development, Marketing, NixonMcInnes, Our sites box