9. Amazon Web Services Details of AWS design are not made public by Amazon!
Amazon Web Services - AWS AWS consists of a big collectionof building-block Cloud services. The services are designed to work independently, so that you can use one without having to know anything at all about the others. They are, however, also designed to work well together.
In 2006,Amazon Web Services (AWS), a subsidiary of Amazon.com, began offering three web services that allowed organizations and individuals to use Amazon’s enterprise-class computing infrastructure on an as-needed basis and at commodity prices. - Elastic Compute Cloud (EC2) rented Linux virtual machines at a few cent per CPU hour; users could rent dozens, hundreds, or even thousands of CPUs simultaneously. - Simple Storage Service (S3) allowed users to store data at a cost of a few cents per GBper month, with bandwidth priced at several cents per gigabyte transferred outside Amazon’s network. - Simple Queue Service (SQS) provided a reliable messaging service, making it relatively straightforward to coordinate a cluster of computers on a parallelizable large-scale problem, at a cost of several cents per thousand messages. All of these services weresold without startup fees, and with no minimum pricing, potentially making them attractive for individuals, universities and corporations alike.
AWS has now the largest selection of services of any cloud provider Amazon Web Services Cloud Platform provides services for - Compute - Networking - Storage - Content Delivery - Database - Deployment and Management - Application Services Only general information available
AWS Today Amazon offers a lot of services!
Compute › Amazon Elastic Compute Cloud (EC2) › Amazon Elastic MapReduce Database › Amazon Relational Database Service (RDS) › Amazon DynamoDB Storage › Amazon Simple Storage Service (S3) › Amazon Elastic Block Store (EBS)
Amazon Web Services Amazon Web Services (AWS) provides many distinct services. All of AWS are billed pay-as-you-go. Note: pay-as-you-go is commonly phrased as pay-for-what-you-use Need to get an AWS account to develop in the AWS cloud. Signing up for AWS signs you up all AWS services. AWS can be managed in a few different ways - AWS command line tools - AWS management console – web-based console
Regions and Availability Zones Amazon has data centers in different areas of the world (for example, North America, Europe, and Asia). Correspondingly, AWS is available for use in differentRegions. Each AWS Region has a name that roughly indicates the area it covers, but the exact location is kept secret for security purposes. For example, four Regions are us-east-1 (Northern Virginia), us-west-1 (Northern California), eu-west-1 (Ireland), and ap-southeast-1 (Signapore). By launching instances in separate Regions, you can design your application to be closer to specific customers, or to meet legal or other requirements.
Prices for AWS usage vary by Region. Choose the one closest to you, or the cheapest price, or somewhere in between. Each Region contains multiple distinct locations called Availability Zones. Each Availability Zone is engineered to be isolated from failures in other Availability Zones, and to provide inexpensive, low-latency network connectivity to other Zones in the same Region. By launching instances in separate Availability Zones, you can protect your applications from the failure of a single location.
AWS Edge Locations are scattered around the world. Purpose is to let your AWS application deliver faster results to your customers via CDN - essentially using AWS networking technology.
Getting Started with Cloud Computing on AWS By signing up for AWS, you have access to all of Amazon’s Cloud Computing services. Note: The sign-up process requires a credit card, which will not be charged until you have used up yourfree quotas. There are no long-term commitments and you can stop using AWS at any time.
AWS Free Tier Amazon Web Services are generally not free - however, AWS does provide a Free Usage Tier for marketing purposes, which expires after 12 months from sign up. The services available in the Free Usage Tier also have restrictions/quotas on usage. The majority of the quotas are monthly. Other restrictions may apply aside from quotas (E.g. only “micro instances” for EC2 are available in the Free Tier) Be aware that when you sign up for the Free Tier, you are signing up for all of AWS.
Your Free Tier usage quotas are used up first for billing - you will not be charged for this usage. However, once your quotas are exceeded, you will be billed at normal rates for any further usage – without any warning! Also, any service which you use that is not included in the Free Usage Tier are also billed at normal rates. - There is no warning about non-free usage! AWS does not provide a warning to discontinue services once your free quotas are used up, it is your responsibility to keep track of your usage. Keep in mind, if you get charged due to negligence or ”accidents”, you still owe Amazon for the resources you used.
What is Amazon EC2? Amazon Elastic Compute Cloud (Amazon EC2) is a web-based service that provides resizable computing capacity in the cloud - IaaS. Amazon EC2 eliminates your need to invest in hardware up front and enables you to develop and deploy applications faster. You can use the web service interfaces to launch as many or as few virtual servers as you need, configure security and networking, and manage storage. With Amazon EC2, you pay only for the resources that you use. Amazon EC2 enables you to scale to handle your changes in requirements or spikes in popularity, reducing your need to forecast traffic.
Amazon EC2 • Elastic Cloud Computing (EC2) - IaaS • Virtual servers for rent – scalable • Called Amazon Machine Images (AMIs) • Based on Xen hypervisor • Priced on per hour from $0.06 to $4.60 – cost depends on AMI requested. http://aws.amazon.com/ec2
EC2 allows users to rent virtual computers on which to run their own computer applications. EC2 allows scalable deployment of applications by providing a Web service through which a user can boot an Amazon Machine Image to create a virtual machine, which Amazon calls an "instance", containing any software desired. A user can create, launch, and terminate server instances as needed, paying by the hour for active servers, hence the term "elastic". EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy. In November 2010, Amazon switched its own retail website to EC2 and AWS.
Amazon Machine Image (AMI) • A special type of virtual machine. • The main component of an AMI is a read-only file system image which includes an operating system (e.g. Linux or Windows) and any additional software required to deliver a service or a portion of it. EC2 is based on Linux and Xen, and various OS images (aka Amazon Machine Images - AMIs) can be supported. It is said that Amazon uses a heavily modified and adapted version of Xen. EC2 is probably one of the biggest Xen installations deployed.
From an AMI, you launch an instance, which is a copy of the AMI running as a virtual server in the cloud. You can launch multiple instances of an AMI, as shown in the figure below.
Elastic Compute Units The elastic compute unit (ECU) was introduced by Amazon EC2 as an abstraction of computer resources. Amazon’s definition of ECU notes “We use several benchmarks and tests to manage the consistency and predictability of the performance of an EC2 Compute Unit. One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor.” Billing is done via ECUs used.
EC2 Instances Currently Amazon EC2 offers several “hardware” instance types with different characteristics (cpu power, memory, disk and addressability) and different pricing. Amazon EC2 Instances Amazon EC2 instances are the fundamental building block for computing needs in the AWS cloud. - You can think of instances as virtual servers that can run applications. Instances are created from an Amazon Machine Image (AMI) and choosing an appropriate instance type. An AMI is a template that contains a software configuration, including an operating system, which defines your operating environment.
Amazon Elastic Compute Cloud (Amazon EC2) instances are grouped into the general families described in the following table. Instance Family General purpose Compute optimized Memory optimized Storage optimized Micro instances GPU instances
Storage • When using an instance, you may have data that you need to store. • Amazon EC2 offers the following storage options: • Amazon Elastic Block Store (Amazon EBS) • Storage designed specifically for Amazon EC2 instances. Allows you to create volumes that can be mounted as devices by EC2 instances. Amazon EBS volumes behave as if they were raw unformatted external hard drives. They have user supplied device names and provide a block device interface. You can create a file system on top of Amazon EBS volumes, or use them in any other way you would use a block device. • You can create up to twenty Amazon EBS volumes of any size (from one GBup to one TB). Each Amazon EBS volume is independent of any individual EC2 instances and can be attached to any one of your instances (within the same availability zone) or can even exist unattached to an EC2 instance.
Amazon EC2 Instance Store • Amazon EC2 instance store provides temporary(aka ephemeral) block-level storage for use with Amazon EC2 instances. The size of an instance store ranges from 150 GB up to 48 TB, and varies by instance type. Larger instance types have larger instance stores. • Amazon Simple Storage Service (Amazon S3) • Provides traditional persistent file storage. Used for storing AMIs, data, etc. • Actually designed as storage for the internet. You can use Amazon S3 to store and retrieve any amount of data at any time, from anywhere on the web.
The following figure shows the relationship between these types of storage.
Elastic MapReduce • MapReduceas-a-Service – Utilizes Apache Hadoop, Amazon EC2, and Amazon S3 • Simple Steps – Develop MapReduce program • Many language support, e.g. Pig, Java, Ruby, C++, etc. – Upload data to S3 – Create and monitor “job flow” through web-based Management Console • Pros – Reliable, secure, elastic, and easy – Third party tools – Seamless integration with EC2, S3 • Cons – No tweaking of Hadoop – Only supports HadoopMapReduce framework
Hadoop clusters running on Amazon EMR use EC2 instances as virtual Linux servers for the master and slave nodes, Amazon S3 for bulk storage of input and output data, and CloudWatch to monitor cluster performance and raise alarms.
Amazon Simple Storage Service (Amazon S3) Amazon S3 is Amazon’s basic storage for the Internet. Amazon S3 provides a simple web service interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, secure, fast, inexpensive infrastructure that Amazon uses to run its own global network of web sites. http://aws.amazon.com/s3/
Simple Storage Service (S3) • Internet Data Storage – Reliable, Simple, Scalable, and Inexpensive • Three Concepts – Buckets • Analogous to a folder with no nesting • URL accessible • Option to enforce geographical constraints – Objects • Actual data stored in buckets, e.g. files of PDF, Video, etc. • Up to 5TB • Unlimited number of objects • Private, public or selectively for users – Keys • Unique key to identify each object in a bucket
Amazon S3 Functionality Amazon S3 is intentionally built with a minimal feature set. May write, read, and delete objects which may contain from 1 byte to 5TB of data each. The number of objects you can store is unlimited. Each object is stored in a bucket and retrieved via a unique, developer-assigned key – via a URL. http://<bucketname>.<S3endpoint>/<objectkey> E.g. http://my-first-s3-bucket-7004.s3.amazonaws.com/MyObjectKey
A bucket can be stored in one of several Regions. - You can choose a Region to optimize for latency, minimize costs, or address regulatory requirements. Files in a bucket are replicated to dispersed zones in the bucket’s Region
Elastic Block Storage The Amazon Elastic Block Store (EBS) provides raw block devices (i.e. persistent storage) that can be attached to Amazon EC2 instances. Storage volumes behave like raw, unformatted block devices, with user supplied device names and a block device interface. EBS volumes can be up to 1TB in size. EBS volumes are built on replicated storage, so that the failure of a single component will not cause data loss.
Databases Amazon Relational Database Service (RDS) Amazon RDS, a fully managed service that offers a choice of MySQL, Oracle or SQL Server database engines. Amazon SimpleDB For database implementations with dataset sizes under 10GB, that do not require a relational model, and that principally demand index and query capabilities – NoSQL.