Desenvolvimento Ágil de Aplicações Java na Nuvem com o AWS Elastic Beanstalk
AWS: Scaling With Elastic Beanstalk
-
Upload
kms-technology -
Category
Technology
-
view
528 -
download
4
Transcript of AWS: Scaling With Elastic Beanstalk
![Page 1: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/1.jpg)
AWS: SCALING WITH ELASTIC BEANSTALK
AN LE PHU NGUYEN
DECEMBER 2OTH, 2014
![Page 2: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/2.jpg)
$ WHOAMI
Nguyễn Lê Phú An
Senior Software Engineer
R&D, KMS Technology Inc.
AWS: SCALING WITH ELASTIC BEANSTALK
An Nguyen
![Page 3: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/3.jpg)
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
![Page 4: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/4.jpg)
WHAT IS AWS?
• Amazon Web Services
• Provides cloud computing infrastructure
• Started with hosting services and then…
AWS: SCALING WITH ELASTIC BEANSTALK
![Page 5: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/5.jpg)
AGENDA
AWS: SCALING WITH ELASTIC BEANSTALK
Elastic Beanstalk
Deployment & Scaling
Zonal & Regional Load Balancing
Takeaways
![Page 6: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/6.jpg)
What is Elastic Beanstalk?
AWS: SCALING WITH ELASTIC BEANSTALK
![Page 7: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/7.jpg)
ELASTIC BEANSTALK
ELASTIC BEANSTALK
![Page 8: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/8.jpg)
ELASTIC BEANSTALK
ELASTIC BEANSTALK
Elas
tic
Bea
nst
alk
EC2 Instances
Elastic Load Balancer
Auto Scaling Group
![Page 9: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/9.jpg)
EC2 – ELASTIC COMPUTE CLOUD
ELASTIC BEANSTALK
![Page 10: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/10.jpg)
AUTO SCALING GROUP
ELASTIC BEANSTALK
• Scales EC2 instances up or down automatically with your conditions
![Page 11: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/11.jpg)
ELASTIC LOAD BALANCER
ELASTIC BEANSTALK
• Routes traffic across multiple instances
• Auto scaling
• Integrates to Security Group and SSL
![Page 12: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/12.jpg)
ELASTIC BEANSTALK
ELASTIC BEANSTALK
• EC2 Instances
• Auto Scaling Group
• Elastic Load Balancer
• Security Group
• DB
![Page 13: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/13.jpg)
Deployment & Scaling
AWS: SCALING WITH ELASTIC BEANSTALK
![Page 14: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/14.jpg)
FIRST STEPS
DEPLOYMENT & SCALING
![Page 15: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/15.jpg)
CREATE ELASTIC BEANSTALK
DEPLOYMENT & SCALING
![Page 16: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/16.jpg)
ZIP AND UPLOAD YOUR PROJECT
DEPLOYMENT & SCALING
![Page 17: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/17.jpg)
CREATE DATABASE
DEPLOYMENT & SCALING
![Page 18: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/18.jpg)
DEFINE ENVIROMENT
DEPLOYMENT & SCALING
![Page 19: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/19.jpg)
MONITOR
DEPLOYMENT & SCALING
![Page 20: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/20.jpg)
ALARM
DEPLOYMENT & SCALING
![Page 21: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/21.jpg)
How about next deployment?
DEPLOYMENT & SCALING
![Page 22: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/22.jpg)
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
![Page 23: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/23.jpg)
LOGGING
DEPLOYMENT & SCALING
![Page 24: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/24.jpg)
How about scaling?
DEPLOYMENT & SCALING
![Page 25: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/25.jpg)
HOW ABOUT SCALING?
• Configure Auto Scaling Group
• Define the trigger
• Let him do his job!
DEPLOYMENT & SCALING
![Page 26: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/26.jpg)
SETUP AUTO SCALING
DEPLOYMENT & SCALING
![Page 27: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/27.jpg)
SETUP SCALING TRIGGER
DEPLOYMENT & SCALING
![Page 28: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/28.jpg)
DASHBOARD
DEPLOYMENT & SCALING
![Page 29: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/29.jpg)
Elastic Beanstalk Setup Demo
DEPLOYMENT & SCALING
![Page 30: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/30.jpg)
PRICING
• There is no additional charge for Elastic Beanstalk – you only pay for the underlying AWS resources
• Try AWS free usage tier!
DEPLOYMENT & SCALING
![Page 31: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/31.jpg)
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
![Page 32: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/32.jpg)
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
![Page 33: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/33.jpg)
MORE…
• CloudWatch
– Monitor & Notification
• CloudFront
– Share web static resource (CDN)
• RDS, DynamoDB & ElastiCache
– Database & Cache
• S3
– File storage
• DB backup
• Deployment files
DEPLOYMENT & SCALING
![Page 34: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/34.jpg)
Zonal & Regional load balancing
AWS: SCALING WITH ELASTIC BEANSTALK
![Page 35: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/35.jpg)
REGIONS
ZONAL & REGIONAL LOAD BALANCING
![Page 36: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/36.jpg)
AVAILABILITY ZONES
ZONAL & REGIONAL LOAD BALANCING
![Page 37: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/37.jpg)
ZONAL LOAD BALANCING
ZONAL & REGIONAL LOAD BALANCING
![Page 38: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/38.jpg)
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
![Page 39: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/39.jpg)
How about regional load balancing?
ZONAL & REGIONAL LOAD BALANCING
![Page 40: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/40.jpg)
REGION LOAD BALANCING
ZONAL & REGIONAL LOAD BALANCING
![Page 41: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/41.jpg)
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
![Page 42: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/42.jpg)
ROUTE 53
ZONAL & REGIONAL LOAD BALANCING
![Page 43: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/43.jpg)
MORE…
• Database, cache replication
– Cross-zone
– Cross-region
• Route 53 configuration
– Latency based routing
– Geo DNS
ZONAL & REGIONAL LOAD BALANCING
![Page 44: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/44.jpg)
TAKEAWAYS
AWS: SCALING WITH ELASTIC BEANSTALK
![Page 45: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/45.jpg)
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
![Page 46: AWS: Scaling With Elastic Beanstalk](https://reader034.fdocuments.us/reader034/viewer/2022042715/55a25b9a1a28ab912b8b4631/html5/thumbnails/46.jpg)
Q&A
AWS: SCALING WITH ELASTIC BEANSTALK