Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram Narayan @sriramnarayan 25-Oct-2012



Similar documents
adopting continuous delivery

DevOps: Development Challenges and New Approaches

DevOps for the Mainframe

Enabling Continuous Delivery for Java Projects with Oracle Cloud Services (Oracle PaaS) Siva Rama Krishna Oracle India

Continuous Delivery Workshop

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Collaborative DevOps Learn the magic of Continuous Delivery. Saurabh Agarwal Product Engineering, DevOps Solutions

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Continuous Delivery. Jez Humble, ThoughtWorks #continuousdelivery DevOpsDays, Hamburg

Data Center Automation with YADT

Azure Day Application Development

Bridge Development and Operations for faster delivery of applications

ACCELERATE DEVOPS USING OPENSHIFT PAAS

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Continuous Delivery of Software

Adopting Agile Approaches for the Enterprise

Continuous Delivery Software-Deployments ohne graue Haare. 3. April 2012 Corsin Decurtins

Application Release Automation (ARA) Vs. Continuous Delivery

Orchestrated. Release Management. Gain insight and control, eliminate ineffective handoffs, and automate application deployments

Fundamentals of Continuous Integration

Jenkins and Chef Infrastructure CI and Application Deployment

THE STATEFUL CONDITION: OR HOW I LEARNED TO STOP WORRYING AND EMBRACE THE CLOUD

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Continuous Delivery Benefits, Best Practices and Practical Advice

DevOps to Enterprise Agile

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

SESSION 108 Wednesday, March 25, 10:15 AM - 11:15 AM Track: Industry Insights

Increasing frequency of releases to every week down from quarterly major releases

A Sumo Logic White Paper. Harnessing Continuous Intelligence to Enable the Modern DevOps Team

Building Value with Continuous Integration

Keys to Continuous Delivery Success. Mark Warren Product Director Perforce Software

Service OnBoarding: A Process Approach for Uniting ITIL and DevOps. Bill Cunningham

The Virtualization Practice

The Continuous Delivery Effect

Continuous delivery Release software on-demand, not on Red Alert

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Agile Release Management: Towards Frequent, Low Risk Releases. by Jez Humble, Build and Release Principal, ThoughtWorks Studios.

Be Fast Or Stay Behind

Software Development In the Cloud Cloud management and ALM

DevOps - en inngang til den Digtale Transformasjon Rapidly Deliver Exceptional Software

Continuous Delivery at SAP: From dinosaur to spaceship. Darren Hague / SAP Global IT November 1st, 2013 Public

Delivering Cost Effective IT Services

7 Must-Haves for Application Performance Management. SlashGuide - July 2013

Challenging ALM: What really matters when picking tools? Share this Ebook

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

Successful PaaS and CI in the Cloud

SESSION 703 Wednesday, November 4, 9:00am - 10:00am Track: Advancing ITSM

Reflecting on how cloud computing is changing the game between development & operations

CARMEN DEARDO DEVOPS TECHNOLOGY LEADER, NATIONWIDE INSURANCE

Automation and DevOps Best Practices. Rob Hirschfeld, Dell Matt Ray, Opscode

Service Orchestration

DevOps: Old-School IT lessons for a New-World of IT Opportunities. February 16, 2012

18/09/2015. DevOps. Prof. Filippo Lanubile. Outline. Definitions Collaboration in DevOps Automation in DevOps. Prof.

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

Must Haves for your Cloud Toolbox Driving DevOps with Crowbar and Dasein

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

DevOps Course Content

Agile Delivery Framework Automation & Deployment With Puppet

Shifting Enterprise Development into the Fast Lane

Au t o n o m i c s - Ap p l i e d Ap p l i c a t i o n M a n agement

Agility via Software Engineering Practices

How to effect change in the Epistemological Wasteland of Application Security. James Wickett

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

HP Agile Manager What we do

Building Value with Continuous Integration

@CodenvyHQ

Java PaaS Enabling CI, CD, and DevOps

Introduction to DevOps on AWS

Bridging Development and Operations: The Secret of Streamlining Release Management

OpenShift. Marek Jelen, OpenShift, Red Hat

HP DevOps by Design. Your Readiness for Continuous Innovation Rony Van Hove/ April 2 nd, HP Software: Apps meet Ops 2015

Enabling Your Strategies. How Deployment Automation Supports Your Agile 2.0, Continuous Delivery, DevOps & Cloud Initiatives

Establish a Continuous Delivery Pipeline: IBM UrbanCode Deploy

Making Leaders Successful Every Day Forrester Research, Inc. Reproduction Prohibited

DevOps. Josh Preston Solutions Architect Stardate

Adopting a Continuous Integration / Continuous Delivery Model to Improve Software Delivery

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Continuous Delivery / Continuous Deployment How to automate your Deliveries. Bernhard Keprt

DevOps: Advances in release management and automation

Internet of Things. Opportunity Challenges Solutions

Senior Business Intelligence/Engineering Analyst

Security Automation in Agile SDLC Real World Cases

Best Practices in Release and Deployment Management

An introduction to the benefits of Application Lifecycle Management

agenda AGILE AT SCALE

Accélérer le développement d'applications avec DevOps

Driving Your Business Forward with Application Life-cycle Management (ALM)

TRANSFORMING TO NEXT-GEN APP DELIVERY FOR COMPETITIVE DIFFERENTIATION

Best Overall Use of Technology. Jaspersoft

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

Modern IT Operations Management. Why a New Approach is Required, and How Boundary Delivers

Continuous Integration and Delivery at NSIDC

Launching the Next Generation Satellite Ground System on Cloud Foundry and Microservices

SCALING AGILE. minutes

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

Unleash Competitive Advantage through Software Lifecycle Integration

The Rationale For Continuous Delivery

NIH PROJECT MANAGEMENT COMMUNITY THE DEVOPS EFFECT DONNA KNAPP ... educate & inspire ITSM Academy

Transcription:

Why continuous delivery needs devops, and why devops needs infrastructure-as-code Sriram Narayan @sriramnarayan 25-Oct-2012

about me Part of ThoughtWorks Studios Go team Have consulted as Tech Principal, Agile Coach, organization development coach Been a manager, leadership development coach and innovation facilitator Written production code in Java, C#, Ruby and Python 2010 2012

About ThoughtWorks Studios Training on agile foundations, project management, testing, continuous delivery www.thoughtworks-studios.com/services/agile-workshops

Radar and Anthology

Executive summary Why does CD need devops? Because you can t have CD with a siloed org devops helps blur the strict boundary between dev and ops. Why does devops need IaC? IaC helps create a common currency between dev and ops Helps skills crossover

definitions

Continuous delivery is an approach to delivering software that reduces the cost, time, and risk of delivering incremental changes to users. I think of it as agile software delivery/release instead of agile software development ThoughtWorks Anthology, March 2008

1. Your software is releasable throughout its lifecycle

2. Your team prioritizes keeping the software releasable over working on new features

3. Anybody can get fast, automated feedback on the production readiness of your systems any time somebody makes a change to them

4. You can perform push-button releases of any version of the software on demand.

It is a high bar And it isn t easy

devops theagileadmin.com/what-is-devops/ system administrators participating in an agile development process alongside developers and using a many of the same agile techniques for their systems work wikipedia a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.

Q. Why does CD need devops? A. Because you can t have CD with a siloed org and devops helps blur the strict boundary between dev and ops.

http://www.ediblegeography.com/wp-content/uploads/2012/09/steel-silo-460.jpg A typical setup (pre-devops)

http://www.ediblegeography.com/wp-content/uploads/2012/09/steel-silo-460.jpg A typical anti-pattern (post-devops)

Silo trouble What is a silo? Why are silos bad for CD? What causes silos? Understand the causes so that we can take preventive measures

What is a silo? http://wiki.answers.com/q/what_are_organizational_silos Organizational silos are (often) dysfunctional units or departments within an enterprise, characterized by their tendency to protect themselves...they are sometimes the result of unchecked "empire building" by middle management. A less harsh attempt Anything that tends to localize a (technical) competency and create handoffs in a delivery value stream.

Why are silos bad for CD? Silos mean handoffs Handoffs Cannot be continuous or real-time Communication protocol (e.g. SPOC, minutes) Work queues, turn around times, follow ups, priority escalations Can only work with large batch size But...

We all want shorter cycle times This requires small batch size Handoffs double when batch size halves Too much communication overhead Just not responsive enough Ergo, we reduce hand-offs by tearing down silos

Things that promote a silo Org structure, reporting hierarchy Geographic separation Speciality tools Limited licenses to go around e.g. salesforce accounts, expensive deployment tools Speciality teams

Towards autonomous cross-functional teams 7 silos 5 silos no silos ARCHITECTURE ARCHITECTURE DEVELOPMENT BUILD DATABASE TESTING DATABASE OPERATIONS OPERATIONS MAINTENANCE MAINTENANCE 3 cross-functional teams 1. Extreme case: dev team has no people from other functions (7 silos) 2. Many orgs now merge development, build and testing into one team (5 silos) 3. devops tries to merge operations into what then becomes the IT team

Silo mitigation team and org design Organize along business outcomes Create semi-autonomous teams that own outcomes and minimize geographic separation Distribute specialists among the teams rather than create a speciality team Responsiveness over Efficiency It s ok if specialist utilization falls Generalizing specialist, T-shaped people

Silo mitigation choice of tools Use tools & techniques that blur boundaries between specialists rather than define them Same source code repo for app, build and deploy Same wiki tool, work management tool One over-arching tool for the entire continuous delivery value stream Instead of different tools for CI and deployment

http://www.thoughtworks.com/radar Oct 22, 2012

Q. Why does devops need infrastructure-as-code? A. To create a common currency between dev and ops, which in turn helps mutual transfer of skills and insights

infrastructure-as-code Infrastructure described via code Server and network config, base builds, packages, environments, services and config files A domain model for infrastructure First class infrastructure primitives that allow for a declarative description of desired state The phoenix test Bare metal, infrastructure code and data backup

The radar on infrastructure-as-code July 2011 Oct 2012 March 2012

domain model http://wiki.opscode.com/display/chef/chef+concepts+as+uml

IaC samples Chef: data bag Chef: resources in a recipe Chef: scripting a master-slave config From Bryan Beery http://faodata.blogspot.in/2012/04/chef-testimonial-data.html

Application code Common currency Infrastructure code

The power of text Text lends itself better to collaboration and automation Non-proprietary version control, diff and merge So much tooling is available Code and config in the form of text descriptors makes transactions between specialists more fluid.

IaC facilitated crossover What devs learn from ops Resilience Cloud, Virtualization Data centres Inventory Backups & Audits Monitoring What ops learn from devs Domain modelling Common vocabulary Continuous integration Everything in version control DRY Automated testing

Putting it all together source, tests App Source pipeline trigger target nodes build and unit test acceptance deploy-qa publish artifacts pkg repo deploy-production recipes etc Infra Code binaries deploy-performance

continuous delivery devops iterative, not a linear flow from left to right discover analyze validate one cross-functional team of generalizing specialists architect design develop build App dev test acceptance performance exploratory provision inventory audit deploy upgrade rollback Infrastructure-as-code monitor backup text descriptors in version control One tool for traceability, orchestration, visualization

Thank you Please use the Q&A box for questions or comments