+ All Categories
Home > Technology > Fundamentals of Deploy and Release

Fundamentals of Deploy and Release

Date post: 11-May-2015
Category:
Upload: ibm-urbancode-products
View: 1,063 times
Download: 2 times
Share this document with a friend
Popular Tags:
39
Fundamentals of Deploy and Release June 19 th , 2014 Eric Minick DevOps Evangelist with IBM @EricMinick
Transcript
Page 1: Fundamentals of Deploy and Release

Fundamentals of Deploy and Release

June 19th, 2014Eric MinickDevOps Evangelist with IBM

@EricMinick

Page 2: Fundamentals of Deploy and Release

Who’s that guy?

Eric Minick

DevOps Evangelist

[email protected] as a

developer, tester and tools guy with UrbanCode

Co-author of Application Release & Deploy for Dummies

Page 3: Fundamentals of Deploy and Release

3

CEOs identify technology as the most important external force impacting their organizations – again

Source: IBM Institute for Business Value, The Global CEO Study 2013. Question: “What are the most important externalforces that will impact your organization over the next 3 to 5 years?”

2004 2006 2008 2010 2012 2013

1

2

3

6

4

5

7

8

9

1

2

3

6

4

5

7

8

9

1

2

3

6

4

5

7

8

9

1

2

3

6

4

5

7

8

9

1

2

3

6

4

5

7

8

9

Technology Factors

Market Factors

Macro-economic Factors

People Skills

Regulatory Concerns

Socio-economic Factors

Globalization

Environmental Issues

Geopolitical Factors

2

3

6

4

5

7

8

9

1

CEO Studies 2004–2013

External forces that will impact the organization

Page 4: Fundamentals of Deploy and Release

Software delivery Intelligent/

Connected SystemsSoftware component in smart products driving increased value and

differentiation

Big DataInsights on new products by more efficiently interpreting massive quantities of data

CloudDemand for apps requires fast, scalable environments for dev and test, as well as production

Instrumented ProductsIndustry requirements demand faster response to regulationsand standards, with traceability

and quality

Social BusinessBroader set of

stakeholders collaborates to deliver continuous

innovationand value

MobileModern workforce expects constantly

updated software toconnect to enterprise

systems

Software delivery is at the heart of today’s top technology trends

Page 5: Fundamentals of Deploy and Release

To Win: Release More to Learn Faster

Page 6: Fundamentals of Deploy and Release

Delayed learning is why waterfall fails

Idea

Requirements

Development

Integrated Test

Release

Weeks / months to validate codematches Reqs

Months or years to learn if ideas / requirements match the market need

Page 7: Fundamentals of Deploy and Release

Time to customer feedback is governed by risk

Traditionally• Organizations looked to find a

balance between speed, cost & risk.

• Development teams were not as agile as they are today; testing never seemed to have enough time.

Page 8: Fundamentals of Deploy and Release

Time to customer feedback is governed by risk

Traditionally• Organizations looked to find a

balance between speed, cost & risk.

• Development teams were not as agile as they are today; testing never seemed to have enough time.

*Survey of 250 Testers

90% of testers have some but not “complete” confidence in the software that’s released.

4 testers are seeing faster releases per1 that sees slower

34% of those who expressed no change

were regularly releasing quarterly or

better.

Page 9: Fundamentals of Deploy and Release

Shift Left: To win in the market, learn faster

• Organizations are asking teams to release higher quality software sooner.

• Development teams are becoming more and more agile; testing still never seems to have enough time.

Page 10: Fundamentals of Deploy and Release

How do we go faster?

10

Agile?

Page 11: Fundamentals of Deploy and Release

… but Agile didn’t help with Ops

Page 12: Fundamentals of Deploy and Release

DevOps: Unclogging Delivery

Barriers to Faster Delivery

Running Integration Tests

Getting Test Environments

Perceived Risk of Release

Image credit: NOMAD http://www.flickr.com/photos/lingaraj/2415084235/sizes/l/

Page 13: Fundamentals of Deploy and Release

Automating Deploy and Release

Automatically provision environmentsQuickly deliver changes to test

Reduce risk when releasing

Page 14: Fundamentals of Deploy and Release

Core needs for Automation

Build Dev Test System Test UAT Staging Prod

1. A button to press

2. Storage of Builds

4. Environment Definitions

5. Audit, Controls, & Governance

3. Defined Process

Page 15: Fundamentals of Deploy and Release

Automated process

Fast, consistent and repeatable

Page 16: Fundamentals of Deploy and Release

Environment definitionsPer-environment configuration and passwords

Page 17: Fundamentals of Deploy and Release

Artifact repositoryKnow what you’re getting Where do the bits you

deploy come from?

Page 18: Fundamentals of Deploy and Release

Access control

What we needRole-based access control

Access control by environment

Single source of access control

LDAP / Active Directory authentication (or authorization)

Who can deploy to which environment

Page 19: Fundamentals of Deploy and Release

Audit trail

What we needWin at Clue:

–Who

–What

–Where

–When / How

–Require no additional work

End-to-end traceability

Know what happened

Page 20: Fundamentals of Deploy and Release

Automate because people aren’t machines

Automated deployments leverage the strengths of people and machines.

Alistair Cockburn, “Characterizing People as Non-Linear, First-Order Components in Software Development”

Creative Consistent

Page 21: Fundamentals of Deploy and Release

Composite applications are hard because they have lots of pieces

Image from ischool.tv

Page 22: Fundamentals of Deploy and Release

Makes our pipeline more complicated

Build Dev Test System Test UAT Staging Prod

Page 23: Fundamentals of Deploy and Release

Multi-Application releases multiply complexity

Versions

Single App Multi App

Applications 1 25

25010

Environments 2505

Teams 251

Changes 250050

Page 24: Fundamentals of Deploy and Release

Managing the orchestration

Page 25: Fundamentals of Deploy and Release

Transitions of a Snapshot

Snapshot

Snapshots / Release Versions

Transitions of Components

Dev ProdQA

?

?

Snapshot Snapshot

QA Dev Prod

Page 26: Fundamentals of Deploy and Release

Views into the pipeline must be broad

Page 27: Fundamentals of Deploy and Release

27

Track your changes and dependencies in the context of a release

Detect what application is at risk

Risk Management – Impact Analysis

Page 28: Fundamentals of Deploy and Release

Faster yet: tests & auto-promote

Page 29: Fundamentals of Deploy and Release

Run tests at the end of deployments

Deploy

Invoke Tests

Promote

Image credit: http://wisdomforawiredworld.com/wp-content/uploads/2011/05/smoking-server.jpg

Rollback

Page 30: Fundamentals of Deploy and Release

Auto-progress what works / is approved

DEV CERT QA PT PROD

Phase DEV Phase SIT Phase QA

Recurring Rules

DEV CERT QA PT

Phase DEV Phase QA

DEV CERT QA PT

Phase DEV Phase QA

DEV SIT QA Staging

Ready SIT Ready QA Ready Staging

Phase DEV Phase QA Phase Staging

• Recurring scheduled deployments• Fully automated deployments• Quality status enforced by the gates

Page 31: Fundamentals of Deploy and Release

Treat infrastructure the same

Page 32: Fundamentals of Deploy and Release

DevOps manages risk differently

The adoption of DevOps => increased velocity of application delivery

Puts pressure on the infrastructure to respond more quickly

Software Defined Environments enable you to capture infrastructure as a software artifact

Application Changes

InfrastructureChanges

Page 33: Fundamentals of Deploy and Release

Full stack engineering. Change is Change

Application Changes

InfrastructureChanges

Consistent Incremental

Change

… …

Page 34: Fundamentals of Deploy and Release

In Summary

Software delivery is important

Automating and managing change helps:

–Speed delivery

–Improve quality

Coordinate change across complex systems

–Don’t forget the infrastructure

Page 35: Fundamentals of Deploy and Release

We have tools

Page 36: Fundamentals of Deploy and Release

Push Button DeploymentsRole based security & gates

Scalable Architecture

1.2.3System of Record

Everything is versioned & auditable

Easy to use process designer

Re-useable / ExtensibleIntegrations & Workflows

Continuous DeliveryAcross Environments

IBM UrbanCode Deploy: App Deploy Automation

Page 37: Fundamentals of Deploy and Release

UCD with Patterns: Environments on Demand

Page 38: Fundamentals of Deploy and Release

IBM UrbanCode Release:Release Management and Coordination

Page 39: Fundamentals of Deploy and Release

Q&A@EricMinick

Get the slides: Slideshare.net/UrbanCode

More IBM UrbanCode stuff: developer.ibm.com/urbancode


Recommended