Rising Above the Noise:
    Continuous Integration, C. Delivery, DevOps
                       and What They Mean to You




1
Maciej Zawadzki
• Cofounder and CEO of
  Urbancode
• Original author of AnthillPro.
  Architect of
  Urbancode’sDevOps Platform.
• Blog: http://blogs.urbancode.com
• Twitter: @devl_in_details




2
Eric Minick
• Lead Consultant
• Worked as a dev, tester, and
  release guy
• Dozens of enterprise rollouts
• Blog: http://blogs.urbancode.com
• Twitter: @EricMinick




3
Agenda
•   Continuous Integration
•   Continuous Delivery
•   DevOps
•   The Future
•   Resources




4
CI: it’s about Quality Determination
• Integrating frequently is less painful than
  infrequently.
    – But, If we commit frequently blindly, we have a
      broken code base


• Implied condition: each integration will not
  decrease the code quality.
    – This is the key to CI
    – The rest is implementation details.


5   http://blogs.urbancode.com/continuous-integration/continuous-integration-why-
    you-dont-really-get-it/
CI: the Implemention
• How do we determine code quality? We test it
• How do we test code? We build it and run
  tests against it
• CI requires fast feedback, so what tests do we
  run? Unit tests
• This is how we get from CI to CI servers and
  software builds



6
CI: the Disruption of Build Management
• Paradigm change: similar to structure of
  scientific revolutions – Thomas Kuhn
• Before CI, build engineers would:
    – Manually perform the build
• After the paradigm change, build engineers
  would:
    – Design the build process for projects. The actual
      build execution is handled by a tool.



7
CI: the Bumps

• CI Builds                        • Build Management Builds
    – Purpose: determine             – Purpose: produce artifacts
      quality of latest changes        for 3rd parties
    – Audience: development          – Audience: 3rd parties
      team                             outside development
    – Source: Build is traceable     – Source: Build is traceable
      to latest changes and            to source
      “latest” source
    – Artifacts: Throw away          – Artifacts: Important
      builds, tests are                builds, artifacts are
      important                        important and primary


8
CI: the Innovation of Automation
• Invention: proven to work in the laboratory
• Innovation: it can be replicated reliably on a
  meaningful scale at practical costs.
• For an idea to move from invention to
  innovation requires an ensemble of critical
  components. Peter M. Senge, The Fifth Discipline
• CI brings together “critical” factors:
    – Automation
    – Self-service
    – Transparency/Visibility


9
CI: Summary
• CI requires the determination of code quality
• CI disrupted Build Management
• CI represents the Innovation of Automation




10
Agenda
•    Continuous Integration
•    Continuous Delivery
•    DevOps
•    The Future
•    Resources




11
Continuous Delivery: What is it?
• Continuation of the Quality Determination
  that CI started.
• Functional tests require deployment.
• Progression through environments on a march
  to production, with “the build” subjected to
  more exhaustive tests in each environment.



     Build &     Deploy to   Functional   Deploy to   Integration   Deploy to   Deploy to
     Unit Test     DEV         Tests        SIT          Tests        UAT        PROD



12
Continuous Delivery: The Drivers
• Quality Determination:
     – CI left unfinished business on the table.
     – Further tests require deployments.
• Agile: keeping up with the pace.
• Innovation of Automation: self-service and
  visibility have a powerful attraction




13
Continuous Delivery: the Details
• Deploying multi-tiered applications is not trivial.
     – Application model
     – Component (tier) model
     – Mapping of components to servers in each Env.
• Multiple Tiers
     –   Database changes
     –   Middleware code changes
     –   Middleware config changes
     –   Flat file changes
• Multi-environment deployments
     – Handle different environment topologies
     – Handle different environment configurations

14
Continuous Delivery & Mountain Bikes
• How many people own a mountain bike?
• How many people ever took it down a
  mountain?
• The guys that deploy to production 50 times a
  day drive their mountain bike down the
  mountain.
• The rest of us benefit from the technology as
  we have a comfortable ride on the park trails
  with our kids.

15
Continuous Delivery: Theory & Reality
• The reality is that:
     – Dev and Ops are in different silos
     – Dev and Ops use different tools
     – Dev produces change, Ops seeks to control change
     – 50 page Word doc is the standard hand-off
       between Dev and Ops




16
Continuous Delivery: Summary
• CD follows through on what CI started, the
  quality determination

• CD works for basic deployments, but struggles
  in the complex

• CD reality is that most organizations use it in
  lower environments only


17
Agenda
•    Continuous Integration
•    Continuous Delivery
•    DevOps
•    The Future
•    Resources




18
DevOps: the Drivers
• The Cloud (Iaas / PaaS):
     – Has all the “critical” factors for Innovation
     – Self-service is a radical shift in the SLA
• Hand-off document leads to errors
• Agile & Business leads to faster pace




19
DevOps: the Disruption
•    Cloud offers an alternative to Enterprise IT
•    Enterprise IT will need to match the SLA
•    Private cloud is a way to remain competitive
•    Adopting cloud automation is a paradigm shift
•    Paradigm shift opens the flood gates for
     deployment automation




20
DevOps: the Implementation, Convergence

• Virtualization as a base
• PaaS is utilized:
     – Application teams may request environments for
       their applications.
     – Environments are configured with OS / DB /
       Middleware / etc. (System Config Tools)
• Application Deployment to provisioned
  environments. (ARA tools)



21
DevOps: the Bumps Ahead

Dev                              Ops
• Very High Tempo                • Slower Tempo

• Can rebuild database / app     • Incremental updates to
  from scratch                     Database and App
     – No need for Rollbacks        – Rollbacks are huge

• Audit is nice to have          • Audit Critical
     – Security, traceability,      – Security, traceability, separ
       separation of duties.          ation of duties.

• New Environments are           • New environments are
  common                           rare

22
The Summary
• CI represents Innovation of Automation
• CI got us started down the road towards PROD
• CD continued the work that CI started
• CD provides basic deploy hooked into CI
• ARA provides complex deployments for Ops
• DevOps will disrupt Ops the same way CI
  disrupted Build Management
• DevOps opens the door for the convergence
  with Dev practices such as CD
23
Agenda
•    Continuous Integration
•    Continuous Delivery
•    DevOps
•    The Future
•    Resources




24
Where are we headed?
• Private clouds (or public/private)
• Platform as a service
     – Servers with middleware, properly configured,
       managed, and available self-service.
• Application deployment onto the platform
• Release Management
     – Tracks builds through the (PaaS) environments
       from CI to Production.
     – Same deployment process for all environments

25
Where are the tools headed?
• Pre-2006: Just CI tools

• 2006-2010: CI becomes Continuous Delivery
     – First end-to-end tool is AnthillPro in 2006.


• Now: DevOps
     – CI is commodity.
     – CD tools moving towards CI + ARA
     – Expanding integrations with private cloud

26
Agenda
•    Continuous Integration
•    Continuous Delivery
•    DevOps
•    The Future
•    Resources




27
More on CI, CD, and DevOps
Webinars and more: http://urbancode.com/resources
• Death to Manual Deployments!
• Build & Deployment Automation for the Lean Economy
• Enterprise DevOps: Scaling Build, Deploy, Test, Release

You should follow us:
Blogs.urbancode.com
Twitter.com/UrbanCodeSoft
Facebook.com/UrbanCodeSoft

28
Yes, UrbanCode has tools that help

• DevOps Platform
     – uBuild: Continuous Integration and Build
       Management
     – uDeploy: Model driven deployment automation
     – uCloud: Environment provisioning integrated with
       existing virtualization (coming soon)




29
Questions?
                          Or ask us later:
     eric@urbancode.commbz@urbancode.co
                                        m




30

Rising Above the Noise: Continuous Integration, Delivery and DevOps

  • 1.
    Rising Above theNoise: Continuous Integration, C. Delivery, DevOps and What They Mean to You 1
  • 2.
    Maciej Zawadzki • Cofounderand CEO of Urbancode • Original author of AnthillPro. Architect of Urbancode’sDevOps Platform. • Blog: http://blogs.urbancode.com • Twitter: @devl_in_details 2
  • 3.
    Eric Minick • LeadConsultant • Worked as a dev, tester, and release guy • Dozens of enterprise rollouts • Blog: http://blogs.urbancode.com • Twitter: @EricMinick 3
  • 4.
    Agenda • Continuous Integration • Continuous Delivery • DevOps • The Future • Resources 4
  • 5.
    CI: it’s aboutQuality Determination • Integrating frequently is less painful than infrequently. – But, If we commit frequently blindly, we have a broken code base • Implied condition: each integration will not decrease the code quality. – This is the key to CI – The rest is implementation details. 5 http://blogs.urbancode.com/continuous-integration/continuous-integration-why- you-dont-really-get-it/
  • 6.
    CI: the Implemention •How do we determine code quality? We test it • How do we test code? We build it and run tests against it • CI requires fast feedback, so what tests do we run? Unit tests • This is how we get from CI to CI servers and software builds 6
  • 7.
    CI: the Disruptionof Build Management • Paradigm change: similar to structure of scientific revolutions – Thomas Kuhn • Before CI, build engineers would: – Manually perform the build • After the paradigm change, build engineers would: – Design the build process for projects. The actual build execution is handled by a tool. 7
  • 8.
    CI: the Bumps •CI Builds • Build Management Builds – Purpose: determine – Purpose: produce artifacts quality of latest changes for 3rd parties – Audience: development – Audience: 3rd parties team outside development – Source: Build is traceable – Source: Build is traceable to latest changes and to source “latest” source – Artifacts: Throw away – Artifacts: Important builds, tests are builds, artifacts are important important and primary 8
  • 9.
    CI: the Innovationof Automation • Invention: proven to work in the laboratory • Innovation: it can be replicated reliably on a meaningful scale at practical costs. • For an idea to move from invention to innovation requires an ensemble of critical components. Peter M. Senge, The Fifth Discipline • CI brings together “critical” factors: – Automation – Self-service – Transparency/Visibility 9
  • 10.
    CI: Summary • CIrequires the determination of code quality • CI disrupted Build Management • CI represents the Innovation of Automation 10
  • 11.
    Agenda • Continuous Integration • Continuous Delivery • DevOps • The Future • Resources 11
  • 12.
    Continuous Delivery: Whatis it? • Continuation of the Quality Determination that CI started. • Functional tests require deployment. • Progression through environments on a march to production, with “the build” subjected to more exhaustive tests in each environment. Build & Deploy to Functional Deploy to Integration Deploy to Deploy to Unit Test DEV Tests SIT Tests UAT PROD 12
  • 13.
    Continuous Delivery: TheDrivers • Quality Determination: – CI left unfinished business on the table. – Further tests require deployments. • Agile: keeping up with the pace. • Innovation of Automation: self-service and visibility have a powerful attraction 13
  • 14.
    Continuous Delivery: theDetails • Deploying multi-tiered applications is not trivial. – Application model – Component (tier) model – Mapping of components to servers in each Env. • Multiple Tiers – Database changes – Middleware code changes – Middleware config changes – Flat file changes • Multi-environment deployments – Handle different environment topologies – Handle different environment configurations 14
  • 15.
    Continuous Delivery &Mountain Bikes • How many people own a mountain bike? • How many people ever took it down a mountain? • The guys that deploy to production 50 times a day drive their mountain bike down the mountain. • The rest of us benefit from the technology as we have a comfortable ride on the park trails with our kids. 15
  • 16.
    Continuous Delivery: Theory& Reality • The reality is that: – Dev and Ops are in different silos – Dev and Ops use different tools – Dev produces change, Ops seeks to control change – 50 page Word doc is the standard hand-off between Dev and Ops 16
  • 17.
    Continuous Delivery: Summary •CD follows through on what CI started, the quality determination • CD works for basic deployments, but struggles in the complex • CD reality is that most organizations use it in lower environments only 17
  • 18.
    Agenda • Continuous Integration • Continuous Delivery • DevOps • The Future • Resources 18
  • 19.
    DevOps: the Drivers •The Cloud (Iaas / PaaS): – Has all the “critical” factors for Innovation – Self-service is a radical shift in the SLA • Hand-off document leads to errors • Agile & Business leads to faster pace 19
  • 20.
    DevOps: the Disruption • Cloud offers an alternative to Enterprise IT • Enterprise IT will need to match the SLA • Private cloud is a way to remain competitive • Adopting cloud automation is a paradigm shift • Paradigm shift opens the flood gates for deployment automation 20
  • 21.
    DevOps: the Implementation,Convergence • Virtualization as a base • PaaS is utilized: – Application teams may request environments for their applications. – Environments are configured with OS / DB / Middleware / etc. (System Config Tools) • Application Deployment to provisioned environments. (ARA tools) 21
  • 22.
    DevOps: the BumpsAhead Dev Ops • Very High Tempo • Slower Tempo • Can rebuild database / app • Incremental updates to from scratch Database and App – No need for Rollbacks – Rollbacks are huge • Audit is nice to have • Audit Critical – Security, traceability, – Security, traceability, separ separation of duties. ation of duties. • New Environments are • New environments are common rare 22
  • 23.
    The Summary • CIrepresents Innovation of Automation • CI got us started down the road towards PROD • CD continued the work that CI started • CD provides basic deploy hooked into CI • ARA provides complex deployments for Ops • DevOps will disrupt Ops the same way CI disrupted Build Management • DevOps opens the door for the convergence with Dev practices such as CD 23
  • 24.
    Agenda • Continuous Integration • Continuous Delivery • DevOps • The Future • Resources 24
  • 25.
    Where are weheaded? • Private clouds (or public/private) • Platform as a service – Servers with middleware, properly configured, managed, and available self-service. • Application deployment onto the platform • Release Management – Tracks builds through the (PaaS) environments from CI to Production. – Same deployment process for all environments 25
  • 26.
    Where are thetools headed? • Pre-2006: Just CI tools • 2006-2010: CI becomes Continuous Delivery – First end-to-end tool is AnthillPro in 2006. • Now: DevOps – CI is commodity. – CD tools moving towards CI + ARA – Expanding integrations with private cloud 26
  • 27.
    Agenda • Continuous Integration • Continuous Delivery • DevOps • The Future • Resources 27
  • 28.
    More on CI,CD, and DevOps Webinars and more: http://urbancode.com/resources • Death to Manual Deployments! • Build & Deployment Automation for the Lean Economy • Enterprise DevOps: Scaling Build, Deploy, Test, Release You should follow us: Blogs.urbancode.com Twitter.com/UrbanCodeSoft Facebook.com/UrbanCodeSoft 28
  • 29.
    Yes, UrbanCode hastools that help • DevOps Platform – uBuild: Continuous Integration and Build Management – uDeploy: Model driven deployment automation – uCloud: Environment provisioning integrated with existing virtualization (coming soon) 29
  • 30.
    Questions? Or ask us later: eric@urbancode.commbz@urbancode.co m 30

Editor's Notes

  • #6 CI is based on the observation that the longer development streams diverge, the more painful the eventual integration will be. Taking the converse of the above statement, the more frequently developers integrate their changes, the more painless those integrations will be
  • #7 It’s arguably the most important test. Non-compiling code, really hurts the rest of your team