12
Intro to AWS Elastic Beanstalk @dduvnyak

intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

Intro to AWS Elastic Beanstalk@dduvnyak

Page 2: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

What is Elastic Beanstalk?

PaaS

Deploy scalable web apps without worrying about infrastructure

Page 3: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

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)

Page 4: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

Supported platforms

Page 5: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

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

Page 6: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

Environments

Two types: - Single instance - Autoscaling environments with load balancing

EB provisions infrastructure (load balancers, DBs, autoscaling groups, security groups)

Page 7: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

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

Page 8: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

App versions and saved configurations

Page 9: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

Deployment Options

• Git / EB CLI • AWS Management Console (Web) • AWS Toolkit for Eclipse and Visual Studio

Page 10: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

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

Page 11: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

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

Page 12: intro aws elasticbeanstalk · 2016. 7. 21. · Elastic Beanstalk core concepts Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and

Demo: Deploy a PHP app to EB