3. Amazon Web Services is one of the early and also the
most successful implementations of the Public Cloud.
Amazon initially started offering a Cloud based
Message Queuing service called Amazon Simple
Queue Service or SQS.
Other services are Mechanical Turk, Simple Storage
Service (S3), Elastic Compute Cloud (EC2), A CDN
service called CloudFront, a flexible and distributed
database service called SimpleDB.
4. Amazon recently announced the availability of MySQL
in the Cloud through a service called Relational Data
Service (RDS).
5. Amazon offers the core capabilities to run a complete
web application or a Line of Business application, it is
obvious that it is Infrastructure as a Service (IaaS).
AWS is truly the platform of the platforms.
You can choose an OS, App server and the
programming language of your choice.
AWS SDK and API is available for most of the popular
languages including Java, .NET, Python and Ruby.
6. S3
Amazon’s Simple Storage Service or S3 is a great way
to store data on the Cloud that can be accessed by
any application with access to the Internet.
S3 can store any arbitrary data as objects
accompanied by metadata. These objects can be
organized into buckets. Every bucket and object has a
set of permissions defined in the Access Control List
(ACL).
7. The objects stored in S3 can be anything from a
document, a media file, serialized objects or even
Virtual Machine images.
Each object can be 5GB in size while the metadata can
be up to 2KB.
All the objects can be accessed using simple REST or
SOAP calls.
8. S3 an ideal storage solution to centrally store and
retrieve data across multiple clients.
S3 can also be treated as a virtual file system to
provide persistence storage capabilities to
applications.
9.
10. EC2
EC2 is hiring a server running at a remote location.
These servers are actually Virtual Machine images
running on top of Amazon’s powerful data centers.
Amazon calls these virtualized server instances as
Amazon Machine Images or AMI.
11. These instances come in different sizes that you can
choose from.
Please refer to http://aws.amazon.com/ec2/#instance for
more details on the instance types.
There are many pre-configured AMIs that you can choose
from.
The typical workflow on EC2 is that you choose a pre-
configured AMI, launch that AMI, customize it by adding
additional software and by loading an app and finally, save
that AMI as your custom AMI on S3.
12. You can launch multiple instances of your AMI and
attach them to an IP called the Elastic IP. Because of
the dynamic capability of launching multiple instances
of the same AMIs to scale up and terminating them to
scale down, it is called Elastic Compute Cloud.
13.
14. SQS
SQS is the message queue on the Cloud. It supports
programmatic sending of messages via web service
applications as a way to communicate over the
Internet.
Message Oriented Middleware (MOM) is a popular
way of ensuring that the messages are delivered once
and only once.
Moving that infrastructure to the web by yourself is
expensive and hard to maintain.
15. SQS gives you this capability on-demand and through
the pay-by-use model. SQS is accessible through REST
and SOAP based API.
16. Cloud Front
When your web application is targeting the global users, it
makes sense to serve the static content through a server
that is closer to the user.
One of the solutions based on this principle is called
Content Delivery Network (CDN).
CloudFront utilizes S3 by replicating the buckets across
multiple edge servers.
Amazon charges you only for the data that is served
through CloudFront and there is no requirement for
upfront payment.
17.
18. SimpleDB
If S3 offers storage for arbitrary binary data,
SimpleDB is a flexible way to store Name/Value pairs
on the Cloud.
This dramatically reduces the overhead of maintaining
a relational database continuously.
SimpleDB is accessed through REST and HTTP calls
and can be easily consumed by any client that can
parse a HTTP response.
19.
20. RDS
Amazon RDS offers relational database on the Cloud.
It is based on the popular MySQL database.
When you are moving a traditional Line of Business
application to the Cloud and want to maintain high
fidelity with the existing systems, you can choose
RDS.
The advantage of RDS is that you do not install,
configure, manage and maintain the DB server.
21. You only consume it and Amazon takes care of the
rest.
Routine operations like patching the server and
backing up the databases are taken care and you only
consume the service.
RDS is priced on Pay-as-you-go model and there is no
upfront investment required. It is accessible through
the REST and SOAP based API.
24. Scalable Web Application
If you are an aspiring entrepreneur and want to go-live
with your app without an upfront investment, Amazon is
the place to go.
By running your web app on Amazon, you can dynamically
scale you application on demand and only pay for what you
use.
This can be the best playground for you to determine the
server capacity needs and asses the peak traffic patterns
before the commercial launch of your web app.
25. Line of Business Application
If your enterprise has to open up an internal LOB
application to its employees and trading partners, it can
extend the application to the Cloud by leveraging a
concept of AWS called Virtual Private Cloud (VPC). This is
achieving the Hybrid Cloud capabilities by partially moving
an application to the Cloud while still running the sensitive
and proprietary part of the LOB application secured behind
the firewall.
VPC enables organizations to securely extend itself to the
Cloud.
26. Data Archival
Data that is not very frequently accessed but may be
required due to data retention policies can be easily
archived on Amazon S3.
By building a simple, searchable frontend, this data
can be searched and retrieved on-demand.
Moving the data to the Cloud will ensure that is
available from any where and any time.
27. High-Performance Computing On
Demand
For many enterprises, there is an occasional requirement
of high performance computing.
Investing in high-end servers is not an optimal solution
because they may not be utilized after the task is done.
With AWS, companies can virtually ‘hire’ as much
computing power as they need and pay only for what they
used.
This will eliminate the expensive proposition of investing in
the infrastructure.
28. Scalable Media Delivery
A TV channel might want to start delivering the recorded
shows to its global audience.
Since most of the content is static, they can leverage the
CDN capabilities.
Signing up with services like Akamai and LimeLight can be
expensive.
Because the media content is already stored on S3, it is
very easy and cost effective to leverage Amazon’s
CloudFront to deliver the media content through the
geographically spread edge locations.
29. A Review of AWS
http://aws.amazon.com/console/
39. Software Development Kits (SDKs)
AWS SDK for Android
AWS SDK for iOS
AWS SDK for Java
AWS SDK for .NET
AWS SDK for PHP
AWS SDK for Ruby
AWS Toolkit for Eclipse
AWS Toolkit for Visual Studio