Date post: | 12-Jul-2015 |
Category: |
Technology |
Upload: | kms-technology |
View: | 525 times |
Download: | 4 times |
AWS: SCALING WITH ELASTIC BEANSTALK
AN LE PHU NGUYEN
DECEMBER 2OTH, 2014
$ WHOAMI
Nguyễn Lê Phú An
Senior Software Engineer
R&D, KMS Technology Inc.
AWS: SCALING WITH ELASTIC BEANSTALK
An Nguyen
LET’S DESCRIBE YOURSELF
What is AWS?
I heard that before
I’m working on that
I’m a guru!
AWS: SCALING WITH ELASTIC BEANSTALK
WHAT IS AWS?
• Amazon Web Services
• Provides cloud computing infrastructure
• Started with hosting services and then…
AWS: SCALING WITH ELASTIC BEANSTALK
AGENDA
AWS: SCALING WITH ELASTIC BEANSTALK
Elastic Beanstalk
Deployment & Scaling
Zonal & Regional Load Balancing
Takeaways
What is Elastic Beanstalk?
AWS: SCALING WITH ELASTIC BEANSTALK
ELASTIC BEANSTALK
ELASTIC BEANSTALK
ELASTIC BEANSTALK
ELASTIC BEANSTALK
Elas
tic
Bea
nst
alk
EC2 Instances
Elastic Load Balancer
Auto Scaling Group
EC2 – ELASTIC COMPUTE CLOUD
ELASTIC BEANSTALK
AUTO SCALING GROUP
ELASTIC BEANSTALK
• Scales EC2 instances up or down automatically with your conditions
ELASTIC LOAD BALANCER
ELASTIC BEANSTALK
• Routes traffic across multiple instances
• Auto scaling
• Integrates to Security Group and SSL
ELASTIC BEANSTALK
ELASTIC BEANSTALK
• EC2 Instances
• Auto Scaling Group
• Elastic Load Balancer
• Security Group
• DB
Deployment & Scaling
AWS: SCALING WITH ELASTIC BEANSTALK
FIRST STEPS
DEPLOYMENT & SCALING
CREATE ELASTIC BEANSTALK
DEPLOYMENT & SCALING
ZIP AND UPLOAD YOUR PROJECT
DEPLOYMENT & SCALING
CREATE DATABASE
DEPLOYMENT & SCALING
DEFINE ENVIROMENT
DEPLOYMENT & SCALING
MONITOR
DEPLOYMENT & SCALING
ALARM
DEPLOYMENT & SCALING
How about next deployment?
DEPLOYMENT & SCALING
NEXT DEPLOYMENT: AWS CLI
• Install AWS Command Line Interface
• Setup AWSDevTools
• git aws.config
• git aws.push (it will push the entire repo)
Updating the AWS Elastic Beanstalk environment staging-sample...
Environment update initiated successfully.
DEPLOYMENT & SCALING
Read more here: http://aws.amazon.com/code/6752709412171743
LOGGING
DEPLOYMENT & SCALING
How about scaling?
DEPLOYMENT & SCALING
HOW ABOUT SCALING?
• Configure Auto Scaling Group
• Define the trigger
• Let him do his job!
DEPLOYMENT & SCALING
SETUP AUTO SCALING
DEPLOYMENT & SCALING
SETUP SCALING TRIGGER
DEPLOYMENT & SCALING
DASHBOARD
DEPLOYMENT & SCALING
Elastic Beanstalk Setup Demo
DEPLOYMENT & SCALING
PRICING
• There is no additional charge for Elastic Beanstalk – you only pay for the underlying AWS resources
• Try AWS free usage tier!
DEPLOYMENT & SCALING
SOME GOOD PRACTICES
• Make your app scalable first
– Share your static resources: video, image, css, js…
• S3, CloudFront are good candidates
– Share database and cache servers
• RDS, DynamoDB, ElastiCache
• Control auto scaling group to control your bill
– Limit Max instance number
– Add notification, at least when to Add/Remove instance
– Adjust trigger frequently according your website’s workload
DEPLOYMENT & SCALING
SHOULD I USE EB?
• Pros:
– Super easy to deploy
– Separate environments
– Integrate to other AWS services
– Good organization
• Cons:
– Quite slow deployment with large repo
– Be careful with auto scaling
– Hard to customize EC2 instances
DEPLOYMENT & SCALING
MORE…
• CloudWatch
– Monitor & Notification
• CloudFront
– Share web static resource (CDN)
• RDS, DynamoDB & ElastiCache
– Database & Cache
• S3
– File storage
• DB backup
• Deployment files
DEPLOYMENT & SCALING
Zonal & Regional load balancing
AWS: SCALING WITH ELASTIC BEANSTALK
REGIONS
ZONAL & REGIONAL LOAD BALANCING
AVAILABILITY ZONES
ZONAL & REGIONAL LOAD BALANCING
ZONAL LOAD BALANCING
ZONAL & REGIONAL LOAD BALANCING
ENABLE ZONAL LOAD BALANCING & SCALING
ZONAL & REGIONAL LOAD BALANCING
Sounds good! Will it scale my databases, cache
services?
In Elastic Load Balancer
In Auto Scaling Group
How about regional load balancing?
ZONAL & REGIONAL LOAD BALANCING
REGION LOAD BALANCING
ZONAL & REGIONAL LOAD BALANCING
ROUTE 53
ZONAL & REGIONAL LOAD BALANCING
• A Domain Name System (DNS)
• Connect user to services: EC2, S3,
Elastic Load Balancer, CloudFront
• Auto scale
• Health check mechanism
• DNS Failover
ROUTE 53
ZONAL & REGIONAL LOAD BALANCING
MORE…
• Database, cache replication
– Cross-zone
– Cross-region
• Route 53 configuration
– Latency based routing
– Geo DNS
ZONAL & REGIONAL LOAD BALANCING
TAKEAWAYS
AWS: SCALING WITH ELASTIC BEANSTALK
TAKEAWAYS
• Elastic Beanstalk
– Combination of ELB, Auto Scaling Group, EC2 and some services
– Auto Scale configuration
– Pros & Cons
• Cross-zone & Cross-region
– Enable cross-zone load balancing & scaling
– Use Route 53 to handle cross-region load balancing
AWS: SCALING WITH ELASTIC BEANSTALK
Q&A
AWS: SCALING WITH ELASTIC BEANSTALK