what is your definition of devops? -...

30
© 2014 IBM Corporation 1 DevOps What is your definition of DevOps? Steve Boone DevOps SME @Steve_Boone

Upload: others

Post on 20-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation1

DevOps

What is your definition of DevOps?Steve Boone

DevOps SME

@Steve_Boone

Page 2: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation2

Jez Humble: Continuous Delivery

“DevOps is much of the ‘how’ of

achieving continuous delivery”

Page 3: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation3

DevOps

IBM’s Definition:

“DevOps is an enterprise capability for

continuous software delivery that enables

clients to seize market opportunities and

reduce time to customer feedback”

Page 4: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation4

DevOps

“DevOps is an enterprise capability for continuous software delivery that enables clients to seize market

opportunities and reduce time to customer feedback”

“Enterprise capability”

When we say that DevOps is an “enterprise capability”, we are saying quite a lot. First,

that there is no single individual, team or tool that “does DevOps”. DevOps emphasizes

systems thinking as opposed to silo’d thinking.

“Continuous Software Delivery”

Many organizations successfully underwent Agile transformations but lack the rapid

planning, testing, deployment and release capabilities to fully benefit from continuous

software delivery. DevOps integrates agile development with continuous testing and

deployment as well as continuous monitoring and customer feedback to assist in

planning and backlog prioritization.

“That enables clients to seize market opportunities”

Why are we doing DevOps? Because traditional IT practices are too slow to meet the

needs of our businesses. Companies increasingly compete on software and need to be

able to rapidly change course, or exploit a new or transient market opportunity. The

challenge before the industry is to become more nimble. DevOps focuses on building

this nimbleness as an enterprise capability.

Page 5: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation5

DevOps

“DevOps is an enterprise capability for continuous software delivery that enables clients to seize market

opportunities and reduce time to customer feedback”

“Reduce time to customer feedback”

How do we know what to build? A big part is getting feedback from our users. While we

often think of continuous delivery as a “left to right” process moving from development

to production, knowledge flows “right to left” from test to development and from users in

production towards the business.

Periodic focus groups aren’t enough. We want near instant feedback on each of our

continuous, small releases. Are we making more money? Are the customers getting

tasks done quicker? How often are error pages showing up? Do we need to rollback or

change course?

Page 6: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation6

DevOpsTransformation

The Hidden Factory Opportunity

Waste

Productive

80%

20%

50%

50%

Hidden Factory= additional value you could create if you eliminated waste and redirected those resources at innovation

Page 7: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation7 7

The Big Sources of Wasted Efforts: Find the Hidden Factory

Type of Waste Create Feature Deliver Feature

Unnecessary

Overhead

Communicating ideas/knowledge Communicating between development

and operations

Unnecessary

Re-work

Tasks assigned back to developers

from testing and usage

Tasks assigned back to developers from

production rollbacks

Over-production Unnecessary functionality produced Unnecessary hardware, data center,

personnel

Non-Value-added waste

Value-added production work

Lean / DevOps

Transformation

Page 8: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation8

DevOps approach: Apply Lean principles accelerate feedback and improve time to value

Line-of-

business

Customer

1

3

2

1. Get ideas into production fast

2. Get people to use it

3. Get feedback

Adopt DevOps approach to

continuously manage changes,

obtain feedback and , deliver

changes to users

Change speed must be an asset, Not an anchor

Non-Value-added waste

Value-added production work

Lean

Transformation

Page 9: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation9

IBM DevOps Adoption ModelPractices, tools and services to plan and execute a staged adoption of DevOps to improve business outcomes

Feedback

Cycles

Productive Waste

Efficiency

Steer Product-based

Agile

Automated

Collaborative

Optimizing

More

Predictable

More

Transparent

More

Continuous

Process-based

Process-heavy

Manual

Silo-ed

Develop/Test

Deploy

Operate

Inefficient Leaner Leaner and Smarter

Page 10: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation10

Why is DevOps Necessary?

To better answer this question, we should first take a look at our past.

Continuous Integration: Why do development teams choose to implement CI?

The reason teams do CI is simple, it helps improve quality. The more often we integrate the

code, and the more often we test the code by compiling it, the better we can determine the

quality of the build.

Once a build is complete, how do we further test for quality?

To further push our quality metric we need to deploy the built artifacts to a target server,

and execute our tests.

Page 11: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation11

Agile and DevOps: it’s about Quality

Help deliver better quality software – faster.

DevOps is about ensuring quality into your Production environments.

1

1

Over the past years development teams have been widely

successful with CI and CD.

However, one main problem still existed.

The deployments were not being automated all the way into production.

The automation process was not truly "end to end."

Page 12: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation12

Difference between DEV and OPS

DEV

Very High Tempo

Can rebuild database / app

from scratch

- No need for rollbacks

Audit is a nice to have

- Security, traceability,

separation of duties

New Environments are

common

1

2

OPS

• Slower Tempo

• Incremental updates to

Database and App

- Rollbacks are huge

• Audit is Critical

• New Environments are rare

Page 13: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation13

DevOps: Agile reaches Ops

1

3

Page 14: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation14

Common patterns impacting continuous delivery

Failures due to

inconsistent dev

and production

environments

Bottlenecks trying

to deliver more

frequent releases

to meet market

demands

Complex,

manual,

processes for

release lack

repeatability and

speed

Poor visibility into

dependencies

across releases,

resources, and

teams

How do we ensure that we release and deploy

What we want, When we want, Where we want!

Page 15: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation15

Our customers are facing the same challenges

*Data based on UrbanCode customer survey

Page 16: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation17

DevOps: Optimization of the Software Delivery Pipeline

Optimizing the software delivery pipeline

• Reduce time to market

• Improve quality

• Decrease costs

Page 17: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation18

The Pipeline is an Assembly Line

Page 18: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation19

Balancing the Assembly Line

19

Equal process throughput

avoids backlogs

Upgrading a proceeding

process causes

downstream backlogs

Upgrading downstream

process throughput re-

establishes balance

Page 19: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation20

Basic DevOps toolchain

SCM

Build / CI

Server

Unit testing

Test

Automation

Test Stubbing

Delivery

Pipeline

Environment

Configuration

Automated

Monitoring

Asset

Repository

Page 20: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation21

Continuous Delivery Pipeline

Page 21: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation22

IBM DevOps Maturity Model

Page 22: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation23

Multi-tier applications introduce additional complexity

Middle Tier ServerClient Tier Devices Back-end Data & Services

Coordinating separate pipelines for each tier is critical

• Disparate teams

• Different processes

• Separate tools

Page 23: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation24

Systems of Engagement (SoE) Apps

Rapid

Releases AppStoreMonitor

and Optimize

Release

and DeployDevelop

and Test

Inte

gra

tio

n T

est

24

Monitor

and OptimizeDevelop

and Test

Web Apps

Frequent

Releases

Production

Environment

Databases

Systems of Record (SoR) Apps

Fewer

ReleasesDatabases

The Need: Integrate systems of engagement with systems of record

By bringing together the culture, processes, and tools across the entire

software delivery lifecycle – spanning mobile to mainframe platforms

Page 24: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation25

Days

<10%

Quarters

35%

Months

40%

Weeks

15%

6-12 Month Delivery Cycles are still the Norm

Delivery cycle profile across 600 business enterprises

Profile source: A commissioned study conducted by Forrester Consulting on behalf of IBM, May 2014

Feedback cycles

Page 25: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation26

Slow deployment of application environments

UrbanCode Deploy helps deploy applications faster to static and long running

environments

Static environments are becoming a challenge for continuous application delivery – New projects demand new environments for delivery pipeline

– Developers and testers don’t have enough test environments

– Seasonal demands to scale up production environments

Example: Building environments for a new delivery pipeline at Macquerie requires

$1M and 6 months effort

Release

Deploy

EnvironmentDeploy

Application

Page 26: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation27

Manual environment build-outs

“I used the images you gave.. The

application works in Dev

environment”

“I gave you all machine images, still

your application doesn’t work on

production”

What did you do with your Dev / Test

instances of the images?”

Both: “Why is this not coming together?”

Development team Operations team

Page 27: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation28

Rapidly deploy application environments in 3 simple steps

Provide portability across heterogeneous virtual datacenter, private and public clouds

3. Portable across different virtualized infrastructure

Assemble multi-tier application environments and define auto-scaling policies to meet operational needs.

2. Assemble multi-tier and scalable environment blueprints

1. Create stacks

Load Balancer

Web

Servers

App

Servers

Database

Servers

Firewall

Application

Compute, Storage,

Network Configuration

OS / Platform Image

Middleware

Configuration

Middleware

Po

licie

s

Describe full stack environments using infrastructure building blocks like Images, Middleware scripts, and Application code

VMware

vCenter

PrivatePublicVirtual

Datacenter

Page 28: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation29

UrbanCode Deploy with Patterns

IBM UrbanCode Deploy

with Patterns

Pattern designer

Design open, full stack application environments in a diagram or textual editor

Design once, deploy anywhere

Deploy full stack environments to multiple clouds

Environment lifecycle management

Manage infrastructure change and easily apply changes to existing environments

Delivery process automation

Automated delivery process with integrated full stack environments

Application

Compute, Storage,

Network Configuration

OS / Platform Image

Middleware

Configuration

Middleware

Po

licie

s

VMware

vCenter

Private Public

Virtual

Datacenter

Page 29: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation30

Faster, repeatable, reliable full-stack deployment processes

SCM Build Automation

QA PROD

App

Configure the entire

stack with your cloud

of choice.

Iterate on application

and infrastructure

changes seamlessly.

Promote changes to

your cloud

environments through

the entire delivery

lifecycle.

Publish

build

Pull

changes

IBM Cloud Orchestrator

DEVDEVDEVDEV

App

IBM PureApplication System

IBM UrbanCode Deploy

with PatternsIBM Cloud Manager with

OpenStack

IBM Bluemix

App

Page 30: What is your definition of DevOps? - Meetupfiles.meetup.com/18497862/NF-DevOps-4-17-15-SteveBoone-pdf.pdf · planning, testing, deployment and release capabilities to fully benefit

© 2014 IBM Corporation31

Implementation Rollout

Intended Audience:

Development, Deployment & Operations Organizations

Value Proposition

Immediate ROI by automating the deployment process

for a production application

Develop and validate the usage model for a high priority

subset of the future state solution

Build tool experience on a core technical team

Establish baselines and learnings for an enterprise

rollout

Resources (2-3 IBM Consultants)

Solution Architect

uDeploy SME

Project Manager

Key ActivitiesEstablish Core Team Define Working Model Prepare Project Project Execution

• Confirm goals and expectations

• Establish Core Team

• Define solution architecture

• Install and configure UCD

• Mentor system administrator on

installation

• Core Team Enablement

• Mentor core adoption team

• Define Usage Model • UCD Solution Configuration

• Develop Training

Material

• End User Training

• Production readiness

and testing

• Launch Production Project

• Measure outcomes and

capture improvements and

lessons