intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application...
Transcript of intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application...
Intro to AWS Elastic Beanstalk@dduvnyak
What is Elastic Beanstalk?
PaaS
Deploy scalable web apps without worrying about infrastructure
Elastic Beanstalk Features
• Deployment, scaling and monitoring of three-tier web apps/services
• EB provisions and manages infrastructure while allowing control of it
• Preconfigured app containers (that are customizable)
Supported platforms
Elastic Beanstalk core concepts
Application
Environments• Infrastructure resources
(such as EC2 instances, ELB load balancers, and Auto Scaling groups)
• Runs a single application version at a time for better scalability
• An application can have many environments (such as staging and production)
Application versions• Application code• Stored in Amazon S3• An application can have
many application versions (easy to rollback to previous versions)
Saved configurations• Configuration that defines
how an environment and its resources behave
• Can be used to launch new environments quickly or roll-back configuration
• An application can have many saved configurations
Environments
Two types: - Single instance - Autoscaling environments with load balancing
EB provisions infrastructure (load balancers, DBs, autoscaling groups, security groups)
Preconfigured application containers
Focus on your code
Elastic Beanstalk configures EC2 instances from the ground up to run your application
No need for manual configuration
Your code
HTTP server
Application server
Language interpreter
Operating system
Host
App versions and saved configurations
Deployment Options
• Git / EB CLI • AWS Management Console (Web) • AWS Toolkit for Eclipse and Visual Studio
CLI Deployment
1. Initialize your repository for Elastic Beanstalk> eb init
2. Commit any changes> git commit -a -m 'Add changes'
3. Create and launch the application> eb create
CLI Deployment
Deploying updates: 1. Make code changes 2. Push changes to EB:> git commit -a -m 'Add new changes' > eb deploy
3. Monitor deployment status:> eb status
Demo: Deploy a PHP app to EB