Amazon Web Services
Document Sample


CLOUD COMPUTING -
AMAZON
Nirvikar
What is Cloud computing
Cloud computing is a general term for anything that involves
delivering hosted services over the Internet. These services are
broadly divided into three categories: Infrastructure-as-a-
Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-
a-Service (SaaS). A cloud service has three distinct
characteristics that differentiate it from traditional hosting. It is
sold on demand, typically by the minute or the hour; it is elastic
-- a user can have as much or as little of a service as they want
at any given time; and the service is fully managed by the
provider.
Types of Cloud :
A cloud can be private or public. A public cloud sells services
to anyone on the Internet. (Currently, Amazon Web Services is
the largest public cloud provider).
A private cloud is a proprietary network or a datacenter that
supplies hosted services to a limited number of people. When
a service provider uses public cloud resources to create their
private cloud, the result is called a virtual private cloud.
Private or public, the goal of cloud computing is to provide easy,
scalable access to computing resources and IT services.
requirements change.
Introduction :
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that
provides resizable compute capacity in the cloud.
Amazon EC2’s simple web service interface allows you to obtain
and configure capacity with minimal friction. It provides you with
complete control of your computing resources and lets you run on
Amazon’s proven computing environment.
Amazon EC2 reduces the time required to obtain and boot new
server instances to minutes, allowing you to quickly scale capacity,
both up and down, as your computing requirements change.
Amazon EC2 changes the economics of computing by allowing you
to pay only for capacity that you actually use.
Overview of cloud computing including Google, Salesforce, Amazon, Microsoft,
Yahoo & Zoho
Amazon Elastic Compute Cloud (also
known as "EC2") is a commercial web
service that allows customers to rent
computers on which to run their own
computer applications.
A customer can create, launch, and
terminate server instances as
needed, paying by the hour for
active servers, hence the term
"elastic".
A customer can set up server
instances in zones insulated from
each other for most failure causes so
that one may be a backup for the
other and minimize down time
What is Amazon EC2
Amazon EC2, S3 along with other components for a
Cloud infrastructure
EC2, provides a resizable compute capacity over
the cloud using web services
Designed to make web scale computing easier for
various needs
Amazon EC2 service highlights
Elastic
Completely controlled
Flexible
Designed for use with Amazon Web services
Reliable
Secure
Inexpensive
On Demand instances
Reserved instances
Amazon EC2 functionality
Use webservices interface to launch instances with variety of
operating systems, load them into your custom application
environment, manage your network access permissions and run your
image using as many few systems as you desire
To use Amazon
Create Amazon Machine Image
Upload AMI into Amazon S3
Use Amazon EC2 to configure network security and access
Choose instance types and operating system. Start/terminate and
monitor your instances using webservice api’s
Determine whether you want to run in multiple locations, utilize static IP
endpoints, or attach a persistent block storage for your instances
Pay only for resources you consume, like instance hours and data transfer
Amazon EC2 Features
Amazon Elastic Block store
Multiple Locations
Elastic IP Addresses
Amazon Cloud Watch
Auto scaling
Elastic Load Balancing
Features - EC2
Amazon Elastic Block Store (EBS) offers persistent storage for
Amazon EC2 instances. Amazon EBS volumes provide off-instance
storage that persists independently from the life of an instance.
Amazon EBS volumes are highly available, highly reliable volumes
that can be attached to a running Amazon EC2 instance and are
exposed as standard block devices.
Amazon EBS volumes offer greatly improved durability over local
Amazon EC2 instance stores, as Amazon EBS volumes are
automatically replicated on the backend (in a single Availability
Zone).
Amazon EBS provides the ability to create point-in-time
consistent snapshots of your volumes that are then stored in
Amazon S3, and automatically replicated across multiple
Availability Zones.These snapshots can be used as the starting
point for new Amazon EBS volumes, and can protect your data for
long term durability.
Multiple Locations
Amazon EC2 provides the ability to place instances in
multiple locations.Amazon EC2 locations are composed of
Regions and Availability Zones.
Availability Zones are distinct locations that are
engineered to be insulated from failures in other
Availability Zones and provide inexpensive, low latency
network connectivity to other Availability Zones in the
same Region.
By launching instances in separate Availability Zones, you
can protect your applications from failure of a single
location. Regions consist of one or more Availability Zones,
are geographically dispersed, and will be in separate
geographic areas or countries, Europe and USA.
Elastic IP Addresses
Elastic IP addresses are static IP addresses designed for dynamic
cloud computing. An Elastic IP address is associated with your
account not a particular instance, and you control that address
until you choose to explicitly release it.
Unlike traditional static IP addresses, however, Elastic IP
addresses allow you to mask instance or Availability Zone failures
by programmatically remapping your public IP addresses to any
instance in your account.
Rather than waiting on a data technician to reconfigure or
replace your host, or waiting for DNS to propagate to all of your
customers, Amazon EC2 enables you to engineer around
problems with your instance or software by quickly remapping
your Elastic IP address to a replacement instance.
Amazon CloudFront
Amazon CloudFront is a web service for content delivery. It integrates
with other Amazon Web Services to give developers and businesses an
easy way to distribute content to end users with low latency, high data
transfer speeds, and no commitments.
Amazon CloudFront delivers your content using a global network of edge
locations. Requests for your objects are automatically routed to the
nearest edge location, so content is delivered with the best possible
performance.
Amazon CloudFront works seamlessly with Amazon Simple Storage
Service (Amazon S3) which durably stores the original, definitive
versions of your files. Like other Amazon Web Services, there are no
contracts or monthly commitments for using Amazon CloudFront – you
pay only for as much or as little content as you actually deliver through
the service.
Amazon CloudFront Functionality
In Amazon CloudFront, your objects are organized into distributions. A distribution specifies the location of the
original version of your objects. A distribution has a unique CloudFront.net domain name (e.g.
abc123.cloudfront.net) that you can use to reference your objects through the network of edge locations.
To use Amazon CloudFront, you:
Store the original versions of your files in an Amazon S3 bucket.
Create a distribution to register that bucket with Amazon CloudFront through a simple API call.
Use your distribution’s domain name in your web pages or application. When end users request an object
using this domain name, they are automatically routed to the nearest edge location for high performance
delivery of your content.
Pay only for the data transfer and requests that you actually use.
Auto Scaling
Auto Scaling allows you to automatically scale your Amazon
EC2 capacity up or down according to conditions you
define.
With Auto Scaling, you can ensure that the number of
Amazon EC2 instances you’re using scales up seamlessly
during demand spikes to maintain performance, and scales
down automatically during demand lulls to minimize costs.
Auto Scaling is particularly well suited for applications
that experience hourly, daily, or weekly variability in
usage.
Amazon Simple Queue Service
Amazon Simple Queue Service (SQS) provides access to the reliable
messaging infrastructure used by Amazon. You can send and retrieve
messages from anywhere using simple REST-based HTTP requests.
You can create an unlimited number of queues and send an unlimited
number of messages. The messages are stored by Amazon across
multiple servers and data centers to provide the redundancy and
reliability you need from a messaging system.Each message can contain
up to 8KB of text data.
The only Unicode characters that are legal in a message are #x9 | #xA |
#xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to
#x10FFFF].Each queue can have a configurable visibility timeout, which
is used to control access to the queue by multiple readers.Once an
application reads a message from the queue, the message will not be
visible to any other readers until the timeout period expires.
AWS Management console
A Web-based Interface to
Manage Your Services.Access
and manage Amazon’s
growing suite of
infrastructure web services
through our new point-and-
click, web-based user
interface. The AWS
Management Console gives
you a quick, global picture of
your cloud computing
environment so that you can
see what resources you’re
operating and conveniently
manage those resources.
AWS Dashboard
The AWS Management
Console provides a
graphical user
interface for Amazon
EC2, Amazon Elastic
MapReduce, and
Amazon CloudFront,
with additional
Amazon infrastructure
services
Available instances - Cloud
EC2 uses Xen virtualization.
Each virtual machine, called
an "instance", functions as a
virtual private server in one
of three sizes; small, large or
extra large. Amazon.com
sizes instances based on "EC2
Compute Units" — the
equivalent CPU capacity of
physical hardware.One EC2
Compute Unit equals 1.0-1.2
GHz 2007 Opteron or 2007
Xeon processor.
AMI -Amazon Machine Images
An Amazon Machine Image (AMI)
is simply a packaged-up
environment that includes all
the necessary bits to set up and
boot your instance. Your AMIs
are your unit of deployment. You
might have just one AMI or you
might compose your system out
of several building block AMIs
(e.g., webservers, appservers,
and databases).Once you create
a custom AMI, you will need to
upload it to Amazon S3.
EBS – Elastic Block Store
Amazon EBS volumes are
created in a particular
Availability Zone and can be
from 1 GB to 1 TB in size. Once
a volume is created, it can be
attached to any Amazon EC2
instance in the same Availability
Zone. Once attached, it will
appear as a mounted device
similar to any hard drive or
other block device. At that
point, the instance can interact
with the volume just as it would
with a local drive, formatting it
with a file system or installing
applications on it directly.
AWS -Security Group
The Security Group defines
which ports are opened in
Amazon's firewall to allow
incoming connections to your
instance. For sub-accounts, the
default group we provide allows
ingress on the SSH, HTTP, and
HTTPS ports (22, 80 and 443
respectively).Instances within
the same security group will be
able to communicate with each
other.
Amazon Security Groups are EC2
region-specific.You cannot use a
Security Group that you created
in EC2-US for an instance in EC2-
EU.
Amazon Simple Storage Service (S3)
Amazon S3 is storage for the Internet. It
is designed to make web-scale
computing easier for
developers.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. Store any
amount of data inexpensively and
securely, while ensuring that the data
will always be available when you
need it.
Amazon S3 Features
Reliability:It is designed to tolerate failures and repair the system very
quickly with minimal or no downtime. Amazon provides a service-level
agreement (SLA) to maintain 99.99 percent availability.
Simplicity:S3 is built on simple concepts and provides great flexibility
for developing your applications. You can build more complex storage
schemes, if needed, by layering additional functions on top of S3
components.
Scalability:The design provides a high level of scalability and allows an
easy ramp-up in service when a spike in demand hits your Web-scale
applications.
Inexpensive:S3 rates are very competitive with other enterprise and
personal data-storage solutions on the market.
The three basic concepts underpinning the S3 framework -
1).Buckets
Buckets are the fundamental building blocks. Each object stored
in Amazon S3 is contained within a bucket.Think of a bucket as
analogous to a folder, or a directory, on the file system.
One of the key distinctions between a file folder and a bucket is
that each bucket and its contents are addressable using a URL.
For example, if you have a bucket named "nirvikar," it can be
addressed using the URL http://nirvikar.s3.amazonaws.com.
Buckets cannot be nested within each other, so you can't create
a bucket within a bucket. You can affect the geographical
location of your buckets by specifying a location constraint when
you create them. This will automatically ensure that any objects
that you store within that bucket will be stored in that
geographical location.
Bucket names need to conform to the following S3
requirements:
The name must start with a number or a letter and must be
between 3 and 255 characters.
A valid name can contain only lowercase letters, numbers,
periods, underscores, and dashes.Though names can have
numbers and periods, they cannot be in the IP address format.
You cannot name a bucket 192.168.1.254.
The bucket namespace is shared among all buckets from all of
the accounts in S3. Your bucket name must be unique across the
entire S3.
The name cannot end with a dash. For example, myfavorite-
.bucket.com is invalid.
2). Objects
Objects contain the data stored within the buckets in S3. Think of an
object as the file you want to store. Each object stored is composed of
two entities: data and metadata.
The data is the actual thing being stored, such as a PDF file, Word
document, a video file, etc. The stored data also has associated
metadata for describing the object.Some examples of metadata are the
content type of the object being stored, the date the object was last
modified, and any other metadata specific to you or your application.
The metadata for an object is specified by the developer as key-value
pairs when the object is sent to S3 for storage.Unlike the limitation on
the number of buckets, there are no restrictions on the number of
objects.
You can store an unlimited number of objects in your buckets, and each
object can contain up to 5 GB of data.
3).Keys
Each object stored within an S3 bucket is identified using a unique key.
This is similar in concept to the name of a file in a folder on your file
system. The file name within a folder on your hard drive must be
unique.
Each object inside a bucket has exactly one key. The name of the
bucket and the key are together used to provide the unique
identification for each object stored in S3.
Every object within S3 is addressable using a URL that combines the S3
service URL, bucket name, and unique key. If you store an object with
the key my_favorite_video.mov inside the bucket named nirvikar, that
object can be addressed using the URL
http://nirvikar.s3.amazonaws.com/
Security
Authentication: Ensures that the request is being made by the user that
owns the bucket or object. Each S3 request must include the Amazon
Web Services access key that uniquely identifies the user.
Authorization: Ensures that the user trying to access the resource has
the permissions or rights to the resource. Each S3 object has an access-
control list (ACL) associated with it that explicitly identifies the grants
and permissions for that resource.
Integrity: Each S3 request must be digitally signed by the requesting
user with an Amazon Web Services secret key. On receipt of the
request, S3 will check the signature to ensure that the request has not
been tampered with in transit.
Encryption: You can access S3 through the HTTPS protocol to ensure
that the data is transmitted through an encrypted connection.
Nonrepudiation: Each S3 request is time-stamped and serves as proof of
the transaction.
Amazon Instance Types - Standard
One Ec2 unit provides
Equivalent CPU capacity of 1.0-1.2 GHz 2007 opteron or 2007
Xeon processor
Small Instance
1.7 GB RAM, 1 EC2 compute unit, 160 GB instance storage, 32
bit platform
Large Instance
7.5 GB of RAM, 4 EC2 units(2 virtual cores with 2 EC2 compute
units each)
850 GB instance storage, 64 bit platform
Extra Large Instance
15GB, 8 EC2 compute units, (4 virual cores with 2 EC2 units each),
1690 GB of instance storage, 64 bit platform
Amazon - High CPU Instances
High-CPU Medium instance 1.7GB of Mem, 5
EC2 units, 2 Virtual cores with 2.5 EC2 units,
350 GB of storage, 32 bit platform
High CPU extra large instance, 7GB of Mem,
20 EC2 instances, (8 virtual cores with 2.5
EC2 units), 1690 GB of instance storage, 64
bit platform
Amazon operating systems and
software
Operating systems
Red Hat Enterprise Linux , openSUSE Linux , Ubuntu Linux , Fedora , Gentoo Linux, Debian
Windows Server 2003
Oracle Enterprise Linux
OpenSolaris
Software
Databases
IBM DB2 , IBM Informix Dynamic Server, Microsoft SQL Server Standard 2005, MySQL Enterprise, Oracle 11g
Web Hosting
Apache HTTP, IIS/Asp.Net , IBM Lotus Web Content Management IBM WebSphere Portal Server
Batch Processing
Hadoop, Condor, Open MPI
Application Servers
IBM Webspehere, Jboss, Oracle WebLogic Server
Application Development
IBM Smash, Jboss Enterprise Edition, Rub On Rails
Video Encoding and Streaming
Wowza Media Server Pro
Windows Media Server
Amazon Pricing contd..
Internet data transfer charges
All Data Transfer In $0.10 per GB
Data Transfer out
First 10 TB per Month $0.17 per GB
Next 40 TB per Month $0.13 per GB
150 TB per Month $0.10 per GB
Amazon EBS volumes
$0.10 per GB-month of provisioned storage
$0.10 per 1 million I/O requests
Amazon EBS snapshots to Amazon S3
$0.15 per GB-month of data stored
$0.01 per 1,000 PUT requests (when saving a snapshot)
$0.01 per 10,000 GET requests (when loading a snapshot)
Elastic IP addresses
$0.01 per non-attached Elastic IP address per complete hour
$0.00 per Elastic IP address remap – first 100 remaps / month
$0.10 per Elastic IP address remap – additional remap / month over 100
Elastic load balancing
$0.025 per Elastic Load Balancer-hour (or partial hour)
$0.008 per GB of data processed by an Elastic Load Balancer
Amazon Cloud Watch
$0.015 per instance-hour (or partial hour)
Get documents about "