Amazon's AWS offering has now become a huge operation compared to its launch way back in 2006...when I say huge, I mean huge. To give you an idea of scale, the comparable infrastructure and computing power that supported the entire AWS offering back in 2006 is now added each and every day to satisfy ever growing demand.
AWS is spread across eight geographic areas, with local edge locations to provide proxy caching nearest to your location. This provides both redundancy, high availability and improved performance.
AWS provides a fairly complete set of services to run almost anything you like and practically on a scale that is only really limited by how much you're willing to spend. This gives CIOs and CTOs options to play with but there is still some reticence about what should or should not 'go into the cloud'.
So what can it offer you? Well, helpfully AWS provide 'Reference Architectures' to help you conceptualise particular architecture scenarios. You can find approaches to help you with large scale processing, batch processing, disaster recovery, online gaming and of course their bread and butter ecommerce approach.
Is it secure?
Debates still rage over security in the cloud and while cloud services are maturing it would be wrong to simply assume that the security aspect will somehow simply go away.
AWS is probably as secure as it can be, at least on paper. AWS will reassure you with multi-factor authentication, encryption and various security accreditations up to military levels.
You can even implement your own security models to your own standards. The question has to be answered, though, do you trust AWS to manage and protect your data and services? On the flip side given that AWS have 'handed over the keys' to the customer to build their own services security becomes a shared responsibility.
For each customer the view, approach and even the decision will be different. Local laws may also effect your decision about what type of data you are allowed to host.
What technology is available?
The following are some of the key services and solutions on offer at AWS.
Compute Ec2 - This is the 'elastic compute' cloud virtual machine instances which can be 'rented' and configured by the characteristic of the workload from mobile phone to large scale cluster systems. Dedicated hardware is assigned for high instance usage.
Cloud watch monitoring - This service will auto-scale your environment based on performance monitoring and will add more instances as required based on demand. Transport for London use this service to scale their operations on demand.
Workspace - This is a fully managed desktop environment using the G2 graphics instance supporting desktop products like Windows on Nvidia GRID GK104 Kepler GPU's
Simple storage - S3 is a highly scalable storage platform used by the likes of DropBox, Shazam and of course Amazon's retail business. Objects held within S3 are copied around the availability zones to reduce delays and improve caching.
Elastic block store - This provides persistent block level storage volumes for use with Amazon EC2 instances. Replicated across availability zones.
Glacier - Backup for long term archival. Pricing is based on number of requests (metered) Can take three to five hours to retrieve objects.
AWS public data sets - These are free to use data sets hosted on a Hadoop platform they include data sets like: NASA NEX, Human Genome, Census Data and PubChem.
Kinesis - Kinesis is a managed service that scales elastically for real-time processing of streaming big data and is used in conjunction with EC2 instances.
There's more?
In addition to these 'virtual' services, AWS can even provide dedicated physical connections such as dual 10gig lines into their data centres from your offices should you require it.
If you work in research then AWS can be useful from a grant point-of-view. You can now use a pre-pay solution where you can call off costs/credits as you go.
If you're a heavy user then AWS also allow you to 'bid' for services via their spot market. This is a pricing model targeted for batch processing and allows ad-hoc provisioning at a cheaper rate than normal provisioning costs.
The conclusion
For the average business you are more likely to choose a hybrid approach, where you choose to run your tightly coupled development in house and simply use AWS for everything else. The point is you have a choice, and AWS will almost certainly solve at least some of your challenges.
And you shouldn't forget that other cloud service providers are available, although probably not on the scale of AWS...
Gareth Baxendale MBCS CITP runs a personal blog.