This document introduces Amazon Web Services Elastic Beanstalk, which allows developers to easily deploy and manage applications in the AWS cloud. It discusses the key AWS services that Elastic Beanstalk utilizes like EC2, ELB, Auto Scaling and CloudWatch. It then demonstrates how to create a Beanstalk application environment and deploy a sample PHP application using Git with zero servers to manage. Developers can get started with Elastic Beanstalk for free to build and host their web applications on AWS.
3. What You Will Learn
• What are the Amazon Web Services?
• What are the principal AWS components?
• How do they fit together?
• How can I use AWS Elastic Beanstalk?
4. Amazon Web Services
• Launched in 2006
• Hundreds of thousands of customers in 190 countries
• Building-block IT services
• Sign up with a credit card at http://aws.amazon.com
5. AWS PLATFORM
Cloud-Powered Applications
Management & Administration
Administration Identity &
Deployment Monitoring
Console Access
Application Platform Services
Content Parallel Libraries &
Messaging
Distribution Processing SDKs
Foundation Services
Compute Storage Database Networking
Global Infrastructure
Regions
Edge Locations
Availability Zones
7. Amazon EC2 Architecture
Region
Amazon
Machine Availability Zone Ephemeral
Image (AMI) Storage
EC2 Instance
Elastic
Block
Storage
CloudWatch
Security
Group(s)
Amazon S3
Elastic IP
Auto Scaling Address EBS EBS
Snapshot Snapshot
Load Balancing
8. EC2 – Regions and Availability Zones
Region – One of 7 distinct physical locations:
• Northern Virginia, San Francisco, Oregon, Tokyo,
Singapore, Brazil, Ireland
Availability Zone
• Physical infrastructure (1 or more data centers)
• 2 or more AZ’s per Region
• Fault tolerance across AZ’s
9. EC2 Instance
• Amazon EC2: A Virtual Server in the Cloud
• Provision and boot new servers in minutes
• Boot from AMI (Amazon Machine Image)
• Your choice of Linux or Windows
• Quickly scale capacity up or down
• Deploy across Regions and Availability Zones for reliability
• Choose from 14 different instance types:
• CPU power
• RAM
• Local disk
• Network speed
10.
11. EC2 Security Group
• Virtual firewall
• Control access to instance
• Default configuration: no access
12. EC2 Elastic IP Address
• Fixed IP address
• Map to any EC2 instance in a Region
• Retain address after switching instances
13. EC2 Elastic Load Balancer
Distribute traffic to an array of EC2 instances
• Scale up or scale down
• Health checks
• Traffic goes to healthy instances
• Configurable list of ports
14. Amazon CloudWatch
• Tracks and stores AWS and user-defined metrics
• 2 week retention period
• Detect issues
• Raise alerts
15. EC2 Auto Scaling
• Control number of running EC2 instances
• Scale up or down as needed
• Drive decisions based on CloudWatch metrics
• CPU load
• Network traffic
• No direct console UI at present:
• Command line
• API
• Elastic Beanstalk
• Auto-scaling group
• Instance collection
• Actions (rules)
16. EC2 Elastic Block Storage (EBS)
• Virtual disk volumes
• 1 GB – 1 TB per volume
• Create and attach to EC2 instance
• Format and write data
• Snapshot and restore
• Provison desired IOPS (up to 1000 per volume)
17. What’s Next?
So…those are all of the parts!
Can we put them all together?
18. AWS Elastic Beanstalk- Intro
• Easy to deploy and manage applications in AWS
• Application Container / PaaS (Platform-as-a-Service)
• Get started at no charge (free usage tier)
• You:
• Create and upload application
• Elastic Beanstalk:
• Capacity provisioning (EC2)
• Load balancing (ELB)
• Auto-scaling (Auto Scaling)
• Application health monitoring (CloudWatch)
19. AWS Elastic Beanstalk - Environments
.NET PHP Java
• AWS SDK for .NET • AWS SDK for PHP AWS SDK for Java
• Visual Studio Toolkit • Existing dev tools Eclipse Toolkit
• Microsoft Web Deploy • Git-based deployment
Upload WAR file
• Upload ZIP • GIT PUSH
Linux + Tomcat + Apache
• Microsoft Windows + IIS • Linux + Apache
30. Next Steps for You
• Sign up for free account at http://aws.amazon.com/free/
• Build and deploy your first PHP application
• Read AWS blog at http://aws.typepad.com
• Send questions my way – jbarr@amazon.com
Amazon Web Services is a set of primitive building blocks to enable developers to build applications and, ultimately, businesses, on our battle-tested infrastructure. So what kinds of building blocks do developers need? First, you need compute resources. The Elastic Compute Cloud, or EC2, allows developers to rent virtual computers, running in our data centers, and pay for them by the hour. Provision as many as you need – 1, 10, 1000, for as long as you need them, and you pay only for what you use (starting at 10 cents/hour). Next, you probably need somewhere to durably store and retrieve data. The Simple Storage Service, is, well, a simple storage service that allows to store and retrieve objects in the cloud using simple put and get API calls.You might need to index and query for that data, or create other structured data that you want to query, which is what we built SimpleDB.