SlideShare ist ein Scribd-Unternehmen logo
1 von 88
Downloaden Sie, um offline zu lesen
Continuous Deployment Practices, with Production, Test
   and Development Environments Running on AWS




             Chris Munns, Solutions Architect, Chris Barclay, Senior
            Product Manager, and Mike Limcaco, Solutions Architect
This talk:




• Not going to spend a lot of time talking about Continuous
  Integration(CI) and Continuous Deployment(CD) philosophy
• Will spend more time talking about how AWS can help you if
  practicing CI and CD are your goals
• Examples to get you thinking, but not the only way
• AWS + Open Source solutions
• Continuous Integration
• Continuous Deployment
• Continuous Integration   Techniques and tools to
• Continuous Deployment    implement continuous
                           processes of applying quality
                           control in general small
                           pieces of effort, applied
                           frequently, to improve the
                           quality of software, and to
                           reduce the time taken to
                           deliver it.
• Continuous Integration   Techniques and tools to
• Continuous Deployment    improve the process of
                           software delivery, resulting in
                           the ability to rapidly, reliably,
                           and repeatedly push out
                           enhancements and bug fixes
                           to customers at low risk and
                           with minimal manual
                           overhead.
• Continuous Integration   Getting code from
• Continuous Deployment    developers’ brains,
                           through their fingers,
                           to production quickly
                           and efficiently, with
                           positive results.
Continuous Integration & Deployment on AWS

•   Treat infrastructure as code
•   Automate the testing/deploy process end to end
•   Make sure environments mimic each other as closely as possible
•   Use repeatable patterns between environments at a different scale
•   Use different cost models where it makes sense
•   Simplify and streamline the deploy process
•   Let AWS services handle control flows
•   Track everything (instance metrics, application metrics, logs)
es
In today’s infrastructure, everything is code.
    From the applications developers are writing, to
  your configuration management tools, to things like
CloudFormation templates or scripts that call AWS APIs.
Since Infrastructure is code, let’s treat it like code!
   –   Not JUST Revision control!
   –   Make use of bug tracking/ticketing systems
   –   Peer reviews of changes before they happen
   –   Establish infrastructure code patterns/designs
   –   Test infrastructure changes like code changes
Let’s talk about
  the journey our
 code is going to
take to production
1.Code gets written
2.Code gets tested
3.Code gets deployed
4.Code gets consumed
1.Code gets written
  –   Someone writes code and commits to revision
      control system
  –   Hooks in revision control, system kicks off CI work

2.Code gets tested
  –   Unit tests, integration tests, db tests, smoke tests,
      UI tests
  –   “Light green, trap clean” OR GOTO STEP 1

3.Code gets deployed
  –   Ship out that code

4.Code gets consumed
  –   Customers use it, love it, victory, profit, vacation in
      Bora Bora
1.Software ( tools, services, scripts )
2.Infrastructure Environments ( dev, test, prod )
3.Process ( deploy, monitor, alert, track )
1.Software ( tools, services, scripts )
2.Infrastructure Environments ( dev, test, prod )
3.Process ( deploy, monitor, alert, track )

We need tools to help work with all of the
   above quickly and more efficiently
First stop on our journey: Continuous Integration-ville
•   Help prove code quality and function repeatedly with predefined results
•   Lots of options; self hosted, open source, closed source, and SaaS
Continuous Integration - Jenkins

                                                       • Open Source
                                                       • Well established and used by many
                                                       • Has plugins for EC2/SQS/SNS/CloudFormation!
                                                           • Supports spot pricing!
“An extendable open source continuous                      • Supports the ability to put workers into a
          integration server”                                 “standby” mode by stopping instead of
                                                              terminating
                                                       • Scales well
                                                           • Easily add more EC2 instances as workers
                                                       • Flexible
                               Pre-commit              • Easy to get started
                                  Hook      Internal
CI Workers       CI Server                     Git

             Testing Environment Subnet
Test Chef Cookbooks w/ FoodCritic after each Git Commit.
Test Chef Cookbooks w/ FoodCritic after each Git Commit.




      Blue dot is good!
Where is our code going?
Infrastructure Environments
A bad thing people do:

 “Developers develop locally on their laptops, mostly OS X based, then deploy to
  production, which is Ubuntu. Each laptop has a slightly different setup, and we
            don’t maintain software versions across the whole team.”

    – Dev and prod not in sync
    – Dev not in sync with all of dev
    – No testing tier between dev and prod
Infrastructure Environments
A bad thing people do:

 “Developers develop locally on their laptops, mostly OS X based, then deploy to
  production, which is Ubuntu. Each laptop has a slightly different setup, and we
            don’t maintain software versions across the whole team.”

    – Dev and prod not in sync
    – Dev not in sync with all of dev             “it worked fine on my laptop”
    – No testing tier between dev and prod
Infrastructure Environments
A bad thing people do:

 “Developers develop locally on their laptops, mostly OS X based, then deploy to
  production, which is Ubuntu. Each laptop has a slightly different setup, and we
            don’t maintain software versions across the whole team.”

    – Dev and prod not in sync
    – Dev not in sync with all of dev             “it worked fine on my laptop”
    – No testing tier between dev and prod
NAT                               Customer
                                                                                                           Traffic
                                                                       Bastion/       Amazon CloudWatch
                                                                        Chef
     RDS DB
                     Instance                     Instance
    Instance

 VPC Subnet            VPC Subnet Availability Zone Subnet
                                               VPC              VPC Subnet                   Amazon
                                                                                              SNS




                                                                                  Internet
                                                                                                            Amazon
                                                                                  Gateway
                                                                                                            Route 53
 RDS DB Instance
Standby (Multi-AZ)   Instance                     Instance
                                ELB                             ELB

  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone


                                                                                       Amazon S3
                                                                                                             Amazon
                                                                                                            CloudFront


 Potential RDS DB    Instance                      Instance
  Instance Read
      Replica                                                                               AWS
                                                                                       CloudFormation
  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone
                                                                                     Region
NAT                               Customer
                                                                                                           Traffic
                                                                       Bastion/       Amazon CloudWatch
                                                                        Chef
     RDS DB
                     Instance                     Instance
    Instance

 VPC Subnet            VPC Subnet Availability Zone Subnet
                                               VPC              VPC Subnet                   Amazon
                                                                                              SNS




                                                                                  Internet
                                                                                                            Amazon
                                                                                  Gateway
                                                                                                            Route 53
 RDS DB Instance
Standby (Multi-AZ)   Instance                     Instance
                                ELB                             ELB

  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone


                                                                                       Amazon S3
                                                                                                             Amazon
                                                                                                            CloudFront


Potential RDS DB     Instance                      Instance
 Instance Read
     Replica                                                                                AWS
                                                                                       CloudFormation
  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone
                                                                                     Region
Our Development Infrastructure




    Dev MySQL DB Instance                         DEV APP ELB                DEV WEB ELB


                            Dev Stack                            Dev Stack
                             Tier 2                               Tier 1




                                    Dev Environment VPC Subnet
Our Development Infrastructure




    Dev MySQL DB Instance                         DEV APP ELB                DEV WEB ELB


                            Dev Stack                            Dev Stack
                             Tier 2                               Tier 1




                                    Dev Environment VPC Subnet
NAT                             Customer
                                                                       Bastio
                                                                                                         Traffic
                                                                                    Amazon CloudWatch
                                                                       n/Chef
     RDS DB
    Instance         Instance                     Instance

 VPC Subnet            VPC Subnet Availability Zone Subnet
                                               VPC              VPC Subnet                 Amazon
                                                                                            SNS




                                                                                Internet
                                                                                                          Amazon
                                                                                Gateway
                                                                                                          Route 53
 RDS DB Instance
Standby (Multi-AZ)   Instance                     Instance
                                ELB                             ELB

  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone


                                                                                     Amazon S3
                                                                                                           Amazon
                                                                                                          CloudFront


    Potential        Instance                      Instance
     RDS DB
    Instance                                                                              AWS
  Read Replica                                                                       CloudFormation
  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone
                                                                                   Region
Our Development Infrastructure




    Dev MySQL DB Instance                         DEV APP ELB                DEV WEB ELB


                            Dev Stack                            Dev Stack
                             Tier 2                               Tier 1




                                    Dev Environment VPC Subnet
NAT                               Customer
                                                                                                           Traffic
                                                                       Bastion/       Amazon CloudWatch
                                                                        Chef
     RDS DB
                     Instance                     Instance
    Instance

 VPC Subnet            VPC Subnet Availability Zone Subnet
                                               VPC              VPC Subnet                   Amazon
                                                                                              SNS




                                                                                  Internet
                                                                                                            Amazon
                                                                                  Gateway
                                                                                                            Route 53
 RDS DB Instance
Standby (Multi-AZ)   Instance                     Instance
                                ELB                             ELB

  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone


                                                                                       Amazon S3
                                                                                                             Amazon
                                                                                                            CloudFront


Potential RDS DB     Instance                      Instance
 Instance Read
     Replica                                                                                AWS
                                                                                       CloudFormation
  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone
                                                                                     Region
NAT                               Customer
                                                                                                           Traffic
                                                                       Bastion/       Amazon CloudWatch
                                                                        Chef
     RDS DB
                     Instance                     Instance
    Instance

 VPC Subnet            VPC Subnet Availability Zone Subnet
                                               VPC              VPC Subnet                   Amazon
                                                                                              SNS




                                                                                  Internet
                                                                                                            Amazon
                                                                                  Gateway
                                                                                                            Route 53
 RDS DB Instance
Standby (Multi-AZ)   Instance                     Instance
                                ELB                             ELB

  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone


                                                                                       Amazon S3
                                                                                                             Amazon
                                                                                                            CloudFront


 Potential RDS DB    Instance                      Instance
  Instance Read
      Replica                                                                               AWS
                                                                                       CloudFormation
  VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                     Availability Zone
                                                                                     Region
Our Development Infrastructure




    Dev MySQL DB Instance                         DEV APP ELB                DEV WEB ELB


                            Dev Stack                            Dev Stack
                             Tier 2                               Tier 1




                                    Dev Environment VPC Subnet
Our Development Infrastructure


                                                                                      Amazon S3                  Amazon
                                                                                                   Amazon
                                                                                                                 Route 53
                                                                                                  CloudFront
   Dev                  DEV APP                 DEV
                                                              Dev Admin
 MySQL DB   Dev Stack     ELB      Dev Stack   WEB ELB
                                                               Instance
 Instance    Tier 2                 Tier 1                                             Amazon
                                                                                      DynamoDB
            Dev Environment VPC Subnet

                                                                                                   VPN
                                                                                 Internet         TUNNEL
                                                                 VPN
                                                                                 Gateway
                                                                                                               Developers
                                                               Endpoint
                                                                                                                   &
                                                                                                               Operations

                                                                 NAT                 Amazon SQS
                                                               Instance
                                                         VPN facing VPC Subnet
Our Development Infrastructure


                                                                                      Amazon S3                  Amazon
                                                                                                   Amazon
                                                                                                                 Route 53
                                                                                                  CloudFront
   Dev                  DEV APP                 DEV
                                                              Dev Admin
 MySQL DB   Dev Stack     ELB      Dev Stack   WEB ELB
                                                               Instance
 Instance    Tier 2                 Tier 1                                             Amazon
                                                                                      DynamoDB
            Dev Environment VPC Subnet

                                                                                                   VPN
                                                                                 Internet         TUNNEL
                                                                 VPN
                                                                                 Gateway
                                                                                                               Developers
                                                               Endpoint
                                                                                                                   &
                                                                                                               Operations

                                                                 NAT                 Amazon SQS
                                                               Instance
                                                         VPN facing VPC Subnet
Our Development &Test Infrastructure


                                                                                        Amazon S3                  Amazon
                                                                                                     Amazon
                                                                                                                   Route 53
                                                                                                    CloudFront
    Dev                   DEV APP                 DEV
                                                                Dev Admin
  MySQL DB   Dev Stack      ELB     Dev Stack    WEB ELB
                                                                 Instance
  Instance    Tier 2                 Tier 1                                              Amazon
                                                                                        DynamoDB
             Dev Environment VPC Subnet

                                                                                                     VPN
                                                                                   Internet         TUNNEL
                                                                   VPN
                                                                                   Gateway
                                                                                                                 Developers
                                                                 Endpoint
                                                                                                                     &
                               Pre-commit                                                                        Operations
                                  Hook          Internal
CI Workers        CI Server                        Git             NAT                 Amazon SQS
                                                                 Instance
             Testing Environment Subnet                    VPN facing VPC Subnet
Infrastructure Environments
•   Be prepared to be running multiple environments
     –   Development
     –   Testing/QA
     –   Staging/Pre-prod
     –   Production
•   They should be running as close to the same stack as possible
•   Use configuration management and infrastructure orchestration tools
•   No one off hosts
•   A goal: Go from nothing to fully running instances without human intervention
This all seems like a lot of work,
                          and potentially costly.
But it doesn’t need to be!
Infrastructure Automation
We want to be able to rapidly stand up environments as we need to.
Sounds like we need some automation tools?


    –   CloudFormation
    –   Elastic Beanstalk
    –   OpsWorks
    –   Chef
    –   Puppet
AWS CloudFormation
"WebServer" : {
  "Type" : "AWS::EC2::Instance",
  "Properties" : {
  "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" }, "64" ]},
  "SpotPrice" : { "Ref" : "SpotPrice" },
  "InstanceType" : m1.large",
  "SecurityGroups" : [{ "Ref" : "InstanceSecurityGroup" }],
  "KeyName" : { "Ref" : "KeyName" },
  "UserData": {
    "Fn::Base64" : { "Fn::Join" : ["", [
       "#!/bin/bash -vn",
       "yum update -y aws-cfn-bootstrapn”,
        "curl -L http://www.opscode.com/chef/install.sh | bashn",
       "cd /etc/chefn",
       "/usr/bin/wget http://",{ "Ref" : "ChefServerIP" },"/chef/validation.pemn",
       "/usr/bin/wget http://",{ "Ref" : "ChefServerIP" },"/chef/client.rbn",
       "/bin/chown -R chef:chef /etc/chefn",
Our Development &Test Infrastructure


                                                                                        Amazon S3                  Amazon
                                                                                                     Amazon
                                                                                                                   Route 53
                                                                                                    CloudFront
    Dev                   DEV APP                 DEV
                                                                Dev Admin
  MySQL DB   Dev Stack      ELB     Dev Stack    WEB ELB
                                                                 Instance
  Instance    Tier 2                 Tier 1                                              Amazon
                                                                                        DynamoDB
             Dev Environment VPC Subnet

                                                                                                     VPN
                                                                                   Internet         TUNNEL
                                                                   VPN
                                                                                   Gateway
                                                                                                                 Developers
                                                                 Endpoint
                                                                                                                     &
                               Pre-commit                                                                        Operations
                                  Hook          Internal
CI Workers        CI Server                        Git             NAT                 Amazon SQS
                                                                 Instance
             Testing Environment Subnet                    VPN facing VPC Subnet
Our Development/Test Infrastructure


                                                                                        Amazon S3                  Amazon
                                                                                                     Amazon
                                                                                                                   Route 53
                                                                                                    CloudFront
    Dev                   DEV APP                 DEV
                                                                Dev Admin
  MySQL DB   Dev Stack      ELB     Dev Stack    WEB ELB
                                                                 Instance
  Instance    Tier 2                 Tier 1                                              Amazon
                                                                                        DynamoDB
             Dev Environment VPC Subnet

                                                                                                     VPN
                                                                                   Internet         TUNNEL
                                                                   VPN
                                                                                   Gateway
                                                                                                                 Developers
                                                                 Endpoint
                                                                                                                     &
                               Pre-commit                                                                        Operations
                                  Hook          Internal
CI Workers        CI Server                        Git             NAT                 Amazon SQS
                                                                 Instance
             Testing Environment Subnet                    VPN facing VPC Subnet
AWS Elastic Beanstalk & OpsWorks
Elastic Beanstalk:
• Application container framework similar to a PaaS
• Deploy your application into Elastic Beanstalk and it takes care of building a self
   healing, auto-scaling, multi-AZ infrastructure
• Allows you to turn some of the knobs under the hood to tweak
• Considered one of the easiest places to start with hosting an application on AWS

OpsWorks:
• Build multi-layer application stacks
• Ties in with Chef for a large degree of flexibility and customization
• Makes deploying applications easier
• More flexible than Elastic Beanstalk, but requires a bit more knowledge
Our Development/Test Infrastructure
Elastic Beanstalk or OpsWorks
                                                                                         Amazon S3                  Amazon
                                                                                                      Amazon
                                                                                                                    Route 53
                                                                                                     CloudFront
     Dev                   DEV APP                 DEV
                                                                 Dev Admin
   MySQL DB   Dev Stack      ELB     Dev Stack    WEB ELB
                                                                  Instance
   Instance    Tier 2                 Tier 1                                              Amazon
                                                                                         DynamoDB
              Dev Environment VPC Subnet

                                                                                                      VPN
                                                                                    Internet         TUNNEL
                                                                    VPN
                                                                                    Gateway
                                                                                                                  Developers
                                                                  Endpoint
                                                                                                                      &
                                Pre-commit                                                                        Operations
                                   Hook          Internal
 CI Workers        CI Server                        Git             NAT                 Amazon SQS
                                                                  Instance
              Testing Environment Subnet                    VPN facing VPC Subnet
NAT                               Customer
                                                                                                             Traffic
Elastic Beanstalk or OpsWorks
       RDS DB
      Instance         Instance                     Instance
                                                                         Bastion/
                                                                          Chef
                                                                                        Amazon CloudWatch




   VPC Subnet            VPC Subnet Availability Zone Subnet
                                                 VPC              VPC Subnet                   Amazon
                                                                                                SNS




                                                                                    Internet
                                                                                                              Amazon
                                                                                    Gateway
                                                                                                              Route 53
   RDS DB Instance
  Standby (Multi-AZ)   Instance                     Instance
                                  ELB                             ELB

    VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                       Availability Zone


                                                                                         Amazon S3
                                                                                                               Amazon
                                                                                                              CloudFront


   Potential RDS DB    Instance                      Instance
    Instance Read
        Replica                                                                               AWS
                                                                                         CloudFormation
    VPC Subnet            VPC Subnet                 VPC Subnet    VPC Subnet
                                       Availability Zone
                                                                                       Region
Imagine you had an infrastructure you could turn on/off on
  demand, make use of spare capacity at a lower cost,
  and/or make a reservation for capacity based on your
        usage needs and save money doing so.
Oh right, on AWS you do.
Using the Right Cost Model – EC2
• On Demand
• Reserved Instance ( RI ) – 40%+ savings
• Spot – 80%+ savings

Each has its place. For development infrastructure, there
are often places for each:
• On Demand – Developer instances started/stopped daily
• Reserved Instances – Code repository, CI master, DBs
• Spot – CI workers, tiers of dev infrastructure that can tolerate going
         away for a bit
RRS S3, CloudFront
Our Development &Test Infrastructure                                                            Price Classes,
                SPOT/ON-DEMAND                                                                  DynamoDB RC

                                                                                        Amazon S3                  Amazon
                                                                                                     Amazon
                                                                                                                   Route 53
                                                                                                    CloudFront
    Dev                   DEV APP                 DEV
                                                                Dev Admin
  MySQL DB   Dev Stack      ELB     Dev Stack    WEB ELB
                                                                 Instance
  Instance    Tier 2                 Tier 1                                              Amazon
                                                                                        DynamoDB
             Dev Environment VPC Subnet

                                                                                                     VPN
                                                                                   Internet         TUNNEL
                                                                   VPN
                                                                                   Gateway
                                                                                                                 Developers
                                                                 Endpoint
                                                                                                                     &
                               Pre-commit                                                                        Operations
                                  Hook          Internal
CI Workers        CI Server                        Git             NAT                 Amazon SQS
                                                                 Instance
             Testing Environment Subnet                    VPN facing VPC Subnet

             RESERVED INSTANCES
Now that we know where our code is going,

                      how is it getting there?
Ship that code!
•   How are we going to deploy our code?
     – File shipping:
         • Just text files
         • Binaries
     – Package bundling:
         • RPMs
         • Tarballs
     – As an AMI:
         • Bundle one of the above into an AMI
•   How fast do we need to do this?              Yes, you can technically ship
•   Across how many instances?                   your code to AWS in a box. See
                                                 Import/Export.
•   How do we roll back (or forward)?
File Shipping Deploy Method
•   Can be easier to work with than AMI method and package bundling
•   Push out the code
     – From Git/SVN/staging host
•   Rolling restarts for web/application servers
•   Leave existing hosts in place
•   Have to worry about the cut over period
•   Have to worry about feasibility of roll back/forward
•   Can do deploy time schema changes (though a bad idea!)
•   Have to worry about tracking what version is live for building new hosts
Deploying – Package Building
•   Depending on the language/deployment method, you might need to take the
    time to package your code.
     – RPM
     – Deb
     – Something else?
•   Throw this in as a step after a successful CI run.

Look at using tools like FPM to manage building packages for different
distributions.
AMI Deployment Method
•   Code gets bundled into an AMI, we then deploy that AMI
     – Pluses
         •   Very atomic
         •   New shouldn’t effect older versions
         •   Can deploy alongside current
         •   Easy tools to automate
     – Cons
         • Bit more work involved
         • Have to think about where your data is persisting
         • Schema updates potentially harder to package in
•   Leverage configuration management tools in automation process
A quick aside - Schema updates
Schema changes tied to deployments are a huge blocker to moving fast.
    – Hard to undo a change
    – Can take a long time on SQL-based databases


Unlink this from code deploys:
    – Flag on/off new features that touch the database in new ways
    – Don’t make destructive database changes until no code touches that data
         • No deletes, alters to live data! Ever!
    – When altering existing data, opt instead to create a parallel column, copy data to new
      column, then delete old
    – Use “shadow queries” to test new functions/data sources for a percentage of users
      before turning live to all
AMI Deployment Method - Building
AMI Deployment Method - Building

Fully Functional
                                       OS-Only AMI
      AMI




                         Partially
                      Configured AMI
AMI Deployment Method - Building

Fully Functional
                                       OS-Only AMI
      AMI



 Least flexible
  to maintain



                         Partially
                      Configured AMI
AMI Deployment Method - Building

Fully Functional
                                        OS-Only AMI
      AMI



 Least flexible                        Most amount of
  to maintain                          post-boot work



                         Partially
                      Configured AMI
AMI Deployment Method - Building

Fully Functional
                                               OS-Only AMI
      AMI



 Least flexible    Try and find a happy       Most amount of
  to maintain          medium here            post-boot work



                                Partially
                             Configured AMI
AMI Deployment Method - Deploying
Blue/Green Deploys                                          Amazon
                                                            Route 53
    – We stand up a duplicate part of our
                                                        100%
      infrastructure and slowly cut traffic
      over to it
         • Shift via DNS                                       ELB
         • Makes it easy to do testing of new
           features
         • Makes it easy to roll back
    – As we shift more traffic over, let auto-
      scaling grow/shrink our instances of                  EC2 Instances
      the new or old application
         • Shut down the old when no traffic
           there
                                                             MySQL RDS      ElastiCache
                                                 DynamoDB
                                                              Instance      Cache Node
AMI Deployment Method - Deploying
Blue/Green Deploys                                                 Amazon
                                                                   Route 53
    – We stand up a duplicate part of our                    90%               10%
      infrastructure and slowly cut traffic
      over to it
         • Shift via DNS
                                                     ELB                              ELB
         • Makes it easy to do testing of new
           features
         • Makes it easy to roll back
    – As we shift more traffic over, let auto-
                                                 EC2 Instances                   EC2 Instances
      scaling grow/shrink our instances of
      the new or old application
         • Shut down the old when no traffic
           there
                                                                   MySQL RDS     ElastiCache
                                                      DynamoDB
                                                                    Instance     Cache Node
AMI Deployment Method - Deploying
Blue/Green Deploys                                                 Amazon
                                                                   Route 53
    – We stand up a duplicate part of our                    50%               50%
      infrastructure and slowly cut traffic
      over to it
         • Shift via DNS
                                                     ELB                              ELB
         • Makes it easy to do testing of new
           features
         • Makes it easy to roll back
    – As we shift more traffic over, let auto-
                                                 EC2 Instances                   EC2 Instances
      scaling grow/shrink our instances of
      the new or old application
         • Shut down the old when no traffic
           there
                                                                   MySQL RDS     ElastiCache
                                                      DynamoDB
                                                                    Instance     Cache Node
AMI Deployment Method - Deploying
Blue/Green Deploys                                                Amazon
                                                                  Route 53
    – We stand up a duplicate part of our                    0%               100%
      infrastructure and slowly cut traffic
      over to it
         • Shift via DNS
                                                     ELB                             ELB
         • Makes it easy to do testing of new
           features
         • Makes it easy to roll back
    – As we shift more traffic over, let auto-
                                                 EC2 Instances                  EC2 Instances
      scaling grow/shrink our instances of
      the new or old application
         • Shut down the old when no traffic
           there
                                                                  MySQL RDS     ElastiCache
                                                      DynamoDB
                                                                   Instance     Cache Node
AMI Deployment Method - Deploying
Blue/Green Deploys                                                Amazon
                                                                  Route 53
    – We stand up a duplicate part of our                    0%               100%
      infrastructure and slowly cut traffic
      over to it
         • Shift via DNS
                                                     ELB                             ELB
         • Makes it easy to do testing of new
           features
         • Makes it easy to roll back
    – As we shift more traffic over, let auto-
                                                 EC2 Instances                  EC2 Instances
      scaling grow/shrink our instances of
      the new or old application
         • Shut down the old when no traffic
           there
                                                                  MySQL RDS     ElastiCache
                                                      DynamoDB
                                                                   Instance     Cache Node
AMI Deployment Method - Deploying
Blue/Green Deploys                                          Amazon
                                                            Route 53
    – We stand up a duplicate part of our                               100%
      infrastructure and slowly cut traffic
      over to it
         • Shift via DNS
                                                                               ELB
         • Makes it easy to do testing of new
           features
         • Makes it easy to roll back
    – As we shift more traffic over, let auto-
      scaling grow/shrink our instances of                                EC2 Instances

      the new or old application
         • Shut down the old when no traffic
           there
                                                            MySQL RDS     ElastiCache
                                                 DynamoDB
                                                             Instance     Cache Node
AMI Deployment Method - Deploying
Blue/Green Deploys                                          Amazon
                                                            Route 53
    – We stand up a duplicate part of our
                                                        100%
      infrastructure and slowly cut traffic
      over to it
         • Shift via DNS                                       ELB
         • Makes it easy to do testing of new
           features
         • Makes it easy to roll back
    – As we shift more traffic over, let auto-
      scaling grow/shrink our instances of                  EC2 Instances
      the new or old application
         • Shut down the old when no traffic
           there
                                                             MySQL RDS      ElastiCache
                                                 DynamoDB
                                                              Instance      Cache Node
AMI Deployment Method - Deploying

Netflix – Asgard
   – Open Source tool
   – Released in 2012
   – “web-based tool for managing
     cloud-based applications and
     infrastructure.
   – Helps do Blue/Green Deploys
   – Capable of much more!
But how do we do all this quickly and
      easily many times a day?
We need robots
We need robots
We need robots

                 Amazon
                  SWF
Automating the Process with Robots
Amazon Simple Workflow (SWF)
• Orchestration tool across your infrastructure                          Amazon SWF
• Use it as a middle layer to pass messages and setup tasks to be completed
• Break down individual tasks into different workers
• You define logic between workers
• Anything that can be scripted, can be made into a worker task
• Built in retries, timeouts, logging
• Low cost, reliability, and scalability built in




              YOUR CODE =                                &
                                              Deciders       Workers
Automating the Process with Robots
Amazon Simple Workflow (SWF)
• Orchestration tool across your infrastructure                          Amazon SWF
• Use it as a middle layer to pass messages and setup tasks to be completed
• Break down individual tasks into different workers
• You define logic between workers
• Anything that can be scripted, can be made into a worker task
• Built in retries, timeouts, logging
• Low cost, reliability, and scalability built in




         YOUR ROBOTS =                                   &
                                              Deciders       Workers
Automating the Process
Workers:                                                        Workers
• Bundling code into an RPM – WORKER
• Making a new AMI with this RPM – WORKER
• Deploying a new CloudFormation stack with this RPM – WORKER
• Swapping DNS over to our new stack – WORKER
• Copy AMI across to another region for DR – WORKER
• Clean up old AMIs – WORKER


You get the picture.
YOUR CODE = ROBOTS
YOUR CODE = ROBOTS
Our Development &Test Infrastructure



                                                                             3. Deploy RPM to Dev 53
                                                                                 Amazon S3
                                                                                            Amazon
                                                                                                      Amazon
                                           Decider                                         CloudFront
                                                                                                      Route
    Dev
  MySQL DB
                            Determines next step
                           DEV APP
                             ELB
                                                   DEV
                                                  WEB ELB
                                                                 Dev Admin
                                                                                 Environment
               Dev Stack         Dev Stack                        Instance
  Instance      Tier 2                  Tier 1                                            Amazon
                                                                                         DynamoDB
              Dev Environment VPC Subnet


                                      2. Build an RPM VPN                           Internet
                                                                                                       VPN
                                                                                                      TUNNEL
                                                                                    Gateway                    Developers
                                                                  Endpoint
                                                                                                                   &
             1. After CI Pre-commit
                           run
                            Hook
                                                                                         Amazon SWF
                                                                                                               Operations
                                                 Internal
CI Workers
             kicks off SWF
                 CI Server                          Git             NAT
                                                                  Instance
               Execution
               Testing Environment Subnet                   VPN facing VPC Subnet
                                                                                           Amazon
                                                                                            SQS
Our code has arrived at its destination
Our code has arrived at its destination

                            But what now?
Monitoring/Logging Infrastructure

•    Need to know what’s going on
•    Spend the time required to do this well
 •   Share access to these tools with whole team
 •   Track every single resource that you can
 •   Alert on services, their availability, response times
 •   Make use of different cost models for different parts of this stack
 •   Try to keep log and other monitoring data for as long a possible
      – 6 months? 1 year? Multiple years?
Monitoring/Logging Infrastructure
Tools:
• Logging
     – Logstash
         •    Check out Kibana!
     – Graylog2
     – Syslog-ng/rsyslog/syslog
•   Metrics
     – CloudWatch
     – Ganglia
     – Graphite
•   Monitoring
     – Nagios
     – Munin
     – Sensu
HOST         AGGREGATE
   LEVEL          LEVEL
  METRICS        METRICS



LOG ANALYSIS   BUILD METRICS
AWS Marketplace can help
AWS Online Software Store
•   Customer can find, research, buy software
•   Simple pricing, aligns with EC2 usage model
•   Launch in minutes
•   Marketplace billing integrated into your AWS
    account
•   600+ products across 23 categories


Developer Tool Categories Include
•   Bug Tracking
•   Monitoring
•   Source Control
•   Testing



Learn more at: http://aws.amazon.com/marketplace
Continuous Integration & Deployment on AWS

•   Treat infrastructure as code.
•   Automate the testing/deploy process end to end.
•   Make sure environments mimic each other as closely as possible.
•   Use repeatable patterns between environments at a different
    scale.
•   Use different cost models where it makes sense.
•   Simplify and streamline the deploy process.
•   Let AWS services handle control flows.
•   Track everything (instance metrics, application metrics, logs).
Thanks for listening!

Weitere ähnliche Inhalte

Was ist angesagt?

Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API GatewayMark Bate
 
AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)Ashish Kushwaha
 
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...Amazon Web Services
 
An Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - WebinarAn Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - WebinarAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...Amazon Web Services Korea
 
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...Amazon Web Services
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWSAmazon Web Services
 
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitKubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitAmazon Web Services
 
AWS - Autoscaling Fundamentals
AWS - Autoscaling FundamentalsAWS - Autoscaling Fundamentals
AWS - Autoscaling FundamentalsPiyush Agrawal
 
AWS Security Strategy
AWS Security StrategyAWS Security Strategy
AWS Security StrategyTeri Radichel
 
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatchAmazon Web Services
 

Was ist angesagt? (20)

Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
AWS networking fundamentals
AWS networking fundamentalsAWS networking fundamentals
AWS networking fundamentals
 
AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)AWS Serverless Introduction (Lambda)
AWS Serverless Introduction (Lambda)
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
 
Intro to AWS Lambda
Intro to AWS Lambda Intro to AWS Lambda
Intro to AWS Lambda
 
An Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - WebinarAn Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - Webinar
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
AWS Transit Gateway를 통한 Multi-VPC 아키텍처 패턴 - 강동환 솔루션즈 아키텍트, AWS :: AWS Summit ...
 
Serverless Architectures.pdf
Serverless Architectures.pdfServerless Architectures.pdf
Serverless Architectures.pdf
 
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
Introduction to the Well-Architected Framework and Tool - SVC208 - Anaheim AW...
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS
 
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS SummitKubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
Kubernetes on AWS with Amazon EKS - MAD301 - New York AWS Summit
 
Amazon ECS
Amazon ECSAmazon ECS
Amazon ECS
 
AWS - Autoscaling Fundamentals
AWS - Autoscaling FundamentalsAWS - Autoscaling Fundamentals
AWS - Autoscaling Fundamentals
 
AWS Security Strategy
AWS Security StrategyAWS Security Strategy
AWS Security Strategy
 
Introducing Amazon EKS
Introducing Amazon EKSIntroducing Amazon EKS
Introducing Amazon EKS
 
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
(DVO315) Log, Monitor and Analyze your IT with Amazon CloudWatch
 
AWS 101
AWS 101AWS 101
AWS 101
 

Andere mochten auch

AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAmazon Web Services
 
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...Amazon Web Services
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesAmazon Web Services
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014Amazon Web Services
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesAmazon Web Services
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...TriNimbus
 
AWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the CloudAWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the CloudAmazon Web Services
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014Amazon Web Services
 
State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016Amazon Web Services
 
I Love APIs 2015: Microservices at Amazon
I Love APIs 2015: Microservices at AmazonI Love APIs 2015: Microservices at Amazon
I Love APIs 2015: Microservices at AmazonApigee | Google Cloud
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012Amazon Web Services
 
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Amazon Web Services
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAmazon Web Services
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAmazon Web Services
 

Andere mochten auch (18)

AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDB
 
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
AWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the CloudAWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the Cloud
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
 
State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016
 
I Love APIs 2015: Microservices at Amazon
I Love APIs 2015: Microservices at AmazonI Love APIs 2015: Microservices at Amazon
I Love APIs 2015: Microservices at Amazon
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
 
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best Practices
 

Ähnlich wie Continuous Deployment Practices, with Production, Test and Development Environments Running on AWS

Aws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaAws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaHelen Rogers
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAmazon Web Services
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Developing in the Cloud
Developing in the CloudDeveloping in the Cloud
Developing in the CloudRyan Cuprak
 
AWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAmazon Web Services
 
Brief about Windows Azure Platform
Brief about Windows Azure Platform Brief about Windows Azure Platform
Brief about Windows Azure Platform K.Mohamed Faizal
 
LAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous DeliveryLAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous DeliveryNigel Fernandes
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 
Continuous Delivery in the AWS Cloud
Continuous Delivery in the AWS CloudContinuous Delivery in the AWS Cloud
Continuous Delivery in the AWS CloudNigel Fernandes
 
Continuous Delivery in the Cloud
Continuous Delivery in the CloudContinuous Delivery in the Cloud
Continuous Delivery in the CloudFabio Lessa
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...Amazon Web Services
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesAmazon Web Services
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesAmazon Web Services
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of ComputingAmazon Web Services
 
Continuous Deployment with Amazon Web Services by Carlos Conde
Continuous Deployment with Amazon Web Services by Carlos Conde Continuous Deployment with Amazon Web Services by Carlos Conde
Continuous Deployment with Amazon Web Services by Carlos Conde Codemotion
 

Ähnlich wie Continuous Deployment Practices, with Production, Test and Development Environments Running on AWS (20)

Aws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaAws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon Elisha
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Developing in the Cloud
Developing in the CloudDeveloping in the Cloud
Developing in the Cloud
 
AWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best PracticesAWS Summit 2011: Application Security Best Practices
AWS Summit 2011: Application Security Best Practices
 
Brief about Windows Azure Platform
Brief about Windows Azure Platform Brief about Windows Azure Platform
Brief about Windows Azure Platform
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Durga nagaraju aws_profile
Durga nagaraju aws_profileDurga nagaraju aws_profile
Durga nagaraju aws_profile
 
LAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous DeliveryLAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous Delivery
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Continuous Delivery in the AWS Cloud
Continuous Delivery in the AWS CloudContinuous Delivery in the AWS Cloud
Continuous Delivery in the AWS Cloud
 
Continuous Delivery in the Cloud
Continuous Delivery in the CloudContinuous Delivery in the Cloud
Continuous Delivery in the Cloud
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of Computing
 
Continuous Deployment with Amazon Web Services by Carlos Conde
Continuous Deployment with Amazon Web Services by Carlos Conde Continuous Deployment with Amazon Web Services by Carlos Conde
Continuous Deployment with Amazon Web Services by Carlos Conde
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 

Kürzlich hochgeladen (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 

Continuous Deployment Practices, with Production, Test and Development Environments Running on AWS

  • 1. Continuous Deployment Practices, with Production, Test and Development Environments Running on AWS Chris Munns, Solutions Architect, Chris Barclay, Senior Product Manager, and Mike Limcaco, Solutions Architect
  • 2. This talk: • Not going to spend a lot of time talking about Continuous Integration(CI) and Continuous Deployment(CD) philosophy • Will spend more time talking about how AWS can help you if practicing CI and CD are your goals • Examples to get you thinking, but not the only way • AWS + Open Source solutions
  • 3. • Continuous Integration • Continuous Deployment
  • 4. • Continuous Integration Techniques and tools to • Continuous Deployment implement continuous processes of applying quality control in general small pieces of effort, applied frequently, to improve the quality of software, and to reduce the time taken to deliver it.
  • 5. • Continuous Integration Techniques and tools to • Continuous Deployment improve the process of software delivery, resulting in the ability to rapidly, reliably, and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead.
  • 6. • Continuous Integration Getting code from • Continuous Deployment developers’ brains, through their fingers, to production quickly and efficiently, with positive results.
  • 7. Continuous Integration & Deployment on AWS • Treat infrastructure as code • Automate the testing/deploy process end to end • Make sure environments mimic each other as closely as possible • Use repeatable patterns between environments at a different scale • Use different cost models where it makes sense • Simplify and streamline the deploy process • Let AWS services handle control flows • Track everything (instance metrics, application metrics, logs)
  • 8. es
  • 9. In today’s infrastructure, everything is code. From the applications developers are writing, to your configuration management tools, to things like CloudFormation templates or scripts that call AWS APIs.
  • 10. Since Infrastructure is code, let’s treat it like code! – Not JUST Revision control! – Make use of bug tracking/ticketing systems – Peer reviews of changes before they happen – Establish infrastructure code patterns/designs – Test infrastructure changes like code changes
  • 11. Let’s talk about the journey our code is going to take to production
  • 12. 1.Code gets written 2.Code gets tested 3.Code gets deployed 4.Code gets consumed
  • 13. 1.Code gets written – Someone writes code and commits to revision control system – Hooks in revision control, system kicks off CI work 2.Code gets tested – Unit tests, integration tests, db tests, smoke tests, UI tests – “Light green, trap clean” OR GOTO STEP 1 3.Code gets deployed – Ship out that code 4.Code gets consumed – Customers use it, love it, victory, profit, vacation in Bora Bora
  • 14. 1.Software ( tools, services, scripts ) 2.Infrastructure Environments ( dev, test, prod ) 3.Process ( deploy, monitor, alert, track )
  • 15. 1.Software ( tools, services, scripts ) 2.Infrastructure Environments ( dev, test, prod ) 3.Process ( deploy, monitor, alert, track ) We need tools to help work with all of the above quickly and more efficiently
  • 16. First stop on our journey: Continuous Integration-ville • Help prove code quality and function repeatedly with predefined results • Lots of options; self hosted, open source, closed source, and SaaS
  • 17. Continuous Integration - Jenkins • Open Source • Well established and used by many • Has plugins for EC2/SQS/SNS/CloudFormation! • Supports spot pricing! “An extendable open source continuous • Supports the ability to put workers into a integration server” “standby” mode by stopping instead of terminating • Scales well • Easily add more EC2 instances as workers • Flexible Pre-commit • Easy to get started Hook Internal CI Workers CI Server Git Testing Environment Subnet
  • 18. Test Chef Cookbooks w/ FoodCritic after each Git Commit.
  • 19. Test Chef Cookbooks w/ FoodCritic after each Git Commit. Blue dot is good!
  • 20. Where is our code going?
  • 21. Infrastructure Environments A bad thing people do: “Developers develop locally on their laptops, mostly OS X based, then deploy to production, which is Ubuntu. Each laptop has a slightly different setup, and we don’t maintain software versions across the whole team.” – Dev and prod not in sync – Dev not in sync with all of dev – No testing tier between dev and prod
  • 22. Infrastructure Environments A bad thing people do: “Developers develop locally on their laptops, mostly OS X based, then deploy to production, which is Ubuntu. Each laptop has a slightly different setup, and we don’t maintain software versions across the whole team.” – Dev and prod not in sync – Dev not in sync with all of dev “it worked fine on my laptop” – No testing tier between dev and prod
  • 23. Infrastructure Environments A bad thing people do: “Developers develop locally on their laptops, mostly OS X based, then deploy to production, which is Ubuntu. Each laptop has a slightly different setup, and we don’t maintain software versions across the whole team.” – Dev and prod not in sync – Dev not in sync with all of dev “it worked fine on my laptop” – No testing tier between dev and prod
  • 24. NAT Customer Traffic Bastion/ Amazon CloudWatch Chef RDS DB Instance Instance Instance VPC Subnet VPC Subnet Availability Zone Subnet VPC VPC Subnet Amazon SNS Internet Amazon Gateway Route 53 RDS DB Instance Standby (Multi-AZ) Instance Instance ELB ELB VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Amazon S3 Amazon CloudFront Potential RDS DB Instance Instance Instance Read Replica AWS CloudFormation VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Region
  • 25. NAT Customer Traffic Bastion/ Amazon CloudWatch Chef RDS DB Instance Instance Instance VPC Subnet VPC Subnet Availability Zone Subnet VPC VPC Subnet Amazon SNS Internet Amazon Gateway Route 53 RDS DB Instance Standby (Multi-AZ) Instance Instance ELB ELB VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Amazon S3 Amazon CloudFront Potential RDS DB Instance Instance Instance Read Replica AWS CloudFormation VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Region
  • 26. Our Development Infrastructure Dev MySQL DB Instance DEV APP ELB DEV WEB ELB Dev Stack Dev Stack Tier 2 Tier 1 Dev Environment VPC Subnet
  • 27. Our Development Infrastructure Dev MySQL DB Instance DEV APP ELB DEV WEB ELB Dev Stack Dev Stack Tier 2 Tier 1 Dev Environment VPC Subnet
  • 28. NAT Customer Bastio Traffic Amazon CloudWatch n/Chef RDS DB Instance Instance Instance VPC Subnet VPC Subnet Availability Zone Subnet VPC VPC Subnet Amazon SNS Internet Amazon Gateway Route 53 RDS DB Instance Standby (Multi-AZ) Instance Instance ELB ELB VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Amazon S3 Amazon CloudFront Potential Instance Instance RDS DB Instance AWS Read Replica CloudFormation VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Region
  • 29. Our Development Infrastructure Dev MySQL DB Instance DEV APP ELB DEV WEB ELB Dev Stack Dev Stack Tier 2 Tier 1 Dev Environment VPC Subnet
  • 30. NAT Customer Traffic Bastion/ Amazon CloudWatch Chef RDS DB Instance Instance Instance VPC Subnet VPC Subnet Availability Zone Subnet VPC VPC Subnet Amazon SNS Internet Amazon Gateway Route 53 RDS DB Instance Standby (Multi-AZ) Instance Instance ELB ELB VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Amazon S3 Amazon CloudFront Potential RDS DB Instance Instance Instance Read Replica AWS CloudFormation VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Region
  • 31. NAT Customer Traffic Bastion/ Amazon CloudWatch Chef RDS DB Instance Instance Instance VPC Subnet VPC Subnet Availability Zone Subnet VPC VPC Subnet Amazon SNS Internet Amazon Gateway Route 53 RDS DB Instance Standby (Multi-AZ) Instance Instance ELB ELB VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Amazon S3 Amazon CloudFront Potential RDS DB Instance Instance Instance Read Replica AWS CloudFormation VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Region
  • 32. Our Development Infrastructure Dev MySQL DB Instance DEV APP ELB DEV WEB ELB Dev Stack Dev Stack Tier 2 Tier 1 Dev Environment VPC Subnet
  • 33. Our Development Infrastructure Amazon S3 Amazon Amazon Route 53 CloudFront Dev DEV APP DEV Dev Admin MySQL DB Dev Stack ELB Dev Stack WEB ELB Instance Instance Tier 2 Tier 1 Amazon DynamoDB Dev Environment VPC Subnet VPN Internet TUNNEL VPN Gateway Developers Endpoint & Operations NAT Amazon SQS Instance VPN facing VPC Subnet
  • 34. Our Development Infrastructure Amazon S3 Amazon Amazon Route 53 CloudFront Dev DEV APP DEV Dev Admin MySQL DB Dev Stack ELB Dev Stack WEB ELB Instance Instance Tier 2 Tier 1 Amazon DynamoDB Dev Environment VPC Subnet VPN Internet TUNNEL VPN Gateway Developers Endpoint & Operations NAT Amazon SQS Instance VPN facing VPC Subnet
  • 35. Our Development &Test Infrastructure Amazon S3 Amazon Amazon Route 53 CloudFront Dev DEV APP DEV Dev Admin MySQL DB Dev Stack ELB Dev Stack WEB ELB Instance Instance Tier 2 Tier 1 Amazon DynamoDB Dev Environment VPC Subnet VPN Internet TUNNEL VPN Gateway Developers Endpoint & Pre-commit Operations Hook Internal CI Workers CI Server Git NAT Amazon SQS Instance Testing Environment Subnet VPN facing VPC Subnet
  • 36. Infrastructure Environments • Be prepared to be running multiple environments – Development – Testing/QA – Staging/Pre-prod – Production • They should be running as close to the same stack as possible • Use configuration management and infrastructure orchestration tools • No one off hosts • A goal: Go from nothing to fully running instances without human intervention
  • 37. This all seems like a lot of work, and potentially costly.
  • 38. But it doesn’t need to be!
  • 39. Infrastructure Automation We want to be able to rapidly stand up environments as we need to. Sounds like we need some automation tools? – CloudFormation – Elastic Beanstalk – OpsWorks – Chef – Puppet
  • 40. AWS CloudFormation "WebServer" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" }, "64" ]}, "SpotPrice" : { "Ref" : "SpotPrice" }, "InstanceType" : m1.large", "SecurityGroups" : [{ "Ref" : "InstanceSecurityGroup" }], "KeyName" : { "Ref" : "KeyName" }, "UserData": { "Fn::Base64" : { "Fn::Join" : ["", [ "#!/bin/bash -vn", "yum update -y aws-cfn-bootstrapn”, "curl -L http://www.opscode.com/chef/install.sh | bashn", "cd /etc/chefn", "/usr/bin/wget http://",{ "Ref" : "ChefServerIP" },"/chef/validation.pemn", "/usr/bin/wget http://",{ "Ref" : "ChefServerIP" },"/chef/client.rbn", "/bin/chown -R chef:chef /etc/chefn",
  • 41. Our Development &Test Infrastructure Amazon S3 Amazon Amazon Route 53 CloudFront Dev DEV APP DEV Dev Admin MySQL DB Dev Stack ELB Dev Stack WEB ELB Instance Instance Tier 2 Tier 1 Amazon DynamoDB Dev Environment VPC Subnet VPN Internet TUNNEL VPN Gateway Developers Endpoint & Pre-commit Operations Hook Internal CI Workers CI Server Git NAT Amazon SQS Instance Testing Environment Subnet VPN facing VPC Subnet
  • 42. Our Development/Test Infrastructure Amazon S3 Amazon Amazon Route 53 CloudFront Dev DEV APP DEV Dev Admin MySQL DB Dev Stack ELB Dev Stack WEB ELB Instance Instance Tier 2 Tier 1 Amazon DynamoDB Dev Environment VPC Subnet VPN Internet TUNNEL VPN Gateway Developers Endpoint & Pre-commit Operations Hook Internal CI Workers CI Server Git NAT Amazon SQS Instance Testing Environment Subnet VPN facing VPC Subnet
  • 43. AWS Elastic Beanstalk & OpsWorks Elastic Beanstalk: • Application container framework similar to a PaaS • Deploy your application into Elastic Beanstalk and it takes care of building a self healing, auto-scaling, multi-AZ infrastructure • Allows you to turn some of the knobs under the hood to tweak • Considered one of the easiest places to start with hosting an application on AWS OpsWorks: • Build multi-layer application stacks • Ties in with Chef for a large degree of flexibility and customization • Makes deploying applications easier • More flexible than Elastic Beanstalk, but requires a bit more knowledge
  • 44. Our Development/Test Infrastructure Elastic Beanstalk or OpsWorks Amazon S3 Amazon Amazon Route 53 CloudFront Dev DEV APP DEV Dev Admin MySQL DB Dev Stack ELB Dev Stack WEB ELB Instance Instance Tier 2 Tier 1 Amazon DynamoDB Dev Environment VPC Subnet VPN Internet TUNNEL VPN Gateway Developers Endpoint & Pre-commit Operations Hook Internal CI Workers CI Server Git NAT Amazon SQS Instance Testing Environment Subnet VPN facing VPC Subnet
  • 45. NAT Customer Traffic Elastic Beanstalk or OpsWorks RDS DB Instance Instance Instance Bastion/ Chef Amazon CloudWatch VPC Subnet VPC Subnet Availability Zone Subnet VPC VPC Subnet Amazon SNS Internet Amazon Gateway Route 53 RDS DB Instance Standby (Multi-AZ) Instance Instance ELB ELB VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Amazon S3 Amazon CloudFront Potential RDS DB Instance Instance Instance Read Replica AWS CloudFormation VPC Subnet VPC Subnet VPC Subnet VPC Subnet Availability Zone Region
  • 46. Imagine you had an infrastructure you could turn on/off on demand, make use of spare capacity at a lower cost, and/or make a reservation for capacity based on your usage needs and save money doing so.
  • 47. Oh right, on AWS you do.
  • 48. Using the Right Cost Model – EC2 • On Demand • Reserved Instance ( RI ) – 40%+ savings • Spot – 80%+ savings Each has its place. For development infrastructure, there are often places for each: • On Demand – Developer instances started/stopped daily • Reserved Instances – Code repository, CI master, DBs • Spot – CI workers, tiers of dev infrastructure that can tolerate going away for a bit
  • 49. RRS S3, CloudFront Our Development &Test Infrastructure Price Classes, SPOT/ON-DEMAND DynamoDB RC Amazon S3 Amazon Amazon Route 53 CloudFront Dev DEV APP DEV Dev Admin MySQL DB Dev Stack ELB Dev Stack WEB ELB Instance Instance Tier 2 Tier 1 Amazon DynamoDB Dev Environment VPC Subnet VPN Internet TUNNEL VPN Gateway Developers Endpoint & Pre-commit Operations Hook Internal CI Workers CI Server Git NAT Amazon SQS Instance Testing Environment Subnet VPN facing VPC Subnet RESERVED INSTANCES
  • 50. Now that we know where our code is going, how is it getting there?
  • 51. Ship that code! • How are we going to deploy our code? – File shipping: • Just text files • Binaries – Package bundling: • RPMs • Tarballs – As an AMI: • Bundle one of the above into an AMI • How fast do we need to do this? Yes, you can technically ship • Across how many instances? your code to AWS in a box. See Import/Export. • How do we roll back (or forward)?
  • 52. File Shipping Deploy Method • Can be easier to work with than AMI method and package bundling • Push out the code – From Git/SVN/staging host • Rolling restarts for web/application servers • Leave existing hosts in place • Have to worry about the cut over period • Have to worry about feasibility of roll back/forward • Can do deploy time schema changes (though a bad idea!) • Have to worry about tracking what version is live for building new hosts
  • 53. Deploying – Package Building • Depending on the language/deployment method, you might need to take the time to package your code. – RPM – Deb – Something else? • Throw this in as a step after a successful CI run. Look at using tools like FPM to manage building packages for different distributions.
  • 54. AMI Deployment Method • Code gets bundled into an AMI, we then deploy that AMI – Pluses • Very atomic • New shouldn’t effect older versions • Can deploy alongside current • Easy tools to automate – Cons • Bit more work involved • Have to think about where your data is persisting • Schema updates potentially harder to package in • Leverage configuration management tools in automation process
  • 55. A quick aside - Schema updates Schema changes tied to deployments are a huge blocker to moving fast. – Hard to undo a change – Can take a long time on SQL-based databases Unlink this from code deploys: – Flag on/off new features that touch the database in new ways – Don’t make destructive database changes until no code touches that data • No deletes, alters to live data! Ever! – When altering existing data, opt instead to create a parallel column, copy data to new column, then delete old – Use “shadow queries” to test new functions/data sources for a percentage of users before turning live to all
  • 56. AMI Deployment Method - Building
  • 57. AMI Deployment Method - Building Fully Functional OS-Only AMI AMI Partially Configured AMI
  • 58. AMI Deployment Method - Building Fully Functional OS-Only AMI AMI Least flexible to maintain Partially Configured AMI
  • 59. AMI Deployment Method - Building Fully Functional OS-Only AMI AMI Least flexible Most amount of to maintain post-boot work Partially Configured AMI
  • 60. AMI Deployment Method - Building Fully Functional OS-Only AMI AMI Least flexible Try and find a happy Most amount of to maintain medium here post-boot work Partially Configured AMI
  • 61. AMI Deployment Method - Deploying Blue/Green Deploys Amazon Route 53 – We stand up a duplicate part of our 100% infrastructure and slowly cut traffic over to it • Shift via DNS ELB • Makes it easy to do testing of new features • Makes it easy to roll back – As we shift more traffic over, let auto- scaling grow/shrink our instances of EC2 Instances the new or old application • Shut down the old when no traffic there MySQL RDS ElastiCache DynamoDB Instance Cache Node
  • 62. AMI Deployment Method - Deploying Blue/Green Deploys Amazon Route 53 – We stand up a duplicate part of our 90% 10% infrastructure and slowly cut traffic over to it • Shift via DNS ELB ELB • Makes it easy to do testing of new features • Makes it easy to roll back – As we shift more traffic over, let auto- EC2 Instances EC2 Instances scaling grow/shrink our instances of the new or old application • Shut down the old when no traffic there MySQL RDS ElastiCache DynamoDB Instance Cache Node
  • 63. AMI Deployment Method - Deploying Blue/Green Deploys Amazon Route 53 – We stand up a duplicate part of our 50% 50% infrastructure and slowly cut traffic over to it • Shift via DNS ELB ELB • Makes it easy to do testing of new features • Makes it easy to roll back – As we shift more traffic over, let auto- EC2 Instances EC2 Instances scaling grow/shrink our instances of the new or old application • Shut down the old when no traffic there MySQL RDS ElastiCache DynamoDB Instance Cache Node
  • 64. AMI Deployment Method - Deploying Blue/Green Deploys Amazon Route 53 – We stand up a duplicate part of our 0% 100% infrastructure and slowly cut traffic over to it • Shift via DNS ELB ELB • Makes it easy to do testing of new features • Makes it easy to roll back – As we shift more traffic over, let auto- EC2 Instances EC2 Instances scaling grow/shrink our instances of the new or old application • Shut down the old when no traffic there MySQL RDS ElastiCache DynamoDB Instance Cache Node
  • 65. AMI Deployment Method - Deploying Blue/Green Deploys Amazon Route 53 – We stand up a duplicate part of our 0% 100% infrastructure and slowly cut traffic over to it • Shift via DNS ELB ELB • Makes it easy to do testing of new features • Makes it easy to roll back – As we shift more traffic over, let auto- EC2 Instances EC2 Instances scaling grow/shrink our instances of the new or old application • Shut down the old when no traffic there MySQL RDS ElastiCache DynamoDB Instance Cache Node
  • 66. AMI Deployment Method - Deploying Blue/Green Deploys Amazon Route 53 – We stand up a duplicate part of our 100% infrastructure and slowly cut traffic over to it • Shift via DNS ELB • Makes it easy to do testing of new features • Makes it easy to roll back – As we shift more traffic over, let auto- scaling grow/shrink our instances of EC2 Instances the new or old application • Shut down the old when no traffic there MySQL RDS ElastiCache DynamoDB Instance Cache Node
  • 67. AMI Deployment Method - Deploying Blue/Green Deploys Amazon Route 53 – We stand up a duplicate part of our 100% infrastructure and slowly cut traffic over to it • Shift via DNS ELB • Makes it easy to do testing of new features • Makes it easy to roll back – As we shift more traffic over, let auto- scaling grow/shrink our instances of EC2 Instances the new or old application • Shut down the old when no traffic there MySQL RDS ElastiCache DynamoDB Instance Cache Node
  • 68. AMI Deployment Method - Deploying Netflix – Asgard – Open Source tool – Released in 2012 – “web-based tool for managing cloud-based applications and infrastructure. – Helps do Blue/Green Deploys – Capable of much more!
  • 69. But how do we do all this quickly and easily many times a day?
  • 71.
  • 73. We need robots Amazon SWF
  • 74. Automating the Process with Robots Amazon Simple Workflow (SWF) • Orchestration tool across your infrastructure Amazon SWF • Use it as a middle layer to pass messages and setup tasks to be completed • Break down individual tasks into different workers • You define logic between workers • Anything that can be scripted, can be made into a worker task • Built in retries, timeouts, logging • Low cost, reliability, and scalability built in YOUR CODE = & Deciders Workers
  • 75. Automating the Process with Robots Amazon Simple Workflow (SWF) • Orchestration tool across your infrastructure Amazon SWF • Use it as a middle layer to pass messages and setup tasks to be completed • Break down individual tasks into different workers • You define logic between workers • Anything that can be scripted, can be made into a worker task • Built in retries, timeouts, logging • Low cost, reliability, and scalability built in YOUR ROBOTS = & Deciders Workers
  • 76. Automating the Process Workers: Workers • Bundling code into an RPM – WORKER • Making a new AMI with this RPM – WORKER • Deploying a new CloudFormation stack with this RPM – WORKER • Swapping DNS over to our new stack – WORKER • Copy AMI across to another region for DR – WORKER • Clean up old AMIs – WORKER You get the picture.
  • 77. YOUR CODE = ROBOTS
  • 78. YOUR CODE = ROBOTS
  • 79. Our Development &Test Infrastructure 3. Deploy RPM to Dev 53 Amazon S3 Amazon Amazon Decider CloudFront Route Dev MySQL DB Determines next step DEV APP ELB DEV WEB ELB Dev Admin Environment Dev Stack Dev Stack Instance Instance Tier 2 Tier 1 Amazon DynamoDB Dev Environment VPC Subnet 2. Build an RPM VPN Internet VPN TUNNEL Gateway Developers Endpoint & 1. After CI Pre-commit run Hook Amazon SWF Operations Internal CI Workers kicks off SWF CI Server Git NAT Instance Execution Testing Environment Subnet VPN facing VPC Subnet Amazon SQS
  • 80. Our code has arrived at its destination
  • 81. Our code has arrived at its destination But what now?
  • 82. Monitoring/Logging Infrastructure • Need to know what’s going on • Spend the time required to do this well • Share access to these tools with whole team • Track every single resource that you can • Alert on services, their availability, response times • Make use of different cost models for different parts of this stack • Try to keep log and other monitoring data for as long a possible – 6 months? 1 year? Multiple years?
  • 83. Monitoring/Logging Infrastructure Tools: • Logging – Logstash • Check out Kibana! – Graylog2 – Syslog-ng/rsyslog/syslog • Metrics – CloudWatch – Ganglia – Graphite • Monitoring – Nagios – Munin – Sensu
  • 84.
  • 85. HOST AGGREGATE LEVEL LEVEL METRICS METRICS LOG ANALYSIS BUILD METRICS
  • 86. AWS Marketplace can help AWS Online Software Store • Customer can find, research, buy software • Simple pricing, aligns with EC2 usage model • Launch in minutes • Marketplace billing integrated into your AWS account • 600+ products across 23 categories Developer Tool Categories Include • Bug Tracking • Monitoring • Source Control • Testing Learn more at: http://aws.amazon.com/marketplace
  • 87. Continuous Integration & Deployment on AWS • Treat infrastructure as code. • Automate the testing/deploy process end to end. • Make sure environments mimic each other as closely as possible. • Use repeatable patterns between environments at a different scale. • Use different cost models where it makes sense. • Simplify and streamline the deploy process. • Let AWS services handle control flows. • Track everything (instance metrics, application metrics, logs).