a devops state of mind

53
A DEVOPS STATE OF MIND Chris Van Tuin Chief Technologist, West [email protected]

Upload: trinhdung

Post on 01-Jan-2017

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A DEVOPS STATE OF MIND

A DEVOPS STATE OF MIND

Chris Van Tuin Chief Technologist, West [email protected]

Page 2: A DEVOPS STATE OF MIND

2

THERE ARE THE WINDS OF CHANGE AND THEN THERE IS ACCELERATING CHANGE

“…every strategic inflection point [is] characterized by a ’10x’ change…There’s wind and then there is a typhoon”

-Andy Grove

Page 3: A DEVOPS STATE OF MIND

THE NEED FOR SPEED THE ACCELERATION OF APPLICATION DELIVERY FOR THE BUSINESS

Page 4: A DEVOPS STATE OF MIND

“In short, software is eating the world.” - Marc Andreessen, Wall Street Journal, August 2011

Page 5: A DEVOPS STATE OF MIND

BUT DEMANDS ON I.T. ARE INCREASING AS BUSINESSES ARE REIMAGINED

Online, Mobile

Desktop to Cloud

Software Defined Networks

Online, Mobile

Page 6: A DEVOPS STATE OF MIND

UBER, LYFT FALLOUT: TAXI RIDES PLUNGE 65% IN SAN FRANCISCO

Page 7: A DEVOPS STATE OF MIND

CREATES AN I.T. INNOVATION GAP

Page 8: A DEVOPS STATE OF MIND

DELIVERING SOFTWARE TODAY: THE REALITY VS. THE GOAL

Source: Delivering large-scale IT projects on time, on budget, and on value McKinsey & Company, October 2012

BUDGET TIME VALUE

56%LESS

7%OVER

45%OVER

Page 9: A DEVOPS STATE OF MIND

DEVELOPMENT LIFECYCLE TRENDS

Page 10: A DEVOPS STATE OF MIND

10

DEV QA OPS

Walled off people, walled off processes, walled off technologies

“THROW IT OVER THE WALL”

Page 11: A DEVOPS STATE OF MIND

WHAT CAN I.T. DO? I.T. CAN TURN OPS AND DEV INTO DEVOPS

“DevOps is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals.”[1]

Applying many of the principles of Agile software development to the full application lifecycle and incorporating automation and monitoring with just a touch of Lean Manufacturing theory.

PEOPLE

PROCESS TECHNOLOGY

DEVOPS

Page 12: A DEVOPS STATE OF MIND

“Configuration in code” • Standardized environments • Linux containers • Automated provisioning

WHAT ENABLES DEVOPS?

KEY CONCEPT: FAIL FAST AND RECOVER VS. NEVER FAIL

Page 13: A DEVOPS STATE OF MIND

CI/CD: Automated testing and deployment • Continuous integration • Continuous delivery

WHAT ENABLES DEVOPS?

KEY CONCEPT: SMALL CHANGES = LESS RISK

Page 14: A DEVOPS STATE OF MIND

Continuous innovation • Developer self-service • Rapid prototyping

WHAT ENABLES DEVOPS?

KEY CONCEPT: CULTURE CHANGE = ACCEPTANCE OF FAILURE

Page 15: A DEVOPS STATE OF MIND

ORGANIZATIONS IMPLEMENTING DEVOPS

Source: 2014 State of DevOps Report Puppet Labs, IT Revolution Press, ThoughtWorks

DEVOPS VALUE IN ACTION: VELOCITY AT AMAZON AWS

SOFTWARE DEPLOYMENTS CAUSING AN OUTAGE

MEAN TIME BETWEEN DEPLOYMENTS

(SECONDS)

10,000

.001%11.6

MAX DEPLOYMENTS/ HOURBetter deployment quality 63%

Faster release frequency 63%

Improved process visibility 61%

Page 16: A DEVOPS STATE OF MIND

ORGANIZATIONS IMPLEMENTING DEVOPS

“30 innovations to the website deployed each day, …

sometimes adding millions of dollars in sales”

Forbes, Apr’14

“Taking a system that required a full month to release new

features and turning it into one that pushes out updates multiple times per day.”

Wired

Page 17: A DEVOPS STATE OF MIND

Where to create and run new apps and services?

THREE KEY QUESTIONS FOR I.T. AND BUSINESS

How to quickly and reliably deliver new

capabilities?

What kinds of new apps and services to deliver

and support?

1 2 3

Page 18: A DEVOPS STATE OF MIND

DEVOPS + CONTAINERS

DEVOPS IS PART OF A LARGER SHIFT

CLOUD APPS OPEN HYBRID CLOUDS

HOW? WHAT? WHERE?

Page 19: A DEVOPS STATE OF MIND

DEVOPS + CLOUD = INDUSTRIALIZE

CRAFTWORK

WORKSHOP

MANUFACTURING (DEVOPS)

FACTORY (CLOUD)

Page 20: A DEVOPS STATE OF MIND

DEVOPS FOR APPLICATIONS

?What will you produce with your new cloud factory and DevOps manufacturing process?

Page 21: A DEVOPS STATE OF MIND

THE NEW APPLICATION

● Monolithic app container

● Scale up by adding hardware resources

● Limited scale out through clustering

● Distributed, networked, containerized services

● Scale out by orchestrating services

● Faster iteration and release

● More robust

RHEL

APP APP

SINGLE-HOST APPS

RHEL

APP

MULTI-HOST APPS

RHELRHEL

Page 22: A DEVOPS STATE OF MIND

THE NEW OPERATING SYSTEM

Orchestrator (Kubernetes): Model the app across multiple hosts/containers

Scheduler (Mesos): Provide service and APIs for placing the app onto resources

APP

SERVICE 1 SERVICE 2

SERVICE 3 SERVICE 4

SCHEDULER

RED HAT ENTERPRISE

LINUX

RED HAT ENTERPRISE

LINUX

RED HAT ENTERPRISE

LINUX

Container pool (Red Hat Enterprise Linux/Docker): Provide resources to run app

Page 23: A DEVOPS STATE OF MIND

23

LIBS

APP HOST OS

SERVER

HOST OS

SERVER

CONTAINER

OPERATIONS FOCUS ● HARDWARE ● OPERATING SYSTEM ● NETWORKING ● MONITORING

DEVELOPMENT FOCUS ● CODE ● APPLICATIONS ● LIBRARIES AND OTHER

DEPENDENCIES ● DATA STORE

CONTAINER

LIBS

APP

FASTER APP DELIVERY and EFFICIENCY

Page 24: A DEVOPS STATE OF MIND

24

docker.io RegistryPrivate

RegistryRed Hat Certified

FROM fedora:latest CMD echo “Hello”

Dockerfile

Physical, Virtual, Cloud

“docker build or commit”

Image Container

“docker push or pull <IMAGE_ID>”

“docker run <IMAGE_ID>”

Build RunShip

BUILD, SHIP, RUN

Page 25: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

More serious workloads require orchestration like Kubernetes to offload management overhead

Page 26: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

Once created, Kubernetes will keep the environment online as described in the json file

JSON Kubernetes

Page 27: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

Once created, Kubernetes will keep the environment online as described in the json file

JSON Kubernetes

Page 28: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

Once created, Kubernetes will keep the environment online as described in the json file

JSON Kubernetes

Page 29: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

Once created, Kubernetes will keep the environment online as described in the json file

JSON Kubernetes

Page 30: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

New applications can be spun up and tested before old applications are removed, lowering risk for upgrades

Version 1

Page 31: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

Some call this method of deployment red-black deployment, admins won't get stuck in the middle of an upgrade

Version 1 Version 1.2

Page 32: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

Tests and certification can be done before customers access it

Version 1 Version 1.2 Tests / CI

Page 33: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

Once ready, the new version is used and the old version can be removed

Version 1 Version 1.2

Page 34: A DEVOPS STATE OF MIND

ADD NAME (View > Master > Slide master)

Rollbacks can be done using the same method if desired

Version 1.2

Page 35: A DEVOPS STATE OF MIND

THE NEW ECOSYSTEM

Provision apps from service catalog

Orchestrate and place apps

Run composed microservices in containers

Provide dynamic, programmable infrastructure

OPS MANAGEMENT AND SERVICE CATALOG

(RED HAT CLOUDFORMS)

CONTENT, ENTITLEMENT, AND LIFECYCLE

(RED HAT SATELLITE)

SERVICE SCHEDULER/ORCHESTRATOR (KUBERNETES, MESOS) O

PENSH

IFT B

Y RE

D H

AT

RED HAT ENTERPRISE LINUX OPENSTACK PLATFORM COMPUTE STORAGE NETWORK

(RED HAT ENTERPRISE LINUX OPENSTACK PLATFORM, RED HAT STORAGE, OPEN DAYLIGHT)

RED HAT ENTERPRISE LINUX GUEST

RED HAT ENTERPRISE LINUX GUEST

Red Hat CloudForms Monitoring

Docker Image

Red Hat CloudForms

Orchestration Docker Image

Red Hat Satellite Content Docker Image

Red Hat JBoss AMQ

Docker Image

App DB Docker Image

Red Hat JBoss BRMS Docker Image

Page 36: A DEVOPS STATE OF MIND

Red Hat JBoss AMQ

Docker Image

App DB Docker Image

Red Hat JBoss BRMS Docker Image

OPEN HYBRID CLOUD PLATFORM

OPS MANAGEMENT AND SERVICE CATALOG (RED HAT CLOUDFORMS)

CONTENT, ENTITLEMENT, AND LIFECYCLE (RED HAT SATELLITE)

SERVICE SCHEDULER/ORCHESTRATOR (KUBERNETES, MESOS) O

PENSH

IFT B

Y RE

D H

AT

Red Hat CloudForms

Orchestration Docker Image

Red Hat Satellite Content Docker Image

RED HAT ENTERPRISELINUX GUEST

RED HAT ENTERPRISELINUX GUEST

Apache HTTPD Docker Image

Apache HTTPD Docker Image

RED HAT ENTERPRISELINUX GUEST

RED HAT ENTERPRISE LINUX GUEST

RED HAT ENTERPRISELINUX GUEST

AMAZON SCHEDULER

Apache HTTPD Docker Image

Apache HTTPD Docker Image

Apache HTTPD Docker Image

Apache HTTPD Docker Image

RED HAT ENTERPRISE LINUX OPENSTACK PLATFORM COMPUTE STORAGE NETWORK

(RED HAT ENTERPRISE LINUX OPENSTACK PLATFORM, RED HAT STORAGE, OPEN DAYLIGHT)

RED HAT ENTERPRISE LINUX

ATOMIC HOST

RED HAT ENTERPRISE VIRTUALIZATION/

vSPHEREAMAZON WEB

SERVICES

PRIVATE CLOUD PHYSICAL VIRTUAL PUBLIC CLOUD

Page 37: A DEVOPS STATE OF MIND

OPS

DEV

DEVOPS

DEVOPS WORKFLOW

● Create containerized IaaS or PaaS development environment

● Scheduler orchestrates and deploys app ● Monitor and operate app

● Provision environment locally or at OpenShift by Red Hat

● Write app as containerized microservices cluster and commit changes

● Push changes through CICD and automated testing system to containerized staging

CICD

App dev environment

APP

App dev environment

App prod environment

APP

Monitor Manage

DevO

ps feedback loop

Dev feedback loop

Page 38: A DEVOPS STATE OF MIND

FINANCIAL SERVICES COMPANY

Page 39: A DEVOPS STATE OF MIND

FINANCIAL SERVICES COMPANY

“It could take 6 weeks to get a single word

changed on the web site.”

“It took 2 years after a competitive start-up launch to

get a competing product to market.”

“When developers work in Node.js, they can change the

code they’re working on, direct it to run, and see whether it works-

in the blink of an eye.”

“The environment, while stable, didn’t use the sexiest technologies, which made

recruiting difficult.”

Page 40: A DEVOPS STATE OF MIND

BUSINESS CHALLENGES

Growth AgilityCompetition

Predictability Recruiting

Page 41: A DEVOPS STATE OF MIND

DEVOPS SOLUTION APPROACH

Leverage Automation Technologies Combined with Cloud Architecture

Page 42: A DEVOPS STATE OF MIND

REDUCE CYCLE TIME FROM IDEA TO FEATURE DEVOPS WITH PaaS

Page 43: A DEVOPS STATE OF MIND

ARCHITECTURE

Page 44: A DEVOPS STATE OF MIND

DEVELOPMENT TO PRODUCTION IN <30 MINUTES

Page 45: A DEVOPS STATE OF MIND

CONTINUOUS INTEGRATION and CONTINUOUS DELIVERY BUILD PIPELINE

Page 46: A DEVOPS STATE OF MIND

CONTINUOUS INTEGRATION and CONTINUOUS DELIVERY BUILD PIPELINE

Page 47: A DEVOPS STATE OF MIND

CONTINUOUS INTEGRATION and CONTINUOUS DELIVERY BUILD PIPELINE

Page 48: A DEVOPS STATE OF MIND

CONTINUOUS INTEGRATION and CONTINUOUS DELIVERY BUILD PIPELINE

Page 49: A DEVOPS STATE OF MIND

CONTINUOUS INTEGRATION and CONTINUOUS DELIVERY BUILD PIPELINE

Page 50: A DEVOPS STATE OF MIND

CONTINUOUS INTEGRATION and CONTINUOUS DELIVERY BUILD PIPELINE

Page 51: A DEVOPS STATE OF MIND

DEVOPS ROI

Improve business agility

Improve business predictability

Improve developer productivity

Improve operational efficiency and costs

Page 52: A DEVOPS STATE OF MIND

DEVOPS + CONTAINERS

DEVOPS IS PART OF A LARGER SHIFT

CLOUD APPS OPEN HYBRID CLOUDS

HOW? WHAT? WHERE?

Page 53: A DEVOPS STATE OF MIND

THANK YOU

Chris Van Tuin [email protected]