patterns and practices of a successful devops transformation

37
Patterns and Practices of a Successful DevOps Transformation James Casey, VP of Partner Engineering | [email protected]

Upload: chef

Post on 20-Feb-2017

356 views

Category:

Technology


1 download

TRANSCRIPT

Patterns and Practices of a Successful DevOps Transformation

James Casey, VP of Partner Engineering | [email protected]

Chef: Leader in the DevOps Market

Born with the DevOps movement

Provider to web leaders and the enterprise

Understands DevOps success patterns

Distilled these patterns into the Chef platform

What is Chef?

DevOps: The culture of innovating at velocity

• A technical and cultural movement with automation at its core

• A faster and safer way to deliver value to

customers

• A set of practices established by web innovators that are now being adopted by enterprises of all kinds.

“Together, Chef and Microsoft are empowering DevOps adoption in the enterprise with integrated technologies that improve

collaboration and speed software development.”

- Jeffrey Snover, Technical Fellow and Lead Architect for Windows Server, Microsoft

Quality and innovation, historically a tradeoffQ

UALIT

Y/CO

MPL

IAN

CE

RATE OF INNOVATION

Challenges

Manual processes Weeks to setup new systems or software

Legacy systems and tools Inflexible, hard-to-change hardware and software

Organizational silos Unwieldy divisions of responsibility

Infrequent, large releases Fear of deployment due to risk to SLAs

Regulatory burdens Compliance bottleneck at the end of a project

Manual processes Weeks to setup new systems or software

Legacy systems and tools Inflexible, hard-to-change hardware and software

Organizational silos Unwieldy divisions of responsibility

Regulatory burdens Compliance bottleneck at the end of a project

Infrequent, large releases Fear of deployment due to risk to SLAs

Compliance at velocity Integration of compliance into the workflow using automated tests

Increased cooperation and trust Teams are aligned towards common goals

Dynamic infrastructure Easy migration to on-demand, cloud-based infrastructure and management of heterogeneous networks

Automation New systems and software updates deployed in minutes

Continuous delivery of infrastructure and applications Safe, rapid delivery of incremental value

Solutions to the challenges

The game changer: rapid time to value

Innovation

Quality/Compliance

Steps to a successful DevOps transformation

Patterns

Examples

Practices

Steps to a successful DevOps transformation

Patterns

Examples

Practices

The right way to DevOps

Infrastructure and Applications must be rapidly deployed in a verifiable, repeatable and safe manner

Cloud Automation Culture

+ +

Key Patterns:

Cloud – the path to dynamic infrastructure

Migrate applications to the cloud and support hybrid and multi-cloud environments. Automate the management of heterogeneous networks, including legacy systems.

• Provisioning and setting up environments • Dynamic scaling of compute resources• Migrating legacy workloads to the cloud• Multi cloud and hybrid cloud deployment• Support for heterogeneous environments

Automation

Turn infrastructure into code—infrastructure as code is versionable, testable and repeatable. Manual processes become a thing of the past.

• Automated, full-stack application policies• Package and service installation• Versionable, testable, repeatable workflow• Scalable application policies• Management of interdependencies across nodes

DevOps workflow & culture

Eliminate silos and lower the overhead of IT operations and service management by supporting DevOps culture. Build communities.

• Unified workflow for application and infrastructure• Integration with version control for development and operations

• Support for automated testing of infrastructure and applications

• Integration of security and compliance into product development

• Advanced, high-velocity workflow

The rewards?*

*source: Dr. Nicole Forsgren research on DevOps

More deploymentsShip faster Faster MTR after issues More profits, market share, and productivityMarket cap goes up

Continuous delivery of infrastructure & apps

Implement a high-velocity software delivery pipeline that integrates application and infrastructure. Eliminate the risks incurred with large, infrequent releases.

• Rapid provisioning of development and test environments

• Ensure consistency and repeatability of environments• Unified pipeline for infrastructure, runtime

environments and applications• Support for large teams with multiple projects• Advanced, high-velocity workflow

Security and compliance at velocity

Regulatory compliance and security concerns are facts of life for every enterprise. At the same time, competitive pressures are increasing. Embed requirements into the software delivery pipeline. Makes compliance at velocity possible.

• Embed compliance into the software delivery pipeline• Automated checking of compliance criteria with

analytics• Structured review process during development• Discovery and analysis• Patch management and remediation

Chef provides a proven approach to DevOps

Apps

Runtime environments

Infrastructure

...

...

...

Targets/Workloads

Collaborative Development

Chef Analytics

Production

Chef Server

Chef Server

Chef Supermarket

Assessment

Chef Compliance

Search

Audit

Discover

ProvisionDeploy

Test

Chef Delivery

Local Development

Model

Build

Test

Chef Development Kit

Chef Client & Cookbooks

Knife Windows plugin supports: • Bootstrapping Windows servers

using winrm or ssh• Remote command execution using

winrm or ssh

Chef Development Kit available for WindowsFull Chef developer experience available on Windows

Test kitchen support for AzureInstantiate Linux VMs as part of test runs

Chef and Microsoft integration points

• Native Chef integration in Azure portal • Azure SDK Tools PowerShell cmdlets• Knife Azure plugin lets you:

• Create VM instances managed by Chef Server • Deploy applications through the Azure API • Enumerate instances and images • Delete instances from Azure and Chef

• Instant Access in Azure Marketplace

• First-class Powershell DSC support

Chef and Microsoft integration points

Steps to a successful DevOps transformation

Patterns

Examples

Practices

Success Example: Intuit

https://www.youtube.com/watch?v=YA3VXAQqDi4

Success Example: Application Deployment

Success Example: Top Five Global Bank

Steps to a successful DevOps transformation

Patterns

Examples

Practices

Transformation is messy

DevOps Accelerants

Our Tools:•DevOps Journey Map – stages of maturity•DoJo Assessment – where you are; where you want to be; how to get there•DevOps Acceleration Workshop – Boot Camp for ‘Aldo’ (agile; lean; DevOps)•Agile Coaching

You Your Culture Your Tooling

• Packaged workstation binaries created

• Local development workflow defined

• Test -> Code -> Test practice

• Multiple teams contributing code

• Source control & code review practices in place

• Code repository layouts defined

• Continuous Integration tools in place

• Standard Chef code testing jobs defined

• Quality reporting defined

• Standard Chef code deployment jobs defined

• Deployment reporting defined

• Cookbook pipeline process implemented

Phase 1: Beginning the Automation Journey

Local Development Code Collaboration Continuous Integration Chef Code Deployment

• Application deployment process defined

• Dev -> Test -> QA -> Prod environments consistent

• “Smoke” testing defined

• API-driven virtualization platform implemented

• Kickstart/JEOS templates defined

• Chef run lists defined as “packaged apps”

• Storage/Network automation implemented

• End-to-end testing defined

• End user interface driving “packaged app” deployment

• Application deployment pipelines complete from Dev -> Test -> QA -> Prod

• Entire software/infrastructure stack treated as one

Phase 2: The Road to DevOps

Application Deployment Virtualization as a Service Full Stack Automation Continuous Deployment

Your DevOps Journey Map

Example Result Set

DevOps Journey Assessment

2 Day Fundamentals Training1 Day Hackathon

1 Week Implementation Design

Action packed week of on-site Chef training for groups up to 15.

Discuss your automation needs and identify project goals with key stakeholders.

Create Chef Implementation Design based on information collected and input received.

Implementation Design Write-Up and Review

Review key outputs and Implementation Design with your team.

Chef architecture, application deployment, continuous integration, environments, etc.

Select a candidate application to take for full test drive at speed with Chef.

Outline critical success factors for the remainder of your journey to awesome.

Manage an Application in Production Using Chef

Our team will mentor your team through getting your application fully managed.

We will actively guide your team with scheduled reviews and check-ins.

Build your future with:• Application Deployment• Full Stack Automation• Continuous Delivery

1 2 3READY SET AWESOME

Learn Plan Experience

What does a typical start on the Journey look like?Chef Accelerator Program

Steps to a successful DevOps transformation

Patterns

Examples

Practices

Go Fast Safely: Allow Teams to Build Code and Automate Systems

• Infrastructure as Code• Containers as Code• Policy as Code• Process as Code• Applications

Reinforce the right behaviors to collaborate safely on code at velocity

Culture

Automation

Cloud

Build, deploy, and manage infrastructure and applications anywhere

Migrate applications to the cloud and support hybrid and multi-cloud environments

version

collaborate consistently

test automatically

Deploy Anywhere● On-premise● Cloud● Hybrid-

Cloud

Configuration

Automation

Workflow

ApplicationInfrastructure

Chef provides a proven approach to DevOps

Apps

Runtime environments

Infrastructure

...

...

...

Targets/Workloads

Collaborative Development

Chef Analytics

Production

Chef Server

Chef Server

Chef Supermarket

Assessment

Chef Compliance

Search

Audit

Discover

ProvisionDeploy

Test

Chef Delivery

Local Development

Model

Build

Test

Chef Development Kit

Chef Client & Cookbooks

Q & A

Every business is a software business

We’re no longer an airline. We’re a software company with wings.

– Veresh Sita, CIO, Alaska Airlines