Amazon Web Services is one of the early and also themost successful implementations of the Public Cloud.Amazon initially started offering a Cloud basedMessage Queuing service called Amazon SimpleQueue Service or SQS.Other services are Mechanical Turk, Simple StorageService (S3), Elastic Compute Cloud (EC2), A CDNservice called CloudFront, a flexible and distributeddatabase service called SimpleDB.
Amazon recently announced the availability of MySQLin the Cloud through a service called Relational DataService (RDS).
Amazon offers the core capabilities to run a completeweb application or a Line of Business application, it isobvious that it is Infrastructure as a Service (IaaS).AWS is truly the platform of the platforms.You can choose an OS, App server and theprogramming language of your choice.AWS SDK and API is available for most of the popularlanguages including Java, .NET, Python and Ruby.
S3Amazon’s Simple Storage Service or S3 is a great wayto store data on the Cloud that can be accessed byany application with access to the Internet.S3 can store any arbitrary data as objectsaccompanied by metadata. These objects can beorganized into buckets. Every bucket and object has aset of permissions defined in the Access Control List(ACL).
The objects stored in S3 can be anything from adocument, a media file, serialized objects or evenVirtual Machine images.Each object can be 5GB in size while the metadata canbe up to 2KB.All the objects can be accessed using simple REST orSOAP calls.
S3 an ideal storage solution to centrally store andretrieve data across multiple clients.S3 can also be treated as a virtual file system toprovide persistence storage capabilities toapplications.
EC2EC2 is hiring a server running at a remote location.These servers are actually Virtual Machine imagesrunning on top of Amazon’s powerful data centers.Amazon calls these virtualized server instances asAmazon Machine Images or AMI.
These instances come in different sizes that you canchoose from.Please refer to http://aws.amazon.com/ec2/#instance formore details on the instance types.There are many pre-configured AMIs that you can choosefrom.The typical workflow on EC2 is that you choose a pre-configured AMI, launch that AMI, customize it by addingadditional software and by loading an app and finally, savethat AMI as your custom AMI on S3.
You can launch multiple instances of your AMI andattach them to an IP called the Elastic IP. Because ofthe dynamic capability of launching multiple instancesof the same AMIs to scale up and terminating them toscale down, it is called Elastic Compute Cloud.
SQSSQS is the message queue on the Cloud. It supportsprogrammatic sending of messages via web serviceapplications as a way to communicate over theInternet.Message Oriented Middleware (MOM) is a popularway of ensuring that the messages are delivered onceand only once.Moving that infrastructure to the web by yourself isexpensive and hard to maintain.
SQS gives you this capability on-demand and throughthe pay-by-use model. SQS is accessible through RESTand SOAP based API.
Cloud FrontWhen your web application is targeting the global users, itmakes sense to serve the static content through a serverthat is closer to the user.One of the solutions based on this principle is calledContent Delivery Network (CDN).CloudFront utilizes S3 by replicating the buckets acrossmultiple edge servers.Amazon charges you only for the data that is servedthrough CloudFront and there is no requirement forupfront payment.
SimpleDBIf S3 offers storage for arbitrary binary data,SimpleDB is a flexible way to store Name/Value pairson the Cloud.This dramatically reduces the overhead of maintaininga relational database continuously.SimpleDB is accessed through REST and HTTP callsand can be easily consumed by any client that canparse a HTTP response.
RDSAmazon RDS offers relational database on the Cloud.It is based on the popular MySQL database.When you are moving a traditional Line of Businessapplication to the Cloud and want to maintain highfidelity with the existing systems, you can chooseRDS.The advantage of RDS is that you do not install,configure, manage and maintain the DB server.
You only consume it and Amazon takes care of therest.Routine operations like patching the server andbacking up the databases are taken care and you onlyconsume the service.RDS is priced on Pay-as-you-go model and there is noupfront investment required. It is accessible throughthe REST and SOAP based API.
Scalable Web ApplicationIf you are an aspiring entrepreneur and want to go-livewith your app without an upfront investment, Amazon isthe place to go.By running your web app on Amazon, you can dynamicallyscale you application on demand and only pay for what youuse.This can be the best playground for you to determine theserver capacity needs and asses the peak traffic patternsbefore the commercial launch of your web app.
Line of Business ApplicationIf your enterprise has to open up an internal LOBapplication to its employees and trading partners, it canextend the application to the Cloud by leveraging aconcept of AWS called Virtual Private Cloud (VPC). This isachieving the Hybrid Cloud capabilities by partially movingan application to the Cloud while still running the sensitiveand proprietary part of the LOB application secured behindthe firewall.VPC enables organizations to securely extend itself to theCloud.
Data ArchivalData that is not very frequently accessed but may berequired due to data retention policies can be easilyarchived on Amazon S3.By building a simple, searchable frontend, this datacan be searched and retrieved on-demand. Moving the data to the Cloud will ensure that isavailable from any where and any time.
High-Performance Computing On DemandFor many enterprises, there is an occasional requirementof high performance computing.Investing in high-end servers is not an optimal solutionbecause they may not be utilized after the task is done.With AWS, companies can virtually ‘hire’ as muchcomputing power as they need and pay only for what theyused.This will eliminate the expensive proposition of investing inthe infrastructure.
Scalable Media DeliveryA TV channel might want to start delivering the recordedshows to its global audience.Since most of the content is static, they can leverage theCDN capabilities.Signing up with services like Akamai and LimeLight can beexpensive.Because the media content is already stored on S3, it isvery easy and cost effective to leverage Amazon’sCloudFront to deliver the media content through thegeographically spread edge locations.