9. Amazon Web Services. Details of AWS design are not made public by Amazon!. Amazon’s Three Businesses. Amazon Web Services - AWS AWS consists of a big collection of building-block Cloud services .
9. Amazon Web Services
Details of AWS design are not made public by Amazon!
Amazon’s Three Businesses
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
- Content Delivery
- Deployment and Management
- Application Services
Only general information
Amazon offers a lot of services!
› Amazon Elastic Compute Cloud (EC2)
› Amazon Elastic MapReduce
› Amazon Relational Database Service (RDS)
› Amazon DynamoDB
› 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 Data Centers in 8 Regions
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.
AWS Service Stack
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.
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.
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 EC2 Instance Store
The following figure shows the relationship between these types of storage.
– 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
– Reliable, secure, elastic, and easy
– Third party tools
– Seamless integration with EC2, S3
– 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.
Simple Storage Service (S3)
• Internet Data Storage
– Reliable, Simple, Scalable, and Inexpensive
• Three Concepts
• Analogous to a folder with no nesting
• URL accessible
• Option to enforce geographical constraints
• 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
• 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.
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
Serve static content at high volumes
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.
Amazon Relational Database Service (RDS)
Amazon RDS, a fully managed service that offers a choice of MySQL, Oracle or SQL Server database engines.
For database implementations with dataset sizes under 10GB, that do not require a relational model, and that principally demand index and query capabilities – NoSQL.
Introduced in 2012, DynamoDB is managed (i.e. no administration) NoSQLdatabase service designed for Internet scale-applications, with no data size limits.
According to Amazon, DynamoDB is tailored to handling large web applications that need to process vast amounts of data, then deliver the results in a predictable timeframe, according to AWS.
To do this, it has been designed to cope with unpredictable spikes in demand while guaranteeing reliable input/output rates.
In addition, AWS will automatically replicate data from DynamoDB across multiple IT stacks, or 'availability zones', within each region, in order to guard against hardware hiccups.
Customers' data will be stored on solid-state drives (SSDs) to allow for fast data throughput rates, AWS said. Typical requests to the database will take milliseconds to complete.
Being a NoSQL database, DynamoDB tables do not have fixed schemas, and each item may have a different number of attributes.
Amazon Cloud Watch is a web service that provides monitoring for AWS cloud resources and applications.
It provides you with visibility into resource utilization, operational performance, and overall demand patterns—including metrics such as CPU utilization, disk reads and writes, and network traffic.
Elastic Load Balancing