SlideShare a Scribd company logo
1 of 53
Download to read offline
Amazon Web Services Update | London
November 2012
Elastic Bean Stalk
Quickly deploy and manage apps in AWS…
Elastic Bean Stalk
Application package is deployed into Beanstalk
Elastic Bean Stalk
             Which creates the container in EC2


    User Application

 Application Service

       HTTP Service

Language Interpreter

   Operating System

                Host
Elastic Bean Stalk
Beanstalk takes care of the environment…
Elastic Bean Stalk
…adding Elastic Load Balancer…
Elastic Bean Stalk
   …Auto Scaling groups
Elastic Bean Stalk
  …and launching instances
Elastic Bean Stalk
…all wired into the Beanstalk framework
Elastic Bean Stalk
…and published under a CNAME
Elastic Bean Stalk
…with logs and app versions held in S3
What about the
 container?
Elastic Bean Stalk
   …into a range of containers




.Net PHP Java
Elastic Bean Stalk
    Adding new containers…




Ruby + Python
Elastic Bean Stalk
                       Containers…


    User Application

 Application Service

       HTTP Service

Language Interpreter

   Operating System

               Host
Elastic Bean Stalk
              …Python mod-wsgi & apache


  User Application

Application Service

          Apache
        mod_wsgi
          Python

 Operating System

              Host
Elastic Bean Stalk
         …Python mod-wsgi & apache




        requirements.txt


Django==1.4.1                   Flask==0.9
Elastic Bean Stalk
                       Containers…


    User Application

 Application Service

       HTTP Service

Language Interpreter

   Operating System

               Host
Elastic Bean Stalk
                 Passenger & Nginx…


  User Application

Application Service

           Nginx
       passenger
            Ruby

 Operating System

              Host
Elastic Bean Stalk
             Passenger & Nginx…




Classic rails MVC    Bare-metal routes (non-MVC)
What about the data?
D.I.Y
Elastic Bean Stalk
       Adding new containers…




Ruby + Python + Java
Elastic Bean Stalk
       Adding new containers…




Ruby + Python + Java
   RDS
Option to
create RDS at
  application
    launch:
Grab connection details for use:

String dbName           =
System.getProperty("RDS_DB_NAME");
String userName   = System.getProperty("RDS_USERNAME");
String password   = System.getProperty("RDS_PASSWORD");
String hostname   = System.getProperty("RDS_HOSTNAME");
String port             = System.getProperty("RDS_PORT");
Grab connection details from os.environ’s
import os

if 'RDS_HOSTNAME' in os.environ:
    DATABASES = {
        'default': {
            'ENGINE':      'django.db.backends.mysql',
            'NAME': os.environ['RDS_DB_NAME'],
            'USER': os.environ['RDS_USER'],
            'PASSWORD’:    os.environ['RDS_PASSWORD'],
            'HOST': os.environ['RDS_HOSTNAME'],
            'PORT': os.environ['RDS_PORT'],
        }
}
Add “.ebextensions” directory
            Add “python.config” file

commands:
    syncdb:
        command: "django-admin.py syncdb --noinput"
        leader_only: true

option_settings:
    "aws:elasticbeanstalk:application:python:environment":
        DJANGO_SETTINGS_MODULE: "mysite.settings"
    "aws:elasticbeanstalk:container:python":
        WSGIPath: "mysite/wsgi.py"
RDS populated from Django model
                   (use Django Evolution etc to upate when model changes)



commands:
    syncdb:
        command: "django-admin.py syncdb --noinput"
        leader_only: true

option_settings:
    "aws:elasticbeanstalk:application:python:environment":
        DJANGO_SETTINGS_MODULE: "mysite.settings"
    "aws:elasticbeanstalk:container:python":
        WSGIPath: "mysite/wsgi.py"
Update database.yml to include generated RDS
details:


production:
  adapter:    mysql2
  encoding:   utf8
  database:   <%= ENV['RDS_DB_NAME'] %>
  username:   <%= ENV['RDS_USERNAME'] %>
  password:   <%= ENV['RDS_PASSWORD'] %>
  host:              <%= ENV['RDS_HOSTNAME'] %>
  port:              <%= ENV['RDS_PORT'] %>
Add “.ebextensions” directory
            Add “.config” file

# Configure third-party service credentials

# Run rake tasks before an application deployment
container_commands:
  01deploy:
    command: rake my_deployment_tasks

# in environment variables:
option_settings:
  - option_name: AIRBRAKE_API_KEY
    value: MYAPIKEY
RDS populated from rails model

# Configure third-party service credentials

# Run rake tasks before an application deployment
container_commands:
  01deploy:
    command: rake my_deployment_tasks

# in environment variables:
option_settings:
  - option_name: AIRBRAKE_API_KEY
    value: MYAPIKEY
Rails          rake

  Git    Beanstalk      RDS

Django         syncdb
Container config    .ebextensions


     Git       Beanstalk        RDS

Language/ver        Configuration/co
    sions              mmands
.ebextensions
                    Java, Python & Ruby container configuration


packages
Download and install pre-packaged applications and components using apt, yum,
rubygems, python, and rpm

sources
Download an archive file and unpack it in a target directory on the EC2 instance
(e.g from S3). Supported formats are tar, tar+gzip, tar+bz2 and zip

files
Create files on the EC2 instance

Users/groups
Create Linux/UNIX users/groups on the EC2 instance
.ebextensions
                   Java, Python & Ruby container configuration


packages                        packages:
Download and install pre-packagedyum:
                                   applications and components using apt, yum,
rubygems, python, and rpm             package1: [3.2.1]
sources                               package2: [1.0]
                                  rpm:
Download an archive file and unpack it in a target directory on the EC2 instance
                                      package3
(e.g from S3). Supported formats are tar, tar+gzip, tar+bz2 and zip

files
Create files on the EC2 instance

Users/groups
Create Linux/UNIX users/groups on the EC2 instance
.ebextensions
                   Java, Python & Ruby container configuration


packages
Download and install pre-packaged applications and components using apt, yum,
rubygems, python, and rpm
                                sources:
sources                           /home/myfiles:
                                https://s3.amazonaws.com/bucket/myf
Download an archive file and unpack it in a target directory on the EC2 instance
                                iles.zip
(e.g from S3). Supported formats are tar, tar+gzip, tar+bz2 and zip

files
Create files on the EC2 instance

Users/groups
Create Linux/UNIX users/groups on the EC2 instance
.ebextensions
                    Java, Python & Ruby container configuration


packages                       files:
Download and install pre-packaged“/home/ec2-user/myfile” :
                                  applications and components using     apt, yum,
                                   mode: "000777"
rubygems, python, and rpm          owner: ec2-user
                                   group: ec2-user
sources                            source: http://foo.bar/myfile
Download an archive file and unpack it in a target directory on the EC2 instance
                                 “/home/ec2-user/myfile2” :
(e.g from S3). Supported formats are tar, tar+gzip, tar+bz2 and zip
                                      mode: “000777”
                                      owner: ec2-user
files                                 group: ec2-user
Create files on the EC2 instance      content: |
                                        # this is my file
                                        # with content
Users/groups
Create Linux/UNIX users/groups on the EC2 instance
.ebextensions
                   Java, Python & Ruby container configuration


packages                        users:
Download and install pre-packaged - myuser : and components using apt, yum,
                                   applications
rubygems, python, and rpm                groups:
                                          - group1
sources                                   - group2
                                         uid: 50
Download an archive file and unpack it in a target directory on the EC2 instance
(e.g from S3). Supported formats are tar,homedir: tar+bz2 and zip
                                          tar+gzip, “/tmp”

files                           groups:
                                  - group1 : 45
Create files on the EC2 instance - group2 : 99
                                  - group3
Users/groups
Create Linux/UNIX users/groups on the EC2 instance
.ebextensions
                    Java, Python & Ruby container configuration


command
Execute commands on the EC2 instance

container_commands
Execute commands for your container

services
Define which services should be started or stopped when the instance is launched
including dependencies that require Beanstalk to execute a restart

option_settings
Define container settings that get passed in as environment variables on your
Amazon EC2 instances
.ebextensions
                    Java, Python & Ruby container configuration


command                      commands:
Execute commands on the EC2 instance
                                myscript:
container_commands                 command: myscript.py
                                   cwd: /home/ec2-user
Execute commands for your container
                                   env:
services                             a: b
Define which services should be started or stopped when the instance is launched
including dependencies that require Beanstalk to execute a restart

option_settings
Define container settings that get passed in as environment variables on your
Amazon EC2 instances
.ebextensions
                    Java, Python & Ruby container configuration


command
Execute commands on the EC2 instance
                                container_commands:
container_commands                 replace-config-label:
Execute commands for your containercommand: cp
                                .ebextensions/server.xml
services                        /etc/tomcat7/server.xml
Define which services should be started or stopped when the instance is launched
including dependencies that require Beanstalk to execute a restart

option_settings
Define container settings that get passed in as environment variables on your
Amazon EC2 instances
.ebextensions
                    Java, Python & Ruby container configuration


command
Execute commands on the EC2 instance

container_commands
                                services:
Execute commands for your container
                                   sysvinit:
services                              - myservice:
Define which services should be started or stopped when the instance is launched
                                           enabled: true
including dependencies that require Beanstalk to execute a restart
                                           ensureRunning: true
option_settings
Define container settings that get passed in as environment variables on your
Amazon EC2 instances
.ebextensions
                   Java, Python & Ruby container configuration


command                            option_settings:
Execute commands on the EC2 instance - namespace:
                                   aws:elasticbeanstalk:container:tom
container_commands                 cat:jvmoptions
Execute commands for your container option_name: Xmx
                                       value: 256m
services                             - option_name: AWS_SECRET_KEY
Define which services should be started or stopped when the instance is launched
                                       value:
including dependencies that require Beanstalk to execute a restart
                                   wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAM
option_settings                    PLEKEY
                                     - option_name: AWS_ACCESS_KEY_ID
Define container settings that get passed in as environment variables on your
                                       value: AKIAIOSFODNN7EXAMPLE
Amazon EC2 instances
VPC
Elastic Bean Stalk
        Deploy apps inside a Virtual Private Cloud



       Launch apps into a VPC




Launch “private”                  Deeper networking
  applications                         control
Elastic Bean Stalk
            Additional required options



VPCId
Contains the ID of the VPC

Subnets
Contains the ID of the Auto Scaling group subnet

ELBSubnets
Contains the ID of the subnet for the elastic load
balancer

SecurityGroups
Contains the ID of the security group.
VPC ID
VPC ID




         Auto-scaling
           subnet
VPC ID




                     Auto-scaling
                       subnet
ELBSubnet
Summary

New Python & Ruby containers
 Beanstalk integrates with RDS
              Beanstalk in VPC
http://aws.amazon.com/ela
        sticbeanstalk

More Related Content

What's hot

Creating a Mesos python framework
Creating a Mesos python frameworkCreating a Mesos python framework
Creating a Mesos python frameworkOlivier Sallou
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructuredAmi Mahloof
 
Multinode kubernetes-cluster
Multinode kubernetes-clusterMultinode kubernetes-cluster
Multinode kubernetes-clusterRam Nath
 
Continuous Integration: SaaS vs Jenkins in Cloud
Continuous Integration: SaaS vs Jenkins in CloudContinuous Integration: SaaS vs Jenkins in Cloud
Continuous Integration: SaaS vs Jenkins in CloudIdeato
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Composeraccoony
 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleRoman Rodomansky
 
Making Your Capistrano Recipe Book
Making Your Capistrano Recipe BookMaking Your Capistrano Recipe Book
Making Your Capistrano Recipe BookTim Riley
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with AugeasPuppet
 
CoreOS : 설치부터 컨테이너 배포까지
CoreOS : 설치부터 컨테이너 배포까지CoreOS : 설치부터 컨테이너 배포까지
CoreOS : 설치부터 컨테이너 배포까지충섭 김
 
Docker Security in Production Overview
Docker Security in Production OverviewDocker Security in Production Overview
Docker Security in Production OverviewDelve Labs
 
Running Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeRunning Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeDanielle Madeley
 
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012Carlos Sanchez
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
Rooting Out Root: User namespaces in Docker
Rooting Out Root: User namespaces in DockerRooting Out Root: User namespaces in Docker
Rooting Out Root: User namespaces in DockerPhil Estes
 
99cloud Docker Training module 2
99cloud Docker Training module 299cloud Docker Training module 2
99cloud Docker Training module 2Liang Bo
 
Docker Architecture (v1.3)
Docker Architecture (v1.3)Docker Architecture (v1.3)
Docker Architecture (v1.3)rajdeep
 
Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Docker, Inc.
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationImesh Gunaratne
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
 

What's hot (20)

Creating a Mesos python framework
Creating a Mesos python frameworkCreating a Mesos python framework
Creating a Mesos python framework
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructured
 
Multinode kubernetes-cluster
Multinode kubernetes-clusterMultinode kubernetes-cluster
Multinode kubernetes-cluster
 
Docker
DockerDocker
Docker
 
Continuous Integration: SaaS vs Jenkins in Cloud
Continuous Integration: SaaS vs Jenkins in CloudContinuous Integration: SaaS vs Jenkins in Cloud
Continuous Integration: SaaS vs Jenkins in Cloud
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with Ansible
 
Making Your Capistrano Recipe Book
Making Your Capistrano Recipe BookMaking Your Capistrano Recipe Book
Making Your Capistrano Recipe Book
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
 
CoreOS : 설치부터 컨테이너 배포까지
CoreOS : 설치부터 컨테이너 배포까지CoreOS : 설치부터 컨테이너 배포까지
CoreOS : 설치부터 컨테이너 배포까지
 
Docker Security in Production Overview
Docker Security in Production OverviewDocker Security in Production Overview
Docker Security in Production Overview
 
Running Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeRunning Django on Docker: a workflow and code
Running Django on Docker: a workflow and code
 
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Rooting Out Root: User namespaces in Docker
Rooting Out Root: User namespaces in DockerRooting Out Root: User namespaces in Docker
Rooting Out Root: User namespaces in Docker
 
99cloud Docker Training module 2
99cloud Docker Training module 299cloud Docker Training module 2
99cloud Docker Training module 2
 
Docker Architecture (v1.3)
Docker Architecture (v1.3)Docker Architecture (v1.3)
Docker Architecture (v1.3)
 
Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 

Viewers also liked

Gerenciando o ciclo de vida de aplicações com AWS Elastic Beanstalk
Gerenciando o ciclo de vida de aplicações com AWS Elastic BeanstalkGerenciando o ciclo de vida de aplicações com AWS Elastic Beanstalk
Gerenciando o ciclo de vida de aplicações com AWS Elastic Beanstalktdc-globalcode
 
February 2016 Webinar Series Migrate Your Apps from Parse to AWS
February 2016 Webinar Series   Migrate Your Apps from Parse to AWSFebruary 2016 Webinar Series   Migrate Your Apps from Parse to AWS
February 2016 Webinar Series Migrate Your Apps from Parse to AWSAmazon Web Services
 
AWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data AnalyticsAWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data AnalyticsAmazon Web Services
 
CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012Amazon Web Services
 
Webinar: Delivering Static and Dynamic Content Using CloudFront
Webinar: Delivering Static and Dynamic Content Using CloudFrontWebinar: Delivering Static and Dynamic Content Using CloudFront
Webinar: Delivering Static and Dynamic Content Using CloudFrontAmazon Web Services
 
STP205 Making it Big Without Breaking the Bank - AWS re: Invent 2012
STP205 Making it Big Without Breaking the Bank - AWS re: Invent 2012STP205 Making it Big Without Breaking the Bank - AWS re: Invent 2012
STP205 Making it Big Without Breaking the Bank - AWS re: Invent 2012Amazon Web Services
 
Advanced Topics - Session 1 - Continuous Deployment Practices on AWS
Advanced Topics - Session 1 - Continuous Deployment Practices on AWSAdvanced Topics - Session 1 - Continuous Deployment Practices on AWS
Advanced Topics - Session 1 - Continuous Deployment Practices on AWSAmazon Web Services
 
AWS Partner Presentation - Suse Linux Proven Cloud Success
AWS Partner Presentation - Suse Linux Proven Cloud SuccessAWS Partner Presentation - Suse Linux Proven Cloud Success
AWS Partner Presentation - Suse Linux Proven Cloud SuccessAmazon Web Services
 
AWS Summit Auckland 2014 | Understanding AWS Security
AWS Summit Auckland 2014 | Understanding AWS Security AWS Summit Auckland 2014 | Understanding AWS Security
AWS Summit Auckland 2014 | Understanding AWS Security Amazon Web Services
 
(DEV303) Practical DynamoDB Programming in Java
(DEV303) Practical DynamoDB Programming in Java(DEV303) Practical DynamoDB Programming in Java
(DEV303) Practical DynamoDB Programming in JavaAmazon Web Services
 
Delivering High Performance Content
Delivering High Performance ContentDelivering High Performance Content
Delivering High Performance ContentAmazon Web Services
 
AWS Partner Presentation - Sonian
AWS Partner Presentation - SonianAWS Partner Presentation - Sonian
AWS Partner Presentation - SonianAmazon Web Services
 
Journey Through the AWS Cloud; Application Services
Journey Through the AWS Cloud; Application ServicesJourney Through the AWS Cloud; Application Services
Journey Through the AWS Cloud; Application ServicesAmazon Web Services
 
REA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation DayREA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation DayAmazon Web Services
 
Leveraging Hybid IT for More Robust Business Services
Leveraging Hybid IT for More Robust Business ServicesLeveraging Hybid IT for More Robust Business Services
Leveraging Hybid IT for More Robust Business ServicesAmazon Web Services
 
Media Success Stories from the Cloud
Media Success Stories from the CloudMedia Success Stories from the Cloud
Media Success Stories from the CloudAmazon Web Services
 
Un backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésUn backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésAmazon Web Services
 
Andy Jassy Keynote Sydney Customer Appreciation Day
Andy Jassy Keynote Sydney Customer Appreciation DayAndy Jassy Keynote Sydney Customer Appreciation Day
Andy Jassy Keynote Sydney Customer Appreciation DayAmazon Web Services
 

Viewers also liked (20)

Gerenciando o ciclo de vida de aplicações com AWS Elastic Beanstalk
Gerenciando o ciclo de vida de aplicações com AWS Elastic BeanstalkGerenciando o ciclo de vida de aplicações com AWS Elastic Beanstalk
Gerenciando o ciclo de vida de aplicações com AWS Elastic Beanstalk
 
February 2016 Webinar Series Migrate Your Apps from Parse to AWS
February 2016 Webinar Series   Migrate Your Apps from Parse to AWSFebruary 2016 Webinar Series   Migrate Your Apps from Parse to AWS
February 2016 Webinar Series Migrate Your Apps from Parse to AWS
 
AWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data AnalyticsAWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data Analytics
 
CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012
 
Webinar: Delivering Static and Dynamic Content Using CloudFront
Webinar: Delivering Static and Dynamic Content Using CloudFrontWebinar: Delivering Static and Dynamic Content Using CloudFront
Webinar: Delivering Static and Dynamic Content Using CloudFront
 
STP205 Making it Big Without Breaking the Bank - AWS re: Invent 2012
STP205 Making it Big Without Breaking the Bank - AWS re: Invent 2012STP205 Making it Big Without Breaking the Bank - AWS re: Invent 2012
STP205 Making it Big Without Breaking the Bank - AWS re: Invent 2012
 
Advanced Topics - Session 1 - Continuous Deployment Practices on AWS
Advanced Topics - Session 1 - Continuous Deployment Practices on AWSAdvanced Topics - Session 1 - Continuous Deployment Practices on AWS
Advanced Topics - Session 1 - Continuous Deployment Practices on AWS
 
AWS Partner Presentation - Suse Linux Proven Cloud Success
AWS Partner Presentation - Suse Linux Proven Cloud SuccessAWS Partner Presentation - Suse Linux Proven Cloud Success
AWS Partner Presentation - Suse Linux Proven Cloud Success
 
AWS Summit Auckland 2014 | Understanding AWS Security
AWS Summit Auckland 2014 | Understanding AWS Security AWS Summit Auckland 2014 | Understanding AWS Security
AWS Summit Auckland 2014 | Understanding AWS Security
 
(DEV303) Practical DynamoDB Programming in Java
(DEV303) Practical DynamoDB Programming in Java(DEV303) Practical DynamoDB Programming in Java
(DEV303) Practical DynamoDB Programming in Java
 
From Development to Production
From Development to ProductionFrom Development to Production
From Development to Production
 
Delivering High Performance Content
Delivering High Performance ContentDelivering High Performance Content
Delivering High Performance Content
 
AWS Partner Presentation - Sonian
AWS Partner Presentation - SonianAWS Partner Presentation - Sonian
AWS Partner Presentation - Sonian
 
Journey Through the AWS Cloud; Application Services
Journey Through the AWS Cloud; Application ServicesJourney Through the AWS Cloud; Application Services
Journey Through the AWS Cloud; Application Services
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
REA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation DayREA Sydney Customer Appreciation Day
REA Sydney Customer Appreciation Day
 
Leveraging Hybid IT for More Robust Business Services
Leveraging Hybid IT for More Robust Business ServicesLeveraging Hybid IT for More Robust Business Services
Leveraging Hybid IT for More Robust Business Services
 
Media Success Stories from the Cloud
Media Success Stories from the CloudMedia Success Stories from the Cloud
Media Success Stories from the Cloud
 
Un backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésUn backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectés
 
Andy Jassy Keynote Sydney Customer Appreciation Day
Andy Jassy Keynote Sydney Customer Appreciation DayAndy Jassy Keynote Sydney Customer Appreciation Day
Andy Jassy Keynote Sydney Customer Appreciation Day
 

Similar to AWS Elastic Beanstalk Update London Nov 2012

Amazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionAmazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionPaolo latella
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Cosimo Streppone
 
Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2Imesh Gunaratne
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBlueData, Inc.
 
K8s security best practices
K8s security best practicesK8s security best practices
K8s security best practicesSharon Vendrov
 
Cloud Native Computing - Part III - Containers
Cloud Native Computing - Part III - ContainersCloud Native Computing - Part III - Containers
Cloud Native Computing - Part III - ContainersLinjith Kunnon
 
DockerCon 18 docker storage
DockerCon 18 docker storageDockerCon 18 docker storage
DockerCon 18 docker storageDaniel Finneran
 
Docker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker, Inc.
 
K8s security best practices
K8s security best practicesK8s security best practices
K8s security best practicesSharon Vendrov
 
Go Faster with Ansible (AWS meetup)
Go Faster with Ansible (AWS meetup)Go Faster with Ansible (AWS meetup)
Go Faster with Ansible (AWS meetup)Richard Donkin
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Amazon Web Services
 
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...Docker, Inc.
 
Using Docker with OpenStack - Hands On!
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!Adrian Otto
 
Hands on introduction to docker security for docker newbies
Hands on introduction to docker security for docker newbiesHands on introduction to docker security for docker newbies
Hands on introduction to docker security for docker newbiesYigal Elefant
 
Linux Container Technology inside Docker with RHEL7
Linux Container Technology inside Docker with RHEL7Linux Container Technology inside Docker with RHEL7
Linux Container Technology inside Docker with RHEL7Etsuji Nakai
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsSalman Baset
 

Similar to AWS Elastic Beanstalk Update London Nov 2012 (20)

Docker
DockerDocker
Docker
 
Amazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionAmazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to production
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Docker in production
Docker in productionDocker in production
Docker in production
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013
 
Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2Deep Dive into Kubernetes - Part 2
Deep Dive into Kubernetes - Part 2
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
K8s security best practices
K8s security best practicesK8s security best practices
K8s security best practices
 
Cloud Native Computing - Part III - Containers
Cloud Native Computing - Part III - ContainersCloud Native Computing - Part III - Containers
Cloud Native Computing - Part III - Containers
 
DockerCon 18 docker storage
DockerCon 18 docker storageDockerCon 18 docker storage
DockerCon 18 docker storage
 
Docker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker storage designing a platform for persistent data
Docker storage designing a platform for persistent data
 
K8s security best practices
K8s security best practicesK8s security best practices
K8s security best practices
 
Go Faster with Ansible (AWS meetup)
Go Faster with Ansible (AWS meetup)Go Faster with Ansible (AWS meetup)
Go Faster with Ansible (AWS meetup)
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
 
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
DockerCon EU 2015: Persistent, stateful services with docker cluster, namespa...
 
Using Docker with OpenStack - Hands On!
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!
 
Hands on introduction to docker security for docker newbies
Hands on introduction to docker security for docker newbiesHands on introduction to docker security for docker newbies
Hands on introduction to docker security for docker newbies
 
Linux Container Technology inside Docker with RHEL7
Linux Container Technology inside Docker with RHEL7Linux Container Technology inside Docker with RHEL7
Linux Container Technology inside Docker with RHEL7
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container Platforms
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

AWS Elastic Beanstalk Update London Nov 2012

  • 1. Amazon Web Services Update | London November 2012
  • 2. Elastic Bean Stalk Quickly deploy and manage apps in AWS…
  • 3. Elastic Bean Stalk Application package is deployed into Beanstalk
  • 4. Elastic Bean Stalk Which creates the container in EC2 User Application Application Service HTTP Service Language Interpreter Operating System Host
  • 5. Elastic Bean Stalk Beanstalk takes care of the environment…
  • 6. Elastic Bean Stalk …adding Elastic Load Balancer…
  • 7. Elastic Bean Stalk …Auto Scaling groups
  • 8. Elastic Bean Stalk …and launching instances
  • 9. Elastic Bean Stalk …all wired into the Beanstalk framework
  • 10. Elastic Bean Stalk …and published under a CNAME
  • 11. Elastic Bean Stalk …with logs and app versions held in S3
  • 12. What about the container?
  • 13. Elastic Bean Stalk …into a range of containers .Net PHP Java
  • 14. Elastic Bean Stalk Adding new containers… Ruby + Python
  • 15. Elastic Bean Stalk Containers… User Application Application Service HTTP Service Language Interpreter Operating System Host
  • 16. Elastic Bean Stalk …Python mod-wsgi & apache User Application Application Service Apache mod_wsgi Python Operating System Host
  • 17. Elastic Bean Stalk …Python mod-wsgi & apache requirements.txt Django==1.4.1 Flask==0.9
  • 18. Elastic Bean Stalk Containers… User Application Application Service HTTP Service Language Interpreter Operating System Host
  • 19. Elastic Bean Stalk Passenger & Nginx… User Application Application Service Nginx passenger Ruby Operating System Host
  • 20. Elastic Bean Stalk Passenger & Nginx… Classic rails MVC Bare-metal routes (non-MVC)
  • 21. What about the data?
  • 22.
  • 23. D.I.Y
  • 24. Elastic Bean Stalk Adding new containers… Ruby + Python + Java
  • 25. Elastic Bean Stalk Adding new containers… Ruby + Python + Java RDS
  • 26. Option to create RDS at application launch:
  • 27. Grab connection details for use: String dbName = System.getProperty("RDS_DB_NAME"); String userName = System.getProperty("RDS_USERNAME"); String password = System.getProperty("RDS_PASSWORD"); String hostname = System.getProperty("RDS_HOSTNAME"); String port = System.getProperty("RDS_PORT");
  • 28. Grab connection details from os.environ’s import os if 'RDS_HOSTNAME' in os.environ: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': os.environ['RDS_DB_NAME'], 'USER': os.environ['RDS_USER'], 'PASSWORD’: os.environ['RDS_PASSWORD'], 'HOST': os.environ['RDS_HOSTNAME'], 'PORT': os.environ['RDS_PORT'], } }
  • 29. Add “.ebextensions” directory Add “python.config” file commands: syncdb: command: "django-admin.py syncdb --noinput" leader_only: true option_settings: "aws:elasticbeanstalk:application:python:environment": DJANGO_SETTINGS_MODULE: "mysite.settings" "aws:elasticbeanstalk:container:python": WSGIPath: "mysite/wsgi.py"
  • 30. RDS populated from Django model (use Django Evolution etc to upate when model changes) commands: syncdb: command: "django-admin.py syncdb --noinput" leader_only: true option_settings: "aws:elasticbeanstalk:application:python:environment": DJANGO_SETTINGS_MODULE: "mysite.settings" "aws:elasticbeanstalk:container:python": WSGIPath: "mysite/wsgi.py"
  • 31. Update database.yml to include generated RDS details: production: adapter: mysql2 encoding: utf8 database: <%= ENV['RDS_DB_NAME'] %> username: <%= ENV['RDS_USERNAME'] %> password: <%= ENV['RDS_PASSWORD'] %> host: <%= ENV['RDS_HOSTNAME'] %> port: <%= ENV['RDS_PORT'] %>
  • 32. Add “.ebextensions” directory Add “.config” file # Configure third-party service credentials # Run rake tasks before an application deployment container_commands: 01deploy: command: rake my_deployment_tasks # in environment variables: option_settings: - option_name: AIRBRAKE_API_KEY value: MYAPIKEY
  • 33. RDS populated from rails model # Configure third-party service credentials # Run rake tasks before an application deployment container_commands: 01deploy: command: rake my_deployment_tasks # in environment variables: option_settings: - option_name: AIRBRAKE_API_KEY value: MYAPIKEY
  • 34. Rails rake Git Beanstalk RDS Django syncdb
  • 35. Container config .ebextensions Git Beanstalk RDS Language/ver Configuration/co sions mmands
  • 36. .ebextensions Java, Python & Ruby container configuration packages Download and install pre-packaged applications and components using apt, yum, rubygems, python, and rpm sources Download an archive file and unpack it in a target directory on the EC2 instance (e.g from S3). Supported formats are tar, tar+gzip, tar+bz2 and zip files Create files on the EC2 instance Users/groups Create Linux/UNIX users/groups on the EC2 instance
  • 37. .ebextensions Java, Python & Ruby container configuration packages packages: Download and install pre-packagedyum: applications and components using apt, yum, rubygems, python, and rpm package1: [3.2.1] sources package2: [1.0] rpm: Download an archive file and unpack it in a target directory on the EC2 instance package3 (e.g from S3). Supported formats are tar, tar+gzip, tar+bz2 and zip files Create files on the EC2 instance Users/groups Create Linux/UNIX users/groups on the EC2 instance
  • 38. .ebextensions Java, Python & Ruby container configuration packages Download and install pre-packaged applications and components using apt, yum, rubygems, python, and rpm sources: sources /home/myfiles: https://s3.amazonaws.com/bucket/myf Download an archive file and unpack it in a target directory on the EC2 instance iles.zip (e.g from S3). Supported formats are tar, tar+gzip, tar+bz2 and zip files Create files on the EC2 instance Users/groups Create Linux/UNIX users/groups on the EC2 instance
  • 39. .ebextensions Java, Python & Ruby container configuration packages files: Download and install pre-packaged“/home/ec2-user/myfile” : applications and components using apt, yum, mode: "000777" rubygems, python, and rpm owner: ec2-user group: ec2-user sources source: http://foo.bar/myfile Download an archive file and unpack it in a target directory on the EC2 instance “/home/ec2-user/myfile2” : (e.g from S3). Supported formats are tar, tar+gzip, tar+bz2 and zip mode: “000777” owner: ec2-user files group: ec2-user Create files on the EC2 instance content: | # this is my file # with content Users/groups Create Linux/UNIX users/groups on the EC2 instance
  • 40. .ebextensions Java, Python & Ruby container configuration packages users: Download and install pre-packaged - myuser : and components using apt, yum, applications rubygems, python, and rpm groups: - group1 sources - group2 uid: 50 Download an archive file and unpack it in a target directory on the EC2 instance (e.g from S3). Supported formats are tar,homedir: tar+bz2 and zip tar+gzip, “/tmp” files groups: - group1 : 45 Create files on the EC2 instance - group2 : 99 - group3 Users/groups Create Linux/UNIX users/groups on the EC2 instance
  • 41. .ebextensions Java, Python & Ruby container configuration command Execute commands on the EC2 instance container_commands Execute commands for your container services Define which services should be started or stopped when the instance is launched including dependencies that require Beanstalk to execute a restart option_settings Define container settings that get passed in as environment variables on your Amazon EC2 instances
  • 42. .ebextensions Java, Python & Ruby container configuration command commands: Execute commands on the EC2 instance myscript: container_commands command: myscript.py cwd: /home/ec2-user Execute commands for your container env: services a: b Define which services should be started or stopped when the instance is launched including dependencies that require Beanstalk to execute a restart option_settings Define container settings that get passed in as environment variables on your Amazon EC2 instances
  • 43. .ebextensions Java, Python & Ruby container configuration command Execute commands on the EC2 instance container_commands: container_commands replace-config-label: Execute commands for your containercommand: cp .ebextensions/server.xml services /etc/tomcat7/server.xml Define which services should be started or stopped when the instance is launched including dependencies that require Beanstalk to execute a restart option_settings Define container settings that get passed in as environment variables on your Amazon EC2 instances
  • 44. .ebextensions Java, Python & Ruby container configuration command Execute commands on the EC2 instance container_commands services: Execute commands for your container sysvinit: services - myservice: Define which services should be started or stopped when the instance is launched enabled: true including dependencies that require Beanstalk to execute a restart ensureRunning: true option_settings Define container settings that get passed in as environment variables on your Amazon EC2 instances
  • 45. .ebextensions Java, Python & Ruby container configuration command option_settings: Execute commands on the EC2 instance - namespace: aws:elasticbeanstalk:container:tom container_commands cat:jvmoptions Execute commands for your container option_name: Xmx value: 256m services - option_name: AWS_SECRET_KEY Define which services should be started or stopped when the instance is launched value: including dependencies that require Beanstalk to execute a restart wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAM option_settings PLEKEY - option_name: AWS_ACCESS_KEY_ID Define container settings that get passed in as environment variables on your value: AKIAIOSFODNN7EXAMPLE Amazon EC2 instances
  • 46. VPC
  • 47. Elastic Bean Stalk Deploy apps inside a Virtual Private Cloud Launch apps into a VPC Launch “private” Deeper networking applications control
  • 48. Elastic Bean Stalk Additional required options VPCId Contains the ID of the VPC Subnets Contains the ID of the Auto Scaling group subnet ELBSubnets Contains the ID of the subnet for the elastic load balancer SecurityGroups Contains the ID of the security group.
  • 50. VPC ID Auto-scaling subnet
  • 51. VPC ID Auto-scaling subnet ELBSubnet
  • 52. Summary New Python & Ruby containers Beanstalk integrates with RDS Beanstalk in VPC
  • 53. http://aws.amazon.com/ela sticbeanstalk