SlideShare a Scribd company logo
# finger $(whoami)
Login: susan               Name: Susan Potter
Directory: /home/susan     Shell: /bin/zsh
On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0
No mail on me@susanpotter.net
Plan:
  twitter: @SusanPotter
  github: mbbx6spp
# finger $(whoami)
Login: susan               Name: Susan Potter
Directory: /home/susan     Shell: /bin/zsh
On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0
No mail on me@susanpotter.net
Plan:
  twitter: @SusanPotter
  github: mbbx6spp
# finger $(whoami)
Login: susan               Name: Susan Potter
Directory: /home/susan     Shell: /bin/zsh
On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0
No mail on me@susanpotter.net
Plan:
  twitter: @SusanPotter
  github: mbbx6spp
# finger $(whoami)
Login: susan               Name: Susan Potter
Directory: /home/susan     Shell: /bin/zsh
On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0
No mail on me@susanpotter.net
Plan:
  twitter: @SusanPotter
  github: mbbx6spp
# finger $(whoami)
Login: susan               Name: Susan Potter
Directory: /home/susan     Shell: /bin/zsh
On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0
No mail on me@susanpotter.net
Plan:
  twitter: @SusanPotter
  github: mbbx6spp
Scope of Talk


    • Approaches
Scope of Talk


    • Approaches
    • Best Practices
Scope of Talk


    • Approaches
    • Best Practices
    • Pitfalls
Scope of Talk


    •   Approaches
    •   Best Practices
    •   Pitfalls
    •   Possibilities
Scope of Talk


    •   Approaches       • (not) Chef vs Puppet
    •   Best Practices
    •   Pitfalls
    •   Possibilities
Scope of Talk


    •   Approaches       • (not) Chef vs Puppet
    •   Best Practices   • (not) Why Cloud?
    •   Pitfalls
    •   Possibilities
Scope of Talk


    •   Approaches       • (not) Chef vs Puppet
    •   Best Practices   • (not) Why Cloud?
    •   Pitfalls         • (not) Why DevOps?
    •   Possibilities
Scope of Talk


    •   Approaches       •   (not) Chef vs Puppet
    •   Best Practices   •   (not) Why Cloud?
    •   Pitfalls         •   (not) Why DevOps?
    •   Possibilities    •   (not) Which Delivery Model?
Scope of Talk


    •   Approaches       •   (not) Chef vs Puppet
    •   Best Practices   •   (not) Why Cloud?
    •   Pitfalls         •   (not) Why DevOps?
    •   Possibilities    •   (not) Which Delivery Model?
                         •   (not) Release Management
Scope of Talk


    •   Approaches       •   (not) Chef vs Puppet
    •   Best Practices   •   (not) Why Cloud?
    •   Pitfalls         •   (not) Why DevOps?
    •   Possibilities    •   (not) Which Delivery Model?
                         •   (not) Release Management
                         •   (not) Monitoring
Cloud




        buzzzzz
Cloud: Delivery Models [1/2]

        Software
        (as a Service)




        Platform
        (as a Service)




      Infrastructure
        (as a Service)
Cloud: Delivery Models [1/2]

        Software
        (as a Service)




        Platform
        (as a Service)




      Infrastructure
        (as a Service)
Cloud: Delivery Models [1/2]

        Software
        (as a Service)




        Platform
        (as a Service)




      Infrastructure
        (as a Service)
Cloud: Delivery Models [1/2]

        Software
        (as a Service)




        Platform
        (as a Service)




      Infrastructure
        (as a Service)
Cloud: Delivery Models [2/2]
Cloud: Characteristics


    • Instant
      on-demand
Cloud: Characteristics


    • Instant        • Virtualized
      on-demand          performance, reliability
Cloud: Characteristics


    • Instant        • Virtualized
      on-demand          performance, reliability

    • Managed
      by others
Cloud: Characteristics


    • Instant        • Virtualized
      on-demand          performance, reliability

    • Managed        • Lack control
      by others          predictability, reliability, quality
Cloud: Characteristics


    • Instant        • Virtualized
      on-demand          performance, reliability

    • Managed        • Lack control
      by others          predictability, reliability, quality

    • Pay
      as you go
Cloud: Characteristics


    • Instant        • Virtualized
      on-demand          performance, reliability

    • Managed        • Lack control
      by others          predictability, reliability, quality

    • Pay            • Pay
      as you go          as you go!
DevOps




     Is it a command?
DevOps: Definition [1/2]


       • Share responsibility
         across organizational boundaries
DevOps: Definition [1/2]


       • Share responsibility
         across organizational boundaries

       • Invest in people
         by reducing finger pointing [togetherness] and human error [automation]
DevOps: Definition [1/2]


       • Share responsibility
         across organizational boundaries

       • Invest in people
         by reducing finger pointing [togetherness] and human error [automation]

       • Manage infrastructure
         not priority queues of production issues
DevOps: Definition [1/2]


       • Share responsibility
         across organizational boundaries

       • Invest in people
         by reducing finger pointing [togetherness] and human error [automation]

       • Manage infrastructure
         not priority queues of production issues

       • Make infrastructure predictable
         repeatable, testable, deterministic
DevOps: Definition [2/2]
Deployment Pipeline




    commit -> production
Deployment Pipeline: Prerequisites

    • Design for cloud
      e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O
Deployment Pipeline: Prerequisites

    • Design for cloud
      e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O

    • Always-ready codebase
      buildable, testable, deployable
Deployment Pipeline: Prerequisites

    • Design for cloud
      e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O

    • Always-ready codebase
      buildable, testable, deployable

    • Managed infrastructure
      read: SCM and consistent distribution to target nodes
Deployment Pipeline: Prerequisites

    • Design for cloud
      e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O

    • Always-ready codebase
      buildable, testable, deployable

    • Managed infrastructure
      read: SCM and consistent distribution to target nodes

    • Expect [system] failure
      handle failures sensibly, policies for timeouts, etc
Deployment Pipeline: Prerequisites

    • Design for cloud
      e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O

    • Always-ready codebase
      buildable, testable, deployable

    • Managed infrastructure
      read: SCM and consistent distribution to target nodes

    • Expect [system] failure
      handle failures sensibly, policies for timeouts, etc

    • Test early and often!
      outside-in development helps
Deployment Pipeline: Prerequisites

    • Design for cloud
      e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O

    • Always-ready codebase
      buildable, testable, deployable

    • Managed infrastructure
      read: SCM and consistent distribution to target nodes

    • Expect [system] failure
      handle failures sensibly, policies for timeouts, etc

    • Test early and often!
      outside-in development helps

    • Build from the ground up
      layer infrastructure, inject configuration at boot/load time
Deployment: Common Bottlenecks

   •   Automation
       build, provision, configure, integrate




                                               Figure:   http://www.flickr.com/people/laenulfean/
Deployment: Common Bottlenecks

   •   Automation
       build, provision, configure, integrate

   •   Distribution
       binaries, assets, configuration




                                               Figure:   http://www.flickr.com/people/laenulfean/
Deployment: Common Bottlenecks

   •   Automation
       build, provision, configure, integrate

   •   Distribution
       binaries, assets, configuration

   •   Timeframe
       restricted window of time




                                               Figure:   http://www.flickr.com/people/laenulfean/
Deployment: Common Bottlenecks

   •   Automation
       build, provision, configure, integrate

   •   Distribution
       binaries, assets, configuration

   •   Timeframe
       restricted window of time

   •   Data
       schema updates, data migrations



                                               Figure:   http://www.flickr.com/people/laenulfean/
Solution Approaches



      Solve problems,
      don’t use tools!
Automation Approaches

                                                   • Full stack server-driven
                                                     e.g. Chef/Knife, Puppet Master




 Figure:   http://www.flickr.com/people/krazydad/
Automation Approaches

                                                   • Full stack server-driven
                                                     e.g. Chef/Knife, Puppet Master

                                                   • Full stack client
                                                     e.g. Chef Solo




 Figure:   http://www.flickr.com/people/krazydad/
Automation Approaches

                                                   • Full stack server-driven
                                                     e.g. Chef/Knife, Puppet Master

                                                   • Full stack client
                                                     e.g. Chef Solo

                                                   • Application-tier client
                                                     e.g. Capistrano, Vlad the Deployer




 Figure:   http://www.flickr.com/people/krazydad/
Automation Approaches

                                                   • Full stack server-driven
                                                     e.g. Chef/Knife, Puppet Master

                                                   • Full stack client
                                                     e.g. Chef Solo

                                                   • Application-tier client
                                                     e.g. Capistrano, Vlad the Deployer

                                                   • Command & control
                                                     e.g. Vertibrae (inactive), Nanite




 Figure:   http://www.flickr.com/people/krazydad/
Distribution Approaches

                                                • Shared filesystem
                                                 less security and reliability in community/public or across

                                                 zones/regions




  Figure:   http://www.flickr.com/people/nsalt
Distribution Approaches

                                                • Shared filesystem
                                                  less security and reliability in community/public or across

                                                  zones/regions

                                                • Pull from source control
                                                  higher time variance as target nodes increase




  Figure:   http://www.flickr.com/people/nsalt
Distribution Approaches

                                                • Shared filesystem
                                                  less security and reliability in community/public or across

                                                  zones/regions

                                                • Pull from source control
                                                  higher time variance as target nodes increase

                                                • Bittorrent or similar
                                                  e.g. Twitter’s Murder




  Figure:   http://www.flickr.com/people/nsalt
Timeframe Approaches
                                                     • Hot upgrades
                                                      e.g. Erlang/OTP appup/code_change/3




Figure:   http://www.flickr.com/people/athenicsword
Timeframe Approaches
                                                     • Hot upgrades
                                                       e.g. Erlang/OTP appup/code_change/3

                                                     • Rolling upgrades
                                                       Software design considerations




Figure:   http://www.flickr.com/people/athenicsword
Timeframe Approaches
                                                     • Hot upgrades
                                                       e.g. Erlang/OTP appup/code_change/3

                                                     • Rolling upgrades
                                                       Software design considerations

                                                     • Environment replacement
                                                       Flip a switch, acceptance <-> production




Figure:   http://www.flickr.com/people/athenicsword
Data Approaches
                                                      • Scriptable schema
                                                        Alternative: NoSQL, but. . .




Figure:   http://www.flickr.com/people/shanghaidaddy
Data Approaches
                                                      • Scriptable schema
                                                        Alternative: NoSQL, but. . .

                                                      • Automated migrations
                                                        e.g. Rails’ Migrations




Figure:   http://www.flickr.com/people/shanghaidaddy
Data Approaches
                                                      • Scriptable schema
                                                        Alternative: NoSQL, but. . .

                                                      • Automated migrations
                                                        e.g. Rails’ Migrations

                                                      • Sanity checks
                                                        e.g. cherry picked, consistency checks




Figure:   http://www.flickr.com/people/shanghaidaddy
Common Pitfalls & Workarounds
Organizational Culture




          Figure:   http://www.flickr.com/people/lucgaloppin/
Organizational Culture [Workaround]




         Figure:   http://www.flickr.com/photos/42682395@N04/
Feature Branching




         Figure:   http://www.flickr.com/photos/33939293@N02/
Feature Branching [Workaround]
Feature Branching [Workaround]




             DON’T!
Live by the meter.
Die by the meter.
              Figure: WARNING
Live by the meter.
Die by the meter. [Workarounds]




          Figure:   http://www.flickr.com/people/dirkjankraan/
Great Expectations




          Figure:   http://www.flickr.com/people/atoxinsocks/
Great Expectations [Workaround]




          Figure:   http://www.flickr.com/people/dirkjankraan/
Note: Design & Idempotency




         Figure:   A Twitter dialog between me and @jlouis666
Possibilities




            Where.next?
Possibilities
Possibilities


    •   Dynamic resource allocation
        allocate based on load, time of day, day of week/month
Possibilities


    •   Dynamic resource allocation
        allocate based on load, time of day, day of week/month

    •   Canary deployments
        (e.g. A/B testing)
Possibilities


    •   Dynamic resource allocation
        allocate based on load, time of day, day of week/month

    •   Canary deployments
        (e.g. A/B testing)

    •   Multi-region or multi-provider
        relocate based on time of day, failover
Questions?




         Figure:   http://www.flickr.com/photos/42682395@N04/
Questions?




         Figure:   http://www.flickr.com/photos/42682395@N04/




         @SusanPotter

More Related Content

Viewers also liked

The most amazing bridges in the world
The most amazing bridges in the worldThe most amazing bridges in the world
The most amazing bridges in the world
José Ferreiro
 
MY FIRST MARATHON
MY FIRST MARATHONMY FIRST MARATHON
MY FIRST MARATHON
José Ferreiro
 
Lausanne Marathon between the lake and verdant hillsides (2009 Edition)
Lausanne Marathon between the lake and verdant hillsides (2009 Edition)Lausanne Marathon between the lake and verdant hillsides (2009 Edition)
Lausanne Marathon between the lake and verdant hillsides (2009 Edition)
José Ferreiro
 
SEO - Matej Novak
SEO - Matej NovakSEO - Matej Novak
SEO - Matej Novak
Internet je sexy
 
Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)
Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)
Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)
José Ferreiro
 
e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation
José Ferreiro
 
Craigslist Philadelphia - Selling Tips
Craigslist Philadelphia - Selling TipsCraigslist Philadelphia - Selling Tips
Craigslist Philadelphia - Selling Tips
scherubino
 
Information Systems and Technologies used in the framework of the TIR Convention
Information Systems and Technologies used in the framework of the TIR ConventionInformation Systems and Technologies used in the framework of the TIR Convention
Information Systems and Technologies used in the framework of the TIR Convention
José Ferreiro
 

Viewers also liked (8)

The most amazing bridges in the world
The most amazing bridges in the worldThe most amazing bridges in the world
The most amazing bridges in the world
 
MY FIRST MARATHON
MY FIRST MARATHONMY FIRST MARATHON
MY FIRST MARATHON
 
Lausanne Marathon between the lake and verdant hillsides (2009 Edition)
Lausanne Marathon between the lake and verdant hillsides (2009 Edition)Lausanne Marathon between the lake and verdant hillsides (2009 Edition)
Lausanne Marathon between the lake and verdant hillsides (2009 Edition)
 
SEO - Matej Novak
SEO - Matej NovakSEO - Matej Novak
SEO - Matej Novak
 
Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)
Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)
Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)
 
e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation
 
Craigslist Philadelphia - Selling Tips
Craigslist Philadelphia - Selling TipsCraigslist Philadelphia - Selling Tips
Craigslist Philadelphia - Selling Tips
 
Information Systems and Technologies used in the framework of the TIR Convention
Information Systems and Technologies used in the framework of the TIR ConventionInformation Systems and Technologies used in the framework of the TIR Convention
Information Systems and Technologies used in the framework of the TIR Convention
 

Similar to Distributed software services to the cloud without breaking a sweat

Why puppet? Why now?
Why puppet? Why now?Why puppet? Why now?
Why puppet? Why now?
Server Density
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
Nick Josevski
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
Andrew Phillips
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
Kris Buytaert
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
Pablo Godel
 
Clojure Conj 2014 - Paradigms of core.async - Julian Gamble
Clojure Conj 2014 - Paradigms of core.async - Julian GambleClojure Conj 2014 - Paradigms of core.async - Julian Gamble
Clojure Conj 2014 - Paradigms of core.async - Julian Gamble
Julian Gamble
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
 
IEEE Cloud 2012: Clouds Hands-On Tutorial
IEEE Cloud 2012: Clouds Hands-On TutorialIEEE Cloud 2012: Clouds Hands-On Tutorial
IEEE Cloud 2012: Clouds Hands-On TutorialSrinath Perera
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
Julian Simpson
 
CCCNA17 Distributed CI and Testing for Cloudstack in a Hybrid Community
CCCNA17 Distributed CI and Testing for Cloudstack in a Hybrid CommunityCCCNA17 Distributed CI and Testing for Cloudstack in a Hybrid Community
CCCNA17 Distributed CI and Testing for Cloudstack in a Hybrid Community
ShapeBlue
 
The Straight Skinny on Cloud Platforms
The Straight Skinny on Cloud PlatformsThe Straight Skinny on Cloud Platforms
The Straight Skinny on Cloud Platforms
Hostway|HOSTING
 
What we talk about when we talk about DevOps
What we talk about when we talk about DevOpsWhat we talk about when we talk about DevOps
What we talk about when we talk about DevOps
Ricard Clau
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
Amazon Web Services
 
CI doesn’t start with Jenkins
CI doesn’t start with JenkinsCI doesn’t start with Jenkins
CI doesn’t start with Jenkins
Yuriy Rochnyak
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery
XebiaLabs
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Vadym Kazulkin
 
TechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
TechUG Glasgow talk 22/Feb/17 Configuration Management Best PracticesTechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
TechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
Dag Sonstebo
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
Niels Frydenholm
 

Similar to Distributed software services to the cloud without breaking a sweat (20)

Why puppet? Why now?
Why puppet? Why now?Why puppet? Why now?
Why puppet? Why now?
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Clojure Conj 2014 - Paradigms of core.async - Julian Gamble
Clojure Conj 2014 - Paradigms of core.async - Julian GambleClojure Conj 2014 - Paradigms of core.async - Julian Gamble
Clojure Conj 2014 - Paradigms of core.async - Julian Gamble
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
IEEE Cloud 2012: Clouds Hands-On Tutorial
IEEE Cloud 2012: Clouds Hands-On TutorialIEEE Cloud 2012: Clouds Hands-On Tutorial
IEEE Cloud 2012: Clouds Hands-On Tutorial
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
CCCNA17 Distributed CI and Testing for Cloudstack in a Hybrid Community
CCCNA17 Distributed CI and Testing for Cloudstack in a Hybrid CommunityCCCNA17 Distributed CI and Testing for Cloudstack in a Hybrid Community
CCCNA17 Distributed CI and Testing for Cloudstack in a Hybrid Community
 
The Straight Skinny on Cloud Platforms
The Straight Skinny on Cloud PlatformsThe Straight Skinny on Cloud Platforms
The Straight Skinny on Cloud Platforms
 
What we talk about when we talk about DevOps
What we talk about when we talk about DevOpsWhat we talk about when we talk about DevOps
What we talk about when we talk about DevOps
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
 
CI doesn’t start with Jenkins
CI doesn’t start with JenkinsCI doesn’t start with Jenkins
CI doesn’t start with Jenkins
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
 
TechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
TechUG Glasgow talk 22/Feb/17 Configuration Management Best PracticesTechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
TechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
 

More from José Ferreiro

EMBA_brochure_2012-2013
EMBA_brochure_2012-2013EMBA_brochure_2012-2013
EMBA_brochure_2012-2013José Ferreiro
 
Shanghai train central station
Shanghai train central stationShanghai train central station
Shanghai train central station
José Ferreiro
 
Canadian Federal Government - Digital Economy leadership white paper
Canadian Federal Government - Digital Economy leadership white paperCanadian Federal Government - Digital Economy leadership white paper
Canadian Federal Government - Digital Economy leadership white paper
José Ferreiro
 
Setting up a private cloud for academic environment with OSS by Zoran Pantic ...
Setting up a private cloud for academic environment with OSS by Zoran Pantic ...Setting up a private cloud for academic environment with OSS by Zoran Pantic ...
Setting up a private cloud for academic environment with OSS by Zoran Pantic ...
José Ferreiro
 
e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation
José Ferreiro
 
Cloud Computing - Why and How? (by Forrester Research, Inc.)
Cloud Computing - Why and How? (by Forrester Research, Inc.)Cloud Computing - Why and How? (by Forrester Research, Inc.)
Cloud Computing - Why and How? (by Forrester Research, Inc.)
José Ferreiro
 
Security Lock Down Your Computer Like the National Security Agency (NSA)
Security Lock Down Your Computer Like the National Security Agency (NSA)Security Lock Down Your Computer Like the National Security Agency (NSA)
Security Lock Down Your Computer Like the National Security Agency (NSA)
José Ferreiro
 
Going to the Cloud
Going to the Cloud Going to the Cloud
Going to the Cloud
José Ferreiro
 
Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android Development
José Ferreiro
 
The most amazing world roads
The most amazing world roadsThe most amazing world roads
The most amazing world roads
José Ferreiro
 
Main challenges to achieving Millenium Development Goals (MDGs) by 2015
Main challenges to achieving Millenium Development Goals (MDGs) by 2015Main challenges to achieving Millenium Development Goals (MDGs) by 2015
Main challenges to achieving Millenium Development Goals (MDGs) by 2015
José Ferreiro
 
Information Systems used in the framework of the TIR Convention : ITDBonline+
Information Systems used in the framework of the TIR Convention : ITDBonline+Information Systems used in the framework of the TIR Convention : ITDBonline+
Information Systems used in the framework of the TIR Convention : ITDBonline+
José Ferreiro
 
Mikhael Gorbachev - Resetting the Nuclear Disarmament Agenda
Mikhael Gorbachev - Resetting the Nuclear Disarmament AgendaMikhael Gorbachev - Resetting the Nuclear Disarmament Agenda
Mikhael Gorbachev - Resetting the Nuclear Disarmament Agenda
José Ferreiro
 
United Nations Office in Geneva: Palais des Nations’ view
United Nations Office in Geneva:Palais des Nations’ viewUnited Nations Office in Geneva:Palais des Nations’ view
United Nations Office in Geneva: Palais des Nations’ view
José Ferreiro
 
A conference at the United Nations Office - Palais des Nations - Geneva
A conference at the United Nations Office - Palais des Nations - GenevaA conference at the United Nations Office - Palais des Nations - Geneva
A conference at the United Nations Office - Palais des Nations - Geneva
José Ferreiro
 
United Nations Office Geneva - Kofi Annan
United Nations Office Geneva - Kofi AnnanUnited Nations Office Geneva - Kofi Annan
United Nations Office Geneva - Kofi Annan
José Ferreiro
 
United Nations Office Geneva - Sergei Lavrov
United Nations Office Geneva - Sergei LavrovUnited Nations Office Geneva - Sergei Lavrov
United Nations Office Geneva - Sergei Lavrov
José Ferreiro
 

More from José Ferreiro (17)

EMBA_brochure_2012-2013
EMBA_brochure_2012-2013EMBA_brochure_2012-2013
EMBA_brochure_2012-2013
 
Shanghai train central station
Shanghai train central stationShanghai train central station
Shanghai train central station
 
Canadian Federal Government - Digital Economy leadership white paper
Canadian Federal Government - Digital Economy leadership white paperCanadian Federal Government - Digital Economy leadership white paper
Canadian Federal Government - Digital Economy leadership white paper
 
Setting up a private cloud for academic environment with OSS by Zoran Pantic ...
Setting up a private cloud for academic environment with OSS by Zoran Pantic ...Setting up a private cloud for academic environment with OSS by Zoran Pantic ...
Setting up a private cloud for academic environment with OSS by Zoran Pantic ...
 
e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation
 
Cloud Computing - Why and How? (by Forrester Research, Inc.)
Cloud Computing - Why and How? (by Forrester Research, Inc.)Cloud Computing - Why and How? (by Forrester Research, Inc.)
Cloud Computing - Why and How? (by Forrester Research, Inc.)
 
Security Lock Down Your Computer Like the National Security Agency (NSA)
Security Lock Down Your Computer Like the National Security Agency (NSA)Security Lock Down Your Computer Like the National Security Agency (NSA)
Security Lock Down Your Computer Like the National Security Agency (NSA)
 
Going to the Cloud
Going to the Cloud Going to the Cloud
Going to the Cloud
 
Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android Development
 
The most amazing world roads
The most amazing world roadsThe most amazing world roads
The most amazing world roads
 
Main challenges to achieving Millenium Development Goals (MDGs) by 2015
Main challenges to achieving Millenium Development Goals (MDGs) by 2015Main challenges to achieving Millenium Development Goals (MDGs) by 2015
Main challenges to achieving Millenium Development Goals (MDGs) by 2015
 
Information Systems used in the framework of the TIR Convention : ITDBonline+
Information Systems used in the framework of the TIR Convention : ITDBonline+Information Systems used in the framework of the TIR Convention : ITDBonline+
Information Systems used in the framework of the TIR Convention : ITDBonline+
 
Mikhael Gorbachev - Resetting the Nuclear Disarmament Agenda
Mikhael Gorbachev - Resetting the Nuclear Disarmament AgendaMikhael Gorbachev - Resetting the Nuclear Disarmament Agenda
Mikhael Gorbachev - Resetting the Nuclear Disarmament Agenda
 
United Nations Office in Geneva: Palais des Nations’ view
United Nations Office in Geneva:Palais des Nations’ viewUnited Nations Office in Geneva:Palais des Nations’ view
United Nations Office in Geneva: Palais des Nations’ view
 
A conference at the United Nations Office - Palais des Nations - Geneva
A conference at the United Nations Office - Palais des Nations - GenevaA conference at the United Nations Office - Palais des Nations - Geneva
A conference at the United Nations Office - Palais des Nations - Geneva
 
United Nations Office Geneva - Kofi Annan
United Nations Office Geneva - Kofi AnnanUnited Nations Office Geneva - Kofi Annan
United Nations Office Geneva - Kofi Annan
 
United Nations Office Geneva - Sergei Lavrov
United Nations Office Geneva - Sergei LavrovUnited Nations Office Geneva - Sergei Lavrov
United Nations Office Geneva - Sergei Lavrov
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Distributed software services to the cloud without breaking a sweat

  • 1.
  • 2.
  • 3.
  • 4. # finger $(whoami) Login: susan Name: Susan Potter Directory: /home/susan Shell: /bin/zsh On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0 No mail on me@susanpotter.net Plan: twitter: @SusanPotter github: mbbx6spp
  • 5. # finger $(whoami) Login: susan Name: Susan Potter Directory: /home/susan Shell: /bin/zsh On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0 No mail on me@susanpotter.net Plan: twitter: @SusanPotter github: mbbx6spp
  • 6. # finger $(whoami) Login: susan Name: Susan Potter Directory: /home/susan Shell: /bin/zsh On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0 No mail on me@susanpotter.net Plan: twitter: @SusanPotter github: mbbx6spp
  • 7. # finger $(whoami) Login: susan Name: Susan Potter Directory: /home/susan Shell: /bin/zsh On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0 No mail on me@susanpotter.net Plan: twitter: @SusanPotter github: mbbx6spp
  • 8. # finger $(whoami) Login: susan Name: Susan Potter Directory: /home/susan Shell: /bin/zsh On since Mon 29 Sep 1997 21:18 (GMT) on tty1 from :0 No mail on me@susanpotter.net Plan: twitter: @SusanPotter github: mbbx6spp
  • 9. Scope of Talk • Approaches
  • 10. Scope of Talk • Approaches • Best Practices
  • 11. Scope of Talk • Approaches • Best Practices • Pitfalls
  • 12. Scope of Talk • Approaches • Best Practices • Pitfalls • Possibilities
  • 13. Scope of Talk • Approaches • (not) Chef vs Puppet • Best Practices • Pitfalls • Possibilities
  • 14. Scope of Talk • Approaches • (not) Chef vs Puppet • Best Practices • (not) Why Cloud? • Pitfalls • Possibilities
  • 15. Scope of Talk • Approaches • (not) Chef vs Puppet • Best Practices • (not) Why Cloud? • Pitfalls • (not) Why DevOps? • Possibilities
  • 16. Scope of Talk • Approaches • (not) Chef vs Puppet • Best Practices • (not) Why Cloud? • Pitfalls • (not) Why DevOps? • Possibilities • (not) Which Delivery Model?
  • 17. Scope of Talk • Approaches • (not) Chef vs Puppet • Best Practices • (not) Why Cloud? • Pitfalls • (not) Why DevOps? • Possibilities • (not) Which Delivery Model? • (not) Release Management
  • 18. Scope of Talk • Approaches • (not) Chef vs Puppet • Best Practices • (not) Why Cloud? • Pitfalls • (not) Why DevOps? • Possibilities • (not) Which Delivery Model? • (not) Release Management • (not) Monitoring
  • 19. Cloud buzzzzz
  • 20. Cloud: Delivery Models [1/2] Software (as a Service) Platform (as a Service) Infrastructure (as a Service)
  • 21. Cloud: Delivery Models [1/2] Software (as a Service) Platform (as a Service) Infrastructure (as a Service)
  • 22. Cloud: Delivery Models [1/2] Software (as a Service) Platform (as a Service) Infrastructure (as a Service)
  • 23. Cloud: Delivery Models [1/2] Software (as a Service) Platform (as a Service) Infrastructure (as a Service)
  • 25. Cloud: Characteristics • Instant on-demand
  • 26. Cloud: Characteristics • Instant • Virtualized on-demand performance, reliability
  • 27. Cloud: Characteristics • Instant • Virtualized on-demand performance, reliability • Managed by others
  • 28. Cloud: Characteristics • Instant • Virtualized on-demand performance, reliability • Managed • Lack control by others predictability, reliability, quality
  • 29. Cloud: Characteristics • Instant • Virtualized on-demand performance, reliability • Managed • Lack control by others predictability, reliability, quality • Pay as you go
  • 30. Cloud: Characteristics • Instant • Virtualized on-demand performance, reliability • Managed • Lack control by others predictability, reliability, quality • Pay • Pay as you go as you go!
  • 31. DevOps Is it a command?
  • 32. DevOps: Definition [1/2] • Share responsibility across organizational boundaries
  • 33. DevOps: Definition [1/2] • Share responsibility across organizational boundaries • Invest in people by reducing finger pointing [togetherness] and human error [automation]
  • 34. DevOps: Definition [1/2] • Share responsibility across organizational boundaries • Invest in people by reducing finger pointing [togetherness] and human error [automation] • Manage infrastructure not priority queues of production issues
  • 35. DevOps: Definition [1/2] • Share responsibility across organizational boundaries • Invest in people by reducing finger pointing [togetherness] and human error [automation] • Manage infrastructure not priority queues of production issues • Make infrastructure predictable repeatable, testable, deterministic
  • 37. Deployment Pipeline commit -> production
  • 38. Deployment Pipeline: Prerequisites • Design for cloud e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O
  • 39. Deployment Pipeline: Prerequisites • Design for cloud e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O • Always-ready codebase buildable, testable, deployable
  • 40. Deployment Pipeline: Prerequisites • Design for cloud e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O • Always-ready codebase buildable, testable, deployable • Managed infrastructure read: SCM and consistent distribution to target nodes
  • 41. Deployment Pipeline: Prerequisites • Design for cloud e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O • Always-ready codebase buildable, testable, deployable • Managed infrastructure read: SCM and consistent distribution to target nodes • Expect [system] failure handle failures sensibly, policies for timeouts, etc
  • 42. Deployment Pipeline: Prerequisites • Design for cloud e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O • Always-ready codebase buildable, testable, deployable • Managed infrastructure read: SCM and consistent distribution to target nodes • Expect [system] failure handle failures sensibly, policies for timeouts, etc • Test early and often! outside-in development helps
  • 43. Deployment Pipeline: Prerequisites • Design for cloud e.g. decentralized, layered, parallelized, collaborating single purpose services, async I/O • Always-ready codebase buildable, testable, deployable • Managed infrastructure read: SCM and consistent distribution to target nodes • Expect [system] failure handle failures sensibly, policies for timeouts, etc • Test early and often! outside-in development helps • Build from the ground up layer infrastructure, inject configuration at boot/load time
  • 44. Deployment: Common Bottlenecks • Automation build, provision, configure, integrate Figure: http://www.flickr.com/people/laenulfean/
  • 45. Deployment: Common Bottlenecks • Automation build, provision, configure, integrate • Distribution binaries, assets, configuration Figure: http://www.flickr.com/people/laenulfean/
  • 46. Deployment: Common Bottlenecks • Automation build, provision, configure, integrate • Distribution binaries, assets, configuration • Timeframe restricted window of time Figure: http://www.flickr.com/people/laenulfean/
  • 47. Deployment: Common Bottlenecks • Automation build, provision, configure, integrate • Distribution binaries, assets, configuration • Timeframe restricted window of time • Data schema updates, data migrations Figure: http://www.flickr.com/people/laenulfean/
  • 48. Solution Approaches Solve problems, don’t use tools!
  • 49. Automation Approaches • Full stack server-driven e.g. Chef/Knife, Puppet Master Figure: http://www.flickr.com/people/krazydad/
  • 50. Automation Approaches • Full stack server-driven e.g. Chef/Knife, Puppet Master • Full stack client e.g. Chef Solo Figure: http://www.flickr.com/people/krazydad/
  • 51. Automation Approaches • Full stack server-driven e.g. Chef/Knife, Puppet Master • Full stack client e.g. Chef Solo • Application-tier client e.g. Capistrano, Vlad the Deployer Figure: http://www.flickr.com/people/krazydad/
  • 52. Automation Approaches • Full stack server-driven e.g. Chef/Knife, Puppet Master • Full stack client e.g. Chef Solo • Application-tier client e.g. Capistrano, Vlad the Deployer • Command & control e.g. Vertibrae (inactive), Nanite Figure: http://www.flickr.com/people/krazydad/
  • 53. Distribution Approaches • Shared filesystem less security and reliability in community/public or across zones/regions Figure: http://www.flickr.com/people/nsalt
  • 54. Distribution Approaches • Shared filesystem less security and reliability in community/public or across zones/regions • Pull from source control higher time variance as target nodes increase Figure: http://www.flickr.com/people/nsalt
  • 55. Distribution Approaches • Shared filesystem less security and reliability in community/public or across zones/regions • Pull from source control higher time variance as target nodes increase • Bittorrent or similar e.g. Twitter’s Murder Figure: http://www.flickr.com/people/nsalt
  • 56. Timeframe Approaches • Hot upgrades e.g. Erlang/OTP appup/code_change/3 Figure: http://www.flickr.com/people/athenicsword
  • 57. Timeframe Approaches • Hot upgrades e.g. Erlang/OTP appup/code_change/3 • Rolling upgrades Software design considerations Figure: http://www.flickr.com/people/athenicsword
  • 58. Timeframe Approaches • Hot upgrades e.g. Erlang/OTP appup/code_change/3 • Rolling upgrades Software design considerations • Environment replacement Flip a switch, acceptance <-> production Figure: http://www.flickr.com/people/athenicsword
  • 59. Data Approaches • Scriptable schema Alternative: NoSQL, but. . . Figure: http://www.flickr.com/people/shanghaidaddy
  • 60. Data Approaches • Scriptable schema Alternative: NoSQL, but. . . • Automated migrations e.g. Rails’ Migrations Figure: http://www.flickr.com/people/shanghaidaddy
  • 61. Data Approaches • Scriptable schema Alternative: NoSQL, but. . . • Automated migrations e.g. Rails’ Migrations • Sanity checks e.g. cherry picked, consistency checks Figure: http://www.flickr.com/people/shanghaidaddy
  • 62. Common Pitfalls & Workarounds
  • 63. Organizational Culture Figure: http://www.flickr.com/people/lucgaloppin/
  • 64. Organizational Culture [Workaround] Figure: http://www.flickr.com/photos/42682395@N04/
  • 65. Feature Branching Figure: http://www.flickr.com/photos/33939293@N02/
  • 68. Live by the meter. Die by the meter. Figure: WARNING
  • 69. Live by the meter. Die by the meter. [Workarounds] Figure: http://www.flickr.com/people/dirkjankraan/
  • 70. Great Expectations Figure: http://www.flickr.com/people/atoxinsocks/
  • 71. Great Expectations [Workaround] Figure: http://www.flickr.com/people/dirkjankraan/
  • 72. Note: Design & Idempotency Figure: A Twitter dialog between me and @jlouis666
  • 73. Possibilities Where.next?
  • 75. Possibilities • Dynamic resource allocation allocate based on load, time of day, day of week/month
  • 76. Possibilities • Dynamic resource allocation allocate based on load, time of day, day of week/month • Canary deployments (e.g. A/B testing)
  • 77. Possibilities • Dynamic resource allocation allocate based on load, time of day, day of week/month • Canary deployments (e.g. A/B testing) • Multi-region or multi-provider relocate based on time of day, failover
  • 78. Questions? Figure: http://www.flickr.com/photos/42682395@N04/
  • 79. Questions? Figure: http://www.flickr.com/photos/42682395@N04/ @SusanPotter