DevOps for. Developers. Michael Huttermann. Apress-

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

DevOps Course Content

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

CARMEN DEARDO DEVOPS TECHNOLOGY LEADER, NATIONWIDE INSURANCE

Agile ALM. Lightweight tools and Agile strategies MANNING MICHAEL HUTTERMANN. Shelter Island

Agile Delivery Framework Automation & Deployment With Puppet

Requirements Engineering

Continuous Delivery by example.net

AppDynamics Fall 14' Release: Revolutionizing APM! p r e s e n t e d b y :

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

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

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK

DevOps Stack. Reid Holmes. Chris Parnin:

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

Certified Agile Software Test Professional (CASTP)

Leveraging the full potential of automation

Rally Integration with BMC Remedy through Kovair Omnibus Kovair Software, Inc.

An Overview of Agile Testing

HP Agile Manager What we do

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

Continuous Delivery Benefits, Best Practices and Practical Advice

Software Requirements, Third Edition

MasterClass 26 th March 2015 DevOps and Continuous Deployment

Lean Metrics How to measure and improve the flow of work. Chris Hefley, CEO of LeanKit. November 5 th, 2014

Requirements Management im Kontext von DevOps

Th3 - Open Source Tools for Test Management

ICAgile Learning Roadmap Agile Testing Track

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

Continuous Integration Processes and SCM To Support Test Automation

DevOpsand The Service Desk Don t Let The Developers Hijack The Discussion!

Bridging the Gap Between Acceptance Criteria and Definition of Done

APM & DEVOPS CHALLENGES & ENABLERS. M. Hanin, Hannover,

Bridging Development and Operations: The Secret of Streamlining Release Management

How To Achieve Continuous Delivery

Requirements Elaboration

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

Teaching an Elephant to Dance. Patterns and Practices for Scaling Agility

Journey to the Cloud and Application Release Automation Shane Pearson VP, Portfolio & Product Management

Crossing the DevOps Chasm

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

Data Center Automation with YADT

Use Scrum + Continuous Delivery to build the right thing

It s Not Called Continuous Integration for Nothing!

Improving Project Governance Using Agile and Metrics. Kevin Aguanno PMP, IPMA-B, MAPM, Cert.APM

Quality Assurance in an Agile Environment

Guide to Mobile Testing

Glossary SAFe 4.0 for Lean Software and Systems Engineering

An Introduction to Continuous Delivery

Secrets of a Scrum Master: Agile Practices for the Service Desk

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

Continuous Delivery and Test Automation in Agile SW projects with Robot Framework Antti Pohjonen

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

Scaling Agile Is Hard, Here s How You Do It!

Modern practices TIE-21100/

White Paper. The Importance of Automating the End to End Pipeline for Continuous Delivery

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

ACCELERATE DEVOPS USING OPENSHIFT PAAS

DevOps. Production Operations - The Last Mile of a DevOps Strategy

IT Operations Management: A Service Delivery Primer

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

DELIVERING AGILE QUALITY ASSURANCE THROUGH EXTREME AUTOMATION

Automation and Virtualization, the pillars of Continuous Testing

Continuous Delivery of Software

DevOps: Advances in release management and automation

DevOps. Jesse Pai Robert Monical 8/14/2015

Introduction to Agile Software Development Process. Software Development Life Cycles

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

DevOps: Advances in Release Management and Automation

Contents. xvii. Preface. xxi. Foreword. 1 Introduction 1. Preamble 1. Scope and Structure of the Book 3. Acknowledgments 4 Endnotes 5

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

DevOps. Building a Continuous Delivery Pipeline

The Continuous Delivery Tool Chain: So Many Choices!

Balancing the Outsourcing Equation

DevOps for the Mainframe

DevOps for CA Plex Automated Testing

ITIL A guide to release and deployment management

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Top 10 Considerations for Enterprise Agile Tools.

Case Study. Performance Testing of Medical Association Builder Portal. Case Study. US-based Non-profit Medical Association (Healthcare)

Appendix 2-A. Application and System Development Requirements

DevOps: Development Challenges and New Approaches

ALM/Quality Center. Software

Collaborative Project Management in a DevOps Culture

From the White Board to the Bottom Line

GETTING STARTED WITH CONTINUOUS DELIVERY. Lana wcgp.co

Continuous Delivery. Martin Fowler, Jez Humble YOW! Brisbane, 5 December Wednesday, December 7, 11

Transcription:

DevOps for Developers 111 Michael Huttermann Apress-

Contents About the Author About the Technical Reviewers Acknowledgments Introduction xiii xiv xv xvi Part I: Fundamentals 1 Chapter 1: Beginning DevOps for Developers 3 The Definition of DevOps 3 Influences and Origins 5 Development and Operations in Conflict 5 Broaden the Usage of Agile 7 Views of DevOps 8 What DevOps Is NOT 9 Roles and Structures 9 DevOps and Tool Suites 11 Structure of This Book 12 Conclusion 12 Chapter 2: Introducing DevOps 15 Traditional Project Settings 15 Agile Project Settings 18 Blame Game: Dev vs. Ops 21 Conflicts During Deployment 21 Conflicts After Deployment 22 Conflicts About Performance 22

1] CONTENTS Operations as Bottleneck 23 Horizontal Optimization 24 Operations and ITSM 24 DevOps to the Rescue 26 The Essence of DevOps 26 Values and Goals 27 Processes 28 Tools 29 Conclusion 31 Chapter 3: Building Blocks of DevOps 33 Measurement and Metrics 33 Traditional Use of Metrics 34 Agile Approach to Metrics 34 Improving Flow of Features 38 Cycle Time 38 Lead Time, Takt Time, and Throughput 39 Improve and Accelerate Delivery 40 Automatic Releasing 41 Decoupled Deployment and Release 45 Conclusion 47 Part II: Metrics and Measurement View 49 Chapter 4: Quality and Testing 51 What Is Quality? 51 Leading and Supporting Attributes 52 Patterns for Improving Quality 54 Internal and External Quality 55 Use Scenarios to Describe Quality 55 Quality Is an Inherent Part 56

CONTENTS DE Test Automation Mix 58 Inject Quality Gates 61 Conclusion 64 Chapter 5: Introduce Shared Incentives 65 War Study: Magic Kingdoms 65 What Is a Team? 66 Goals and Working Agreements 67 Motivation 69 Becoming a Team 70 Tuckman's Stages of Group Development 71 Facilitator and Caretakers 72 Success Stories 72 Aaron Nichols: DevOps at Rally Software 73 Lisa Crispin: DevOps, Naturally 76 Conclusion 77 Part III: Process View 79 Chapter 6: Gain Fast Feedback 81 The DevOps Area Matrix 81 Extend Development to Operations 82 Extend Operations to Development 83 Embed Development into Operations 84 Embed Operations into Development 85 Starting with Kanban 86 Introducing Kanban 86 Five Core Properties 87 An Example Kanban Board for DevOps 88

jd contents Example Use Case 89 The Anarchic Approach 90 The Improved Approach 92 Conclusion 94 Chapter 7: Unified and Holistic Approach 95 Getting Started with Concepts 95 Nonfunctional Requirements 96 Origins of Conceptual Deficits 99 Limited Rationality 100 Complex and Dynamic Environments 101 Principal-Agent Problem 101 Moral Hazard 102 Attributes of a Unified Approach 104 Foster Traceability 104 Check Nonfunctional Requirements 106 Align Goals 106 Conclusion 107 Part IV: Technical View 109 Chapter 8: Automatic Releasing......111 Prerequisites for Automatic Releasing 111 Patterns with Appropriate Tools 114 Use Delivery Pipelines 114 Use Baselines 117 Shared Version Numbers 121 Version Automatically 122 Use Release Containers with RPM 125 Apply Task-Based Development 128 Use Database Update Scripts 130 Conclusion 133

CONTENTS EE Chapter 9: Infrastructure as Code 135 Starting with Infrastructure as Code 136 Traditional Infrastructure Handling 136 How to Do It Better 137 Test Environments with Vagrant 139 Host-Only Networking, Multi-VM Environments 142 Provisioning with Puppet 142 Using Vagrant for Continuous Integration 144 Complementary Tools 147 Provisioning with Puppet 148 Setting Up a Puppet Master 148 Setting Up a Puppet Client 148 Use Case: Open Source Infrastructure with Puppet 150 The Need, from the Jenkins Viewpoint 150 The How at Jenkins 151 Where to Look Next? 155 Alternatives 156 Conclusion 156 Chapter 10: Specification by Example 157 Getting Started with Acceptance Tests 157 Acceptance Tests as a Communication Vehicle 158 Defining Your Acceptance Criteria 159 Elaborating the Examples 160 Automating the Acceptance Criteria 161 Implementing the Tests 163 Slice High-Level Tests into Steps 163 Table-Driven Tests 164 Test Steps as Java or Groovy Classes 165

3D CONTENTS Turn Steps into Working Tests 165 Page Object Pattern 166 Reporting on the Test Outcomes 167 Providing Living Documentation 169 Conclusion 169 Moving On 170 Index 171