Top Banner
AT11 Concurrent Session 11/8/2012 3:45 PM "The Next Level of Agile: DevOps and Continuous Delivery" Presented by: Andrew Phillips XebiaLabs Inc. Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 8882688770 9042780524 [email protected] www.sqe.com
49
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Next Level of Agile: DevOps and Continuous Delivery

 

    

AT11 Concurrent Session 11/8/2012 3:45 PM 

       

"The Next Level of Agile: DevOps and Continuous Delivery"

   

Presented by:

Andrew Phillips XebiaLabs Inc.

        

Brought to you by:  

  

340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com

Page 2: The Next Level of Agile: DevOps and Continuous Delivery

Andrew Phillips XebiaLabs, Inc.

An early believer in the ability of Java to deliver enterprise-grade software, Andrew Phillips quickly focused on the development of high-throughput, resilient, and scalable Java EE applications. After working on concurrency and high performance development for a succession of multinationals, Andrew joined agile specialists Xebia and is now VP Products for XebiaLabs, providers of the industry-leading release automation solution, Deployit. A cloud, service delivery, and automation expert, Andrew has been part of the shift to more automated application delivery platforms. He likes to stay up-to-date with technical reality by contributing to cutting-edge projects, including Multiverse, the STM implementation behind Akka, and jclouds, the leading Java cloud library.

 

Page 3: The Next Level of Agile: DevOps and Continuous Delivery

The Next Level of Agile:DevOps & Continuous Delivery

Page 4: The Next Level of Agile: DevOps and Continuous Delivery

Andrew Phillips, VP Products, XebiaLabs

Andrew is VP of Products for XebiaLabs, providers of the industry-leading release automation solution, Deployit. Andrew is a cloud, service delivery and automation expert and has been part of the shift to more automated application delivery platforms. Sitting on panels and driving blog and social media conversations, Andrew regularly contributes to key trend-defining technology discussions.

SpeakerSpeaker

Page 5: The Next Level of Agile: DevOps and Continuous Delivery

• Agile hits the Delivery Wall

• Continuous Delivery & DevOps

• Agile Automation Landscape: Best Practices

• A Case Study

• Demo

• Q&A

AgendaAgenda

Page 6: The Next Level of Agile: DevOps and Continuous Delivery

• Competitive market situation

• IT services key differentiating factor for many industries

• Pressure to get new types of services out to market quickly

• Pressure to get more and more features in existing services to market

• Adoption curve bears out the significance of Agile

Agile: Made for Today’s Delivery ChallengeAgile: Made for Today’s Delivery Challenge

Page 7: The Next Level of Agile: DevOps and Continuous Delivery

• Principle #1 of the Agile Manifesto:

“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”

The Promise of AgileThe Promise of Agile

agilemanifesto.org/principles.html

Page 8: The Next Level of Agile: DevOps and Continuous Delivery

• Deliver production-ready software at the end of every iteration...

• How many organisations actually deploy this software to production?

• What is the business value of unreleased software?

How Much Delivery?How Much Delivery?

Page 9: The Next Level of Agile: DevOps and Continuous Delivery

• In practice, many organisations are hitting a “delivery wall”

Package Deploy to Dev Smoke Test

Deploy to Test

Deploy to Prod ValueIntegration

Test

Develop Check in Unit test

Deploy to QAAcceptance

Test

The Delivery WallThe Delivery Wall

Page 10: The Next Level of Agile: DevOps and Continuous Delivery

• In practice, many organisations are hitting a “delivery wall”

Package Deploy to Dev Smoke Test

Deploy to Test

Deploy to Prod ValueIntegration

Test

Develop Check in Unit test

Deploy to QAAcceptance

Test

The Delivery WallThe Delivery Wall

Page 11: The Next Level of Agile: DevOps and Continuous Delivery

• In practice, many organisations are hitting a “delivery wall”

Package Deploy to Dev Smoke Test

Deploy to Test

Deploy to Prod ValueIntegration

Test

Develop Check in Unit test

Deploy to QAAcceptance

Test

The Delivery WallThe Delivery Wall

Page 12: The Next Level of Agile: DevOps and Continuous Delivery

• Wall is often related to increasing release effort and control due to more complex environments and release management processes

Package Deploy to Dev Smoke Test

Deploy to Test

Deploy to Prod ValueIntegration

Test

Develop Check in Unit test

Deploy to QAAcceptance

Test

The Delivery WallThe Delivery Wall

Page 13: The Next Level of Agile: DevOps and Continuous Delivery

• In order to realise principle #1 of the Agile Manifesto, we need to eliminate The Wall

• Key initiatives: Continuous Delivery & DevOps

• Set deployment to production as the goal

Removing the WallRemoving the Wall

Page 14: The Next Level of Agile: DevOps and Continuous Delivery

• Why stop with continuous code integration and unit testing?

• Build a delivery pipeline!

Continuous DeliveryContinuous Delivery

Page 15: The Next Level of Agile: DevOps and Continuous Delivery

• Project teams need to be able to truly take the project from end to end

• Development & Operations competencies and responsibilities shared and communicated throughout the project lifecycle

Package Deploy to Dev Smoke Test

Deploy to Test

Deploy to Prod ValueIntegration

Test

Develop Check in Unit test

Deploy to QAAcceptance

Test

DevOpsDevOps

Page 16: The Next Level of Agile: DevOps and Continuous Delivery

• Continuous Delivery & DevOps are processes – really, mindsets

• You can't “do CD” or “do DevOps” just by installing some big toolsuite • Manual and error-prone processes key part of the bottleneck

• Automation (testing, deployment, environment provisioning etc.) essential part of the solution picture

Continuous Delivery, DevOps & AutomationContinuous Delivery, DevOps & Automation

Page 17: The Next Level of Agile: DevOps and Continuous Delivery

• Key challenge: how to combine increased “flow to production” with standards-based Release Management processes?

• Can our current processes support the flow in their current form? • Can we automate certain Release Management requirements?

• Can we trust automated Release Management requirements?

““The RM Challenge”The RM Challenge”

Page 18: The Next Level of Agile: DevOps and Continuous Delivery

Build Integrate DeployIntegrate Deploy DeployTest Value

Dev... ...Ops

The Agile Automation LandscapeThe Agile Automation Landscape

Page 19: The Next Level of Agile: DevOps and Continuous Delivery

Build Integrate DeployIntegrate Deploy to Smoke Test

Dev...

...Ops

Dev

DeployDeploy to Functional Test

Test

DeployDeploy to Acceptance Test

QA

DeployDeploy to Go/No go Test

Prod Value

The Agile Automation LandscapeThe Agile Automation Landscape

Page 20: The Next Level of Agile: DevOps and Continuous Delivery

Build Integrate DeployIntegrate Deploy to Smoke TestDev

DeployDeploy to Functional Test

Test

DeployDeploy to Acceptance Test

QA

DeployDeploy to Go/No go Test

Prod Value

Continuous Integration

DeploymentAutomation

AutomatedProvisioning

AutomatedTesting

The Agile Automation LandscapeThe Agile Automation Landscape

Dev...

...Ops

Page 21: The Next Level of Agile: DevOps and Continuous Delivery

Build Integrate DeployIntegrate Deploy to Smoke TestDev

DeployDeploy to Functional Test

Test

DeployDeploy to Acceptance Test

QA

DeployDeploy to Go/No go Test

Prod Value

Continuous Integration

DeploymentAutomation

AutomatedProvisioning

AutomatedTesting

The Agile Automation LandscapeThe Agile Automation Landscape

Dev...

...Ops

Page 22: The Next Level of Agile: DevOps and Continuous Delivery

• Continuous Integration: building, testing and integrating your source code and creating a releasable package

Technical Elements of the Automation LandscapeTechnical Elements of the Automation Landscape

Page 23: The Next Level of Agile: DevOps and Continuous Delivery

• Continuous Integration: building, testing and integrating your source code and creating a releasable package

• Deployment Automation/Application Release Automation: distributing the components of the releasable package into your target environment

Technical Elements of the Automation LandscapeTechnical Elements of the Automation Landscape

Page 24: The Next Level of Agile: DevOps and Continuous Delivery

• Continuous Integration: building, testing and integrating your source code and creating a releasable package

• Deployment Automation/Application Release Automation: distributing the components of the releasable package into your target environment • Provisioning: Creating and readying the target environment and middleware required by your application

Technical Elements of the Automation LandscapeTechnical Elements of the Automation Landscape

Page 25: The Next Level of Agile: DevOps and Continuous Delivery

• Continuous Integration: building, testing and integrating your source code and creating a releasable package

• Deployment Automation/Application Release Automation: distributing the components of the releasable package into your target environment • Provisioning: Creating and readying the target environment and middleware required by your application

• Cloud Management: providing the “raw” virtual machine resources for provisioning

Technical Elements of the Automation LandscapeTechnical Elements of the Automation Landscape

Page 26: The Next Level of Agile: DevOps and Continuous Delivery

• Continuous Integration: building, testing and integrating your source code and creating a releasable package

• Deployment Automation/Application Release Automation: distributing the components of the releasable package into your target environment • Provisioning: Creating and readying the target environment and middleware required by your application

• Cloud Management: providing the “raw” virtual machine resources for provisioning

• Automated Testing: verifying your application's functional and non-functional behaviour

Technical Elements of the Automation LandscapeTechnical Elements of the Automation Landscape

Page 27: The Next Level of Agile: DevOps and Continuous Delivery

• Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)

ObservationsObservations

Page 28: The Next Level of Agile: DevOps and Continuous Delivery

• Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)

• Don't look for a Silver Bullet

ObservationsObservations

Page 29: The Next Level of Agile: DevOps and Continuous Delivery

• Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)

• Don't look for a Silver Bullet • All automation frameworks can run arbitrary sequences of commands...

ObservationsObservations

Page 30: The Next Level of Agile: DevOps and Continuous Delivery

• Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)

• Don't look for a Silver Bullet • All automation frameworks can run arbitrary sequences of commands...

• …but focus, design and especially out-of-the-box content/support of each of the types of tool is quite distinct

ObservationsObservations

Page 31: The Next Level of Agile: DevOps and Continuous Delivery

• Proven tools in each area, especially the more development-centric ones (Continuous Integration, Automated Testing)

• Don't look for a Silver Bullet • All automation frameworks can run arbitrary sequences of commands...

• …but focus, design and especially out-of-the-box content/support of each of the types of tool is quite distinct

• Also, you're likely to have one or more of these tool types in house already

ObservationsObservations

Page 32: The Next Level of Agile: DevOps and Continuous Delivery

• Look for widely used products with broad communities• Technically challenging area, so only frequent use can flush

out incompatibilities and bugs

Things to Look for #1Things to Look for #1

Page 33: The Next Level of Agile: DevOps and Continuous Delivery

• Look for widely used products with broad communities• Technically challenging area, so only frequent use can flush

out incompatibilities and bugs

• Look for products with a plugin/content ecosystem• Not just for reuse, but also as “cookbooks” or guides

Things to Look for #1Things to Look for #1

Page 34: The Next Level of Agile: DevOps and Continuous Delivery

• Look for widely used products with broad communities• Technically challenging area, so only frequent use can flush

out incompatibilities and bugs

• Look for products with a plugin/content ecosystem• Not just for reuse, but also as “cookbooks” or guides

• Look for integrations• You want freedom and options in combining these elements

Things to Look for #1Things to Look for #1

Page 35: The Next Level of Agile: DevOps and Continuous Delivery

• Look for widely used products with broad communities• Technically challenging area, so only frequent use can flush

out incompatibilities and bugs

• Look for products with a plugin/content ecosystem• Not just for reuse, but also as “cookbooks” or guides

• Look for integrations• You want freedom and options in combining these elements

• Look for compatible security models• Auditing and control!

Things to Look for #1Things to Look for #1

Page 36: The Next Level of Agile: DevOps and Continuous Delivery

• Look for widely used products with broad communities• Technically challenging area, so only frequent use can flush

out incompatibilities and bugs

• Look for products with a plugin/content ecosystem• Not just for reuse, but also as “cookbooks” or guides

• Look for integrations• You want freedom and options in combining these elements

• Look for compatible security models• Auditing and control!

• Watch out for platform support• Far more options for *nix systems that for Windows

Things to Look for #1Things to Look for #1

Page 37: The Next Level of Agile: DevOps and Continuous Delivery

• (Provisioning) Look for support for cloud (de facto) standards• e.g. EC2, OpenStack etc. for your coming public or hybrid cloud

Things to Look for #2Things to Look for #2

Page 38: The Next Level of Agile: DevOps and Continuous Delivery

• (Provisioning) Look for support for cloud (de facto) standards• e.g. EC2, OpenStack etc. for your coming public or hybrid cloud

• (Provisioning) Look for support for (de facto) VM standards• e.g. OVF, VMDK etc. for portability of your base images

Things to Look for #2Things to Look for #2

Page 39: The Next Level of Agile: DevOps and Continuous Delivery

• (Provisioning) Look for support for cloud (de facto) standards• e.g. EC2, OpenStack etc. for your coming public or hybrid cloud

• (Provisioning) Look for support for (de facto) VM standards• e.g. OVF, VMDK etc. for portability of your base images

• (Deployment Automation) Look for support for “vanilla” middleware images• So you can use the standard distributions without having to modify

them e.g. by installing drivers or agents

Things to Look for #2Things to Look for #2

Page 40: The Next Level of Agile: DevOps and Continuous Delivery

• (Provisioning) Look for support for cloud (de facto) standards• e.g. EC2, OpenStack etc. for your coming public or hybrid cloud

• (Provisioning) Look for support for (de facto) VM standards• e.g. OVF, VMDK etc. for portability of your base images

• (Deployment Automation) Look for support for “vanilla” middleware images• So you can use the standard distributions without having to modify

them e.g. by installing drivers or agents

• Look for release management hooks• Validations and updates

Things to Look for #2Things to Look for #2

Page 41: The Next Level of Agile: DevOps and Continuous Delivery

• (Provisioning) Look for support for cloud (de facto) standards• e.g. EC2, OpenStack etc. for your coming public or hybrid cloud

• (Provisioning) Look for support for (de facto) VM standards• e.g. OVF, VMDK etc. for portability of your base images

• (Deployment Automation) Look for support for “vanilla” middleware images• So you can use the standard distributions without having to modify

them e.g. by installing drivers or agents

• Look for release management hooks• Validations and updates

• Look for model-based automation• Scalability in changing environment• It's not just about one pipeline!

Things to Look for #2Things to Look for #2

Page 42: The Next Level of Agile: DevOps and Continuous Delivery

A Case Study: ScenarioA Case Study: Scenario

• Government agency

• Running on old platform with fading support

• Usage conflicts due to large shared environment

• Unknown or unreproducible configuration state

• Deployments and tests throttled by environment instability

Page 43: The Next Level of Agile: DevOps and Continuous Delivery

A Case StudyA Case Study

• Decision: transition to modern DevOps platform

• Goals Standard configuration Standardized provisioning Standardized deployment Centralized monitoring Centralized access control Virtual environment Proven technology

Page 44: The Next Level of Agile: DevOps and Continuous Delivery

A Case StudyA Case Study

• Decision: transition to modern DevOps platform

• Goals Standard configuration Standardized provisioning Standardized deployment Centralized monitoring Centralized access control Virtual environment Proven technology

Note access control!

Page 45: The Next Level of Agile: DevOps and Continuous Delivery

A Case Study: Solution StackA Case Study: Solution Stack

Page 46: The Next Level of Agile: DevOps and Continuous Delivery

A Case Study: ResultsA Case Study: Results

• Significant cost saving to due increased automation and non-proprietary components• “private PaaS” deployment frontend• Eliminated environment availability bottleneck for testing• Reproducible environment configuration• Auto-scale capability through monitoring and adaptable deployment automation• End-to-end automation• Ability to verify deployments against Release Management

More information at http://tinyurl.com/7heh5ox

Page 47: The Next Level of Agile: DevOps and Continuous Delivery

DemoDemo

Page 48: The Next Level of Agile: DevOps and Continuous Delivery

Deployit: www.xebialabs.com/tour

Blog: blog.xebialabs.com

Twitter: @xebialabs

YouTube: youtube.com/xebialabs

Contact [email protected] for a 15min walkthrough of deployment automation

in your Agile application landscape

More InformationMore Information

Page 49: The Next Level of Agile: DevOps and Continuous Delivery

Deployit: www.xebialabs.com/tour

Blog: blog.xebialabs.com

Twitter: @xebialabs

YouTube: youtube.com/xebialabs

Questions?Questions?