49
www.ranger4.co m DevOpstasti c DevOps Patterns DevOps Patterns Helen Beal @helenranger4 [email protected]

DevOps Patterns for AppsWorld

Embed Size (px)

Citation preview

Page 1: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

DevOps PatternsDevOps PatternsHelen Beal

@[email protected]

Page 2: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

People

Process

Tools

Page 3: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisations

Interactions

Automation

Page 4: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisations:Team Structures

Page 5: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

“Traditional” ITCIO

Head of Development Head of Operations

PMO/BAs Dev DBAs

The rest of the business

Test Security Release SupportInfrastructure

Silos, hand offs and a ‘wall of confusion’

Page 6: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Page 7: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

The Things that Drive DevOps

I’m all about change

I’m in charge of stability

Development Operations

CONFLICT

Page 8: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

DevOps StartsCIO

Head of Development Head of Operations

PMO/BAs Dev DBAs

The rest of the business

Test Security Release SupportInfrastructure

DevOps often starts as grassroots thinking and can start anywhere

Page 9: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

“DevOps is a grassroots thing and so probably a bit difficult to manage from the top down, but we were keen to leave it that way. To stand a chance of success, you have to get your key technologists interested and let them lead –

although you also have to be a bit careful that it doesn’t turn into a sandpit.”

Adrian Le GrandService Delivery Director at DigitasLBi.

Page 10: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

‘“Organisations, and large enterprises in particular, want to attract and retain good talent but if they’re viewed as fuddy-duddy, they won’t appeal to or keep the cool kids. And there’s real demand for this kind of expertise.”

Jay LymanResearch Manager at 451 Research

But that’s not to say that everything will be rosy in the garden when adopting a DevOps approach. The key challenge, for many, is change management and simply getting staff to buy into the concept, mainly on the operations side as this is predominantly a grassroots developer’s movement.’

Page 11: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

‘DevOps will shift from being a niche approach to application development and deployment and move into the mainstream over the next 12 months or so, according to Gartner.In fact, so appealing will this grassroots philosophy prove that it will be taken up by a quarter of Global 2000 organisations, creating a software tools market forecast to leap in size by 21.1% from $1.9bn last year to $2.3bn in 2015, the market researcher believes.’

Cath EverettComputerWeekly.com

Page 12: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Page 13: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

What’s DIFFERENT about DevOps?

Page 14: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

DevOps SpreadsCIO

Head of Development Head of Operations

PMO/BAs Dev DBAs Test Security Release SupportInfrastructure

THE BUSINESS

For DevOps to make advances, executive sponsorship and increasing engagementwith the rest of the business needs to happen

Page 15: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational ChangeCIO

Head of Development Head of Operations

Product A Product B Product C Product D Security Release SupportInfrastructure

THE BUSINESS

Product E Product F Product G Product H

Product Owners

Arranging teams around product is a common initial step, not without its challenges.

Page 16: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational ChangeCIO

Head of Development Head of Operations

Product A Product B Product C Product D Security Release SupportInfrastructure

THE BUSINESS

Arranging teams around product is a common initial step, not without its challenges.

Product E Product F Product G Product H

Testers

Page 17: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational ChangeCIO

Head of Development Head of Operations

Product A Product B Product C Product D Security Release SupportInfrastructure

THE BUSINESS

Product E Product F Product G Product H

Developers

Arranging teams around product is a common initial step, not without its challenges.

Page 18: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational ChangeCIO

Change Run

Product A Product B Product C Product D Security Release SupportInfrastructure

THE BUSINESS

Renaming teams can support change. Some organisations build DevOps teams…

Product E Product F Product G Product H

Page 19: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational ChangeCIO

Change Run

Product A Product B Product C Product D

THE BUSINESS

Renaming teams can support change. Some organisations build DevOps teams…

Product E Product F Product G Product H

Security Release SupportInfrastructureDevOps

Page 20: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational ChangeCIO

Change Run

Product A Product B Product C Product D

THE BUSINESS

Antipattern?

Product E Product F Product G Product H

Security Release SupportInfrastructureDevOps

Page 21: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational ChangeCIO

Change Run

Product A Product B Product C Product D Security Release SupportInfrastructure

THE BUSINESS

Others embed Operations into the product development teams

Product E Product F Product G Product H

Page 22: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational ChangeCIO

Change RunProduct A Product B Product C Product D

THE BUSINESS

Others embed Operations into the product development teams

Product E Product F Product G

Security Release SupportInfrastructure

Product H

Page 23: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

DevOps ProliferatesCIO

Change RunProduct A Product B Product C Product D

THE BUSINESS

DevOps is an evolutionary and transformational movement

Product E Product F Product G

Security Release SupportInfrastructure

Product H

Page 24: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

“If you can’t change the people, change

the people.”

Page 25: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Ranger4 and the DOI

Page 26: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

About Bloom’s Taxonomy

DevOps Foundation

26Bloom’s Taxonomy is used to categorize learning objectives and,

from there, assess learning achievements.

1. Knowledge2. Comprehension

3. Application4. Analysis

5. Synthesis6. Evaluation

Page 27: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Reading Recommendation‘Your Brain at Work: Strategies for Overcoming Distraction, Regaining Focus, and Working Smarter All Day Long’

by David Rock

Page 28: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Our kind of IT

Just-in-time means that customer delight is directly transmitted to those who are making the product.

Don’t measure me on cost or traditional

IT metrics, but on the metrics of the

business.

Jim FowlerCIO, GE Capital

Taiichi OhnoTHE LEAN MAN

Page 29: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

DevOps NirvanaCIO

Customer Innovation Management

Product A Product B Product C Product D

IT IS the business. Everyone is on board with the DevOps way of thinking.

Product F Product G Product H Product I

Product E

Product J

The Board

The

Busin

ess

Dashboards and automation alignment

Page 30: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Typology of Organisational Culture (Westrum, 1994) PathologicalPower-oriented

BureaucraticRule-oriented

GenerativePerformance-oriented

Low cooperation Modest cooperation High cooperationMessengers shot Messengers neglected Messengers trainedResponsibility shirked Narrow responsibilities Risks are sharedBridging discouraged Bridging tolerated Bridging encouragedFailure leads to scapegoating

Failure leads to justice Failure leads to inquiry

Novelty crushed Novelty leads to problems

Novelty implemented

Page 31: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

How to Create a Generative CultureCharacteristics of

a Generative Culture

DevOps Practices

High cooperation Cross-functional Teams. Many organisations create cross-functional teams that include representatives from each functional area of the software delivery process. This allows everyone to share the responsibility for building, deploying and maintaining a product.

Messengers trained Blameless Postmortems. By removing blame, you remove fear, you enable teams to more effectively surface problems and solve them. Mistakes happen. Holding blameless postmortems is a valuable way to learn from mistakes.

Risks are shared Shared responsibility. Quality, availability, reliability and security are everyone’s job. One way to improve the quality of your services is to ensure that devs share responsibility for maintaining their code in production. The improvement in collaboration that comes from sharing responsibility inherently reduces risk. With more eyes on the software delivery process, it’s a given that some errors in process or planning will be avoided. Automation reduces risk and, with the right tool choice, can enable collaboration.

Bridging encouraged Breaking Down Silos. In addition to creating cross-functional teams, techniques for breaking down silos can include co-locating ops with the dev team, including ops in planning throughout the software delivery lifecycle, and implementing ChatOps*.

Failure leads to inquiry Blameless Postmortems. Our response to failure shapes the culture of an organisation. The more you focus on the conditions in which failures happen, as opposed to blaming individuals for failures, the closer you’ll get to creating a generative culture.

Novelty implemented Experimentation Time. Giving employees freedom to explore new ideas can lead to great outcomes. Some companies give engineers time each week for experimentation. Others host internal hack days or mini-conferences to share ideas and collaborate. This is how many new features and products have originated, and it shows how much value employees can generate for an organisation when they are released from habitual pathways and repetitive tasks.

* Jesse Newland, “ChatOps at GitHub” March 26, 2013

Page 32: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Reading Recommendation‘Reinventing Organisations: A Guide to Creating Organizations Inspired by the Next Stage of Human Consciousness’

by Ken Wilber and Frederic Laloux

Page 33: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Stages of Organisational Consciousness

100,000 years ago 50,000 years ago NOW

InfraredMagenta

Red

Amber

Orange

Green

Teal

Page 34: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Organisational EvolutionStage Typified by Current

ExamplesKey

BreakthroughsGuiding

Metaphor

REDConstant exercise of power by chief to keep troops in line. Fear is the glue of the organisation. Highly reactive, short-term focus. Thrives in chaotic environments.

• Mafia• Street Gangs• Tribal militia

• Division of labour• Command

authority

Wolf pack

AMBERHighly formal roles within a hierarchical pyramid. Top-down command and control (what and how). Stability valued above all through rigorous processes. Future is repetition of past.

• Catholic church• Military• Most government

agencies• Public school

systems

• Formal roles (stable and scalable hierachies)

• Processes (long-term perspectives)

Army

ORANGEGoal is to beat competition, achieve profit and growth. Innovation is key to staying ahead. Management by objectives (command and control on what; freedom on the how).

• Multinational companies

• Charter schools

• Innovation• Accountability• Meritocracy

Machine

GREENWithin the classic pyramid structure, focus on culture and empowerment to achieve extraordinary employee motivation.

• Culture driven organisations (e.g. Southwest Airlines, Ben & Jerry’s…)

• Empowerment• Values-driven

culture• Stakeholder

models

Family

TEALSelf-organising and self-managed teams with coaches when needed. Coaches do not have P&L responsibility or managerial authority.

• Spotify?, FAVI, • Trusting those doing the job

• Autonomy, mastery and purpose

System

Page 35: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Interactions:Collaboration & Integration

Page 36: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

DevOps Maturity

1

5

4

3

2

Optimising DevOps

Managed DevOps

Starting DevOps

Fundamental DevOps

Not started DevOps

DevOps DONE – fine tuning and tied tightly to business goals.

Automated build, cross-functional teams, product-focused, cultural

change happening

Thinking about cultural change, starting to write scripts, looking at test

automation

Outages, war-rooms, blame, unplanned work, delays and defects.

Happy people with integrated toolchain to pre-empt failure, automate test and

deployment – Continuous Delivery

Page 37: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Practice Build management and continuous integration

Environments and deployment

Release management and compliance Testing Data management

Level 3 – Optimizing: focus on process improvement

Teams regularly meet to discuss integration

problems and resolve them with automation, faster

feedback and better visibility.

All environments managed effectively. Provisioning

fully automated. Virtualisation used if

applicable.

Operations and delivery teams regularly collaborate to manage risks and reduce

cycle time.

Production rollbacks rare. Defects found and fixed

immediately.

Release to release feedback loop of database performance and

deployment process.

Level 2 – Managed: Process measured and

controlled

Build metrics gathered, made visible and acted on. Builds are not left broken.

Orchestrated deployments managed. Release and

rollback processes tested.

Environment and application heath

monitored and proactively managed.

Quality metrics and trends tracked. Operational

requirements defined and measured.

Database upgrades and rollbacks tested with every

deployment. Database performance monitored

and optimised.

Level 1 – Consistent: Automated processes applied across whole

lifecycle

Automated build and test cycle every time a change is committed. Dependencies managed, Re-use of scripts

and tools.

Fully automated, self-service push-button

process for deploying software. Same process to

deploy to every environment.

Change management and approvals processes

defined and enforced. Regulatory and compliance

conditions met.

Automated unit and acceptance tests, the latter written with testers. Testing

part of development process.

Database changes performed automatically as

part of deployment process.

Level 0 – Repeatable: Process documented and

partly automated

Regular automated build and testing. Any build can be re-created from source control using automated

process.

Automated deployment to some environments.

Creation of new environments is cheap. All

configuration is externalised / versioned.

Painful and infrequent, but reliable releases. Limited

traceability from requirements to release.

Automated tests written as part of story development.

Changes to databases done with automated scripts

versioned with application.

Level -1 – Regressive: process unrepeatable, poorly controlled and

reactive

Manual processes for building software. No

management of artifacts and reports.

Manual process for deploying software. Environment specific

binaries. Environments are provisioned manually.

Infrequent and unreliable releases.

Manual testing after development.

Data migrations unversioned and

performed manually.

Continuous Delivery Maturity Matrix from Gartner

Page 38: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Requirements Management Maturity

Level 1 Level 2 Level 3 Level 4 Level 5Written Requirements

Organized Structured Traced Integrated

Documented and shared, regular collaboration between teams, backup and restore enabled

Formatted consistently, stored and secured. Version tracked and easily accessible to those with rights

Types (e.g. functional/non-functional) are specified. Attributes and prioritization is applied. Querying and filtering is possible.

Determine and track requirements relationships, has a hierachy of requirements: user needs, features and use cases. Coverage analysis reports implemented.

Requirements management fully integrated with software development environment: used directly in design, development, change tracking, testing and PM.

Page 39: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Release and Deployment Management Maturity

Level 1 Level 2 Level 3 Level 4 Level 5Manual Packaged Scripted Complex On DemandBespoke, unpractised process. Authorization and sign off incidental. Roll back via back up copy or scripts.

Some packages (e.g. MSIs) and scripts. Release authorization considered.

Multiple scripts allowing automation. Can deploy to multiple parts of route to live. Possible roll back through redeployment. Some version control.

Can deploy composite applications. Role based security available. Multiple platforms services through single interface.

Push button deployments when code is ready – continuous delivery and deployment achieved. Full auditability and compliance.

Page 40: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Automation:Rigour and ruggedness

Page 41: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Value & Principles

• Focus on people• Embrace change and experimentationCulture

• “Continuous Delivery”• “Infrastructure as Code”

• Focus on producing value for the end user• Small batch sizes

• Measure everything• Show the improvement

• Open information sharing• Collaboration and communication

Automation

Lean

Metrics

Sharing

Page 42: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Ideation

Integration

Validation

Operation

Realisation

INNO

VATI

ON

Page 43: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Shift Left

Continuous Delivery Lean Management

Continuous integration

Automated testingDeployment automation

Version control

Limit WIP

Use visual displays

Use monitoring tools to make business

decisions

Page 44: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

“The number of issues we had from production emergencies that were triggered by an ops

change essentially went to zero. Because we were able to roll changes out in an automated fashion,

and then test those changes in the various environments, by the time code got to

production, it had been through three other environments – dev, integration, customer test –

before it got to production.”Jez MillerPuppet Labs 2015 State of DevOps Report

Page 45: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Dev

route to live

Test QA Prod

Page 46: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Dev

route to live

Test QA Prod

Deploy your application at any time, at high speed

Page 47: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Dev

route to live

Test QA Prod

Deploy your application at any time, at high speed

!

Be pre-emptively alerted to performance issues/outages

Page 48: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Dev

route to live

Test QA Prod

Deploy your application at any time, at high speed

Be pre-emptively alerted to performance issues/outages

Redeploy last known working version instantly, fix, test, redeploy

Page 49: DevOps Patterns for AppsWorld

www.ranger4.com

DevOpstastic

Be DevOpstastic