Amazon Web Services: Amazon Elastic Compute Cloud (EC2) Jeevan Dongre Associate Organizer- AWS B’lore UG
What is cloud?
“ Cloud computing is a style of computing where scalable and elastic IT-enabled capabilities are delivered as a service to external customers using Internet technologies.”-Gartner
Other definitions of Cloud: “ A pool of abstracted, highly scalable, and managed compute infrastructure capable of hosting end-customer applications and billed by consumption ”. “ Cloud computing is an emerging approach to shared infrastructure in which large pools of systems are linked together to provide IT services.” – IBM press release on “Blue Cloud”
“ Cloud computing describes a systems architecture. Period. This particular architecture assumes nothing about the physical location, internal composition or ownership of its component parts.” – James Urquhart blog post
Categories of Cloud: Iaas: Infrastructure as a service Paas:Platform as a service Saas:Software as a service
Daas:Desktop as a service
Points to Remember: Iaas forms the basic building blocks.
So in this regard any services are either built on Paas or Iaas.
Types of Cloud:
Community Cloud/Gov Cloud
What is Driving Cloud Computing? Customer Perspective: • In one word: economics • Faster, simpler, cheaper to use cloud apps • No upfront capital required for servers and storage • No ongoing operational expenses for running datacenter • Applications can be accessed from anywhere, anytime
What is Driving Cloud Computing Vendor Perspective: • Easier for application vendors to reach new customers • Lowest cost way of delivering and supporting applications • Ability to use commodity server and storage hardware • Ability to drive down data center operational cots • In one word: economics
Issues Facing Developers 70% of Web Development Effort is “Muck”: Bandwidth / Power / Cooling Scaling is Difficult and Expensive:
Large Up-Front Investment
Solution: Web-Scale Computing Turn fixed costs into variable costs Simple APIs and conceptual models
Focus on product & core competencies
Driving factors for Amazon:
The Differences That Distinguish AWS
Flexible : AWS enables organizations to use the programming model, operating system, databases, and architectures they are already familiar with. In addition, this flexibility helps companies mix and match architectures in order to serve their diverse business needs.
The Differences That Distinguish AWS
Cost-effective : With AWS, organizations pay only for what they use, with no up-front commitments or longterm commitments.
The Differences That Distinguish AWS
Scalable and elastic: Businesses can quickly add and subtract AWS resources to their applications in order to meet customer demand and manage costs.
The Differences That Distinguish AWS Secure: In order to provide end-to-end security and end-to-end privacy, AWS builds services in accordance with security best practices, provides appropriate security features in those services, and documents how to use those features.
The Differences That Distinguish AWS
Experienced. When using AWS, you leverage over fifteen years of Amazon’s experience in delivering largescale, global infrastructure in a reliable, secure fashion.
Lets have a deep dive:
Do you have a credit card?
Amazon Simple Storage Service S3
Overview of S3 Amazon S3 is storage for the Internet. It is designed to make web-scale computing easier for developers.
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.
Amazon S3 Functionality Write, read, and delete objects containing from 1 byte to 5 terabytes 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.
Uses standards-based REST and SOAP interfaces designed to work with any Internet-development toolkit.
Getting Started with Amazon S3 Create a Bucket to store your data. You can choose a Region where your bucket and object(s) reside to optimize latency, minimize costs, or address regulatory requirements. Upload Objects to your Bucket. Your data is durably stored and backed by the Amazon S3 Service Level Agreement.
Optionally, set access controls. You can grants others access to your data from anywhere in the world.
Common Use Cases Content Storage and Distribution. Storage for Data Analysis.
Backup, Archiving and Disaster Recovery.
Creating a static web site and hosting it on s3
Amazon Elastic Compute Cloud EC2
Overview of EC2 Released in the year 2006 after a huge success of S3. Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
EC2 reduces the time required to obtain and boot new server instances to minutes.
Overview of EC2 Continued.. allowing you to pay only for capacity that you actually use.
provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios.
Regions and Availability Zones US East (Northern Virginia), US West (Northern California), Asia Pacific (Singapore),
Asia Pacific (Tokyo), and
Few basic concepts of EC2
Amazon Machine Image An Amazon Machine Image (AMI) is a special type of pre-configured operating system and virtual application software which is used to create a virtual machine within the Amazon Elastic Compute Cloud (EC2).
It serves as the basic unit of deployment for services delivered using EC2.
Operating systems of AMI
instance provides a predictable amount of dedicated compute capacity and is charged per instance-hour consumed.
Types of Instance
Cluster Compute Instance.
Elastic Block Store provides block level storage volumes for use with Amazon EC2 instances. EBS volumes are off-instance storage that persists independently from the life of an instance. Elastic Block Store provides highly available, highly reliable storage volumes that can be attached to a running Amazon EC2 instance.
EBS is particularly suited for applications that require a database, file system, or access to raw block level storage.
Features of Amazon EBS volumes Amazon EBS allows you to create storage volumes from 1 GB to 1 TB that can be mounted as devices by Amazon EC2 instances. Multiple volumes can be mounted to the same instance.
Storage volumes behave like raw, unformatted block devices, with user supplied device names and a block device interface.
Features of Amazon EBS volumes Amazon EBS also provides the ability to create point-in-time snapshots of volumes, which are persisted to Amazon S3.
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 (like a hard drive).
Elastic IP Elastic IP addresses are static IP addresses designed for dynamic cloud computing.
EC2 enables you to engineer around problems with your instance or software by quickly remapping your Elastic IP address to a replacement instance.
Security group The Security Group defines which ports are opened in an instance's firewall to allow incoming connections to the instance. Security Groups act as firewalls in the cloud.
They are designed to control who can communicate (initiate communication) with your machine.
Cloud Watch Amazon CloudWatch is a web service that provides monitoring for AWS cloud resources and applications, starting with Amazon EC2.
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. Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances. Elastic Load Balancing detects unhealthy instances within a pool and automatically reroutes traffic to healthy instances until the unhealthy instances have been restored.
Can be used along with the cloud watch.
Amazon EC2 Functionality Select a pre-configured, templated image to get up and running immediately. Or create an Amazon Machine Image (AMI) containing your applications, libraries, data, and associated configuration settings. Configure security and network access on your Amazon EC2 instance.
Choose which instance type(s) and operating system you want, then start, terminate, and monitor as many instances of your AMI as needed, using the web service APIs or the variety of management tools provided.
Amazon EC2 Functionality Determine whether you want to run in multiple locations, utilize static IP endpoints, or attach persistent block storage to your instances.
Pay only for the resources that you actually consume, like instance-hours or data transfer.
Elastic Beanstalk is an even easier way for you to quickly deploy and manage applications in the AWS cloud. You simply upload your application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.
AWS Elastic Beanstalk is easy to begin and impossible to outgrow.
AWS Elastic Beanstalk Functionality Create your application as you normally would using any editor or IDE (e.g. Eclipse). Package your deployable code into a standard Java Web Application Archive (WAR file). Upload your WAR file to Elastic Beanstalk using the AWS Management Console.
access your application at a customized URL
Amazon Simple Queue Service SQS
Overview Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly scalable, hosted queue for storing messages as they travel between computers. move data between distributed components of their applications that perform different tasks, without losing messages or requiring each component to be always available.
can run independently, and do not need to be on the same network, developed with the same technologies, or running at the same time.
A queue can be created in 5 regions. The message body can contain up to 64 KB of text in any format (default is 8KB). Messages can be retained in queues for up to 14 days (default is 4 days).
Messages can be sent and read simultaneously.
Amazon Simple Emailing Service SES
Overview Amazon Simple Email Service (Amazon SES) is a highly scalable and cost-effective bulk and transactional email-sending service for businesses and developers. Reduces the complexity of building ih-house SMTP. Use amazon readily available SMTP’s to send bulk e-mails.
Newsletters, confirmation e-mails,marketing etc.
Overview 2000 emails per day is free. Scalable upto 10,000 emails per hour.
After 2000 emails charges only $0.10 per 1000 emails.
Amazon Simple Notification Service SNS
Overview Amazon Simple Notification Service (Amazon SNS) is a web service that makes it easy to set up, operate, and send notifications from the cloud. Amazon SNS delivers notifications to clients using a “push” mechanism that eliminates the need to periodically check or “poll” for new information and updates.
Amazon SNS can be highly customized by developers to meet a wide range of application needs
SNS Functionality Create a topic: A topic is an “access point” – identifying a specific subject or event type – for publishing messages and allowing clients to subscribe for notifications. Set policies for your topic: Once a topic is created, the topic owner can set policies for it such as limiting who can publish messages or subscribe to notifications. Add subscribers to a topic: Subscribers are clients interested in receiving notifications from topics of interest.
Publish messages / send out notifications.
How you can leverage Amazon SNS
Time-sensitive information updates.
Amazon Relational DB System RDS
Overview Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud.
Amazon RDS gives you access to the capabilities of a familiar MySQL or Oracle database.
RDS Functionality Use the AWS Management Console or Amazon RDS APIs to launch a Database Instance ( DB Instance ), selecting the DB Engine (MySQL or Oracle). Since you are already familiar with mysql or oracle databases, no learning curve. Monitor the RDS using cloud monitor.
Pay only for what you use.
Amazon Simple DB SDB
Amazon SimpleDB is a highly available, flexible, and scalable non-relational data store that offloads the work of database administration.
Amazon SimpleDB Functionality Choose a Region for your Domain(s) to optimize for latency. CreateDomain , DeleteDomain , ListDomain , DomainMetadata to create and manage query domains. Use Put , Batch Put , & Delete to create and manage the data set within each query domain. Use GetAttributes to retrieve a specific item
Use Select to query your data set for items that meet specified criteria
Customer of AWS
Thank You! Pointers Twitter: http://twitter.com/jeevandongre Blog http://geekospace.com Facebook http://www.facebook.com/jeevan.dongre Linked In http://in.linkedin.com/in/jeevandongre Web: http://jeevandongre.geekospace.com [email_address] [email_address]