20
Implementing a DevOps pipeline Toulouse, 29/09/16, Keith KELLY

Cwin16 tls-s2-implementing a dev ops pipeline

Embed Size (px)

Citation preview

Implementing a DevOps pipelineToulouse, 29/09/16, Keith KELLY

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 2

Table of Contents

Reminder: What is DevOps

What is a DevOps Pipeline

Example Tooling

Pipeline Considerations

A quick demo of collaboration

[Advanced topics]

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 3

Reminder: What is DevOps?

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 4

The typical waterfall Project

Problem with typical waterfall project:

Long QA feedback loop

Lack of collaboration

Inability to change direction

Requirements

Analyst & Customer

Design

Architect

Development

Developer

Integration + QA

Tester

Release

IT Operations

Months ! Requirements have

changed !

You can’t just ask customers what

they want and then try to give that to

them. By the time you get it built,

they’ll want something new.

Steve Jobs

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 5

The Agile Project Solution

Problem with typical Agile project: the last mile

Manual deployments, operations unexpected delay

Insufficient configuration management

Infrequent, manual, error prone deployments

Integration + QA

Tester

Release

IT Operations

More business and user

involvement during

design and build!

Sprint Backlog

Product Backlog

Potentially Shippable

Product

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 6

Agile delivery model

IT OperationsAgile Delivery

“Deliver changes

quicker”

“Ensure stability”

How do we bridge

the gap?

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 7

Agile delivery model

IT OperationsAgile Delivery

“Deliver changes

quicker”

“Ensure stability”

Keys to bridge the

gap

Quality

Automation

Collaboration

Trust &

Reliability

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 8

Build

Operate

Design

Holistic Approach to Complete Lifecycle

Breaking down barriers

Tools and Automation

Quality everyone’s concern

Stakeholders & Users at the center

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 9

Contacts

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 10

What is a DevOps Pipeline?

Define Implement Build Integrate Validate Release Deploy Operate

Pipeline / Business Value Stream

Sp

ee

d

Continuous Delivery

Continuous Integration

Agile

Continuous Deployment

The processes and activities we do to deliver value (software)i.e. get required features into users hands

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 11

Example Pipeline for Application Features / Stories

Define

•User Story

•Acceptance Criteria

•Schedule

•Etc.

Implement

•Code

•Unit Test

•Check-in

•Update Work Items

Build

•Compile

•Static Analysis

•Automated Unit Test

•Package

Integrate

•Provision, Deploy, Configure

•Restore / Gen Test Data

•Launch Automated Tests

•De-provision

Validate

•Provision, Deploy, Configure

•Restore / Migrate / Upgrade Data

•Activate Supervision (B & IT)

•Performance, Load, Stability Tests

•Security & Supervision Tests

•De-provision

Release

•Signoffs

•Help desk updates

•Network / Security CRs

Deploy

•Provision, Deploy, Configure

•Backup / Migrate Data

•Activate Supervision & Operations

•Health, Security, Manual Tests

•Staging Switch / Redirect

•Health & KPI monitoring

Operate

•Alert / Issue Handling

•Capacity Mgt / Provisioning

•Testing in Production

•Value Metrics, A/B Testing, Feature flag activation

•Reporting

Capable of pulling features through the system, in

release batches or individually.

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 12

Example Pipeline Tooling Java

Define Develop Build

Integrate Validate Release

Deploy Operate

elk elk

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 13

Example Pipeline Tooling . NET

Define Develop Build

Integrate Validate Release

Deploy Operate

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 14

Pipeline considerations

Pipeline can be very different depending on many factors

Technologies chosen, target platform, toolsets available

Your organizational structure, processes and culture

• Manual procedures and approvals might still be needed.

The architecture chosen and how components are decoupled

• Microservices, classic 3-tier, containers, PaaS, resources…

Your own need for speed

There is no generic pipeline. It is not just a question of tool choices.

Design your pipeline as a value stream and apply Lean principles to

optimize it. Do not just deploy tools or automate blindly!

Remember that Dev & Ops should be collaborating during complete

lifecycle!

Demo

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 15

Many tools to choose from…

https://xebialabs.com/periodic-table-of-devops-tools/

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 18

Advanced DevOps Pipeline Features

The pipeline should ideally enable the application to do things like…

Split user traffic between multiple concurrent versions

Test new features and ideas

Measure increase/decrease statistics

Leverage results to enhance application user

experience

Control features with Feature Flags

Deploy multiple revisions of the same code

Slowly send traffic to new version

Monitor new version for errors or issues

Full cut over once new version has been fully

tested and assured

Easy failback to later version

Smaller code, faster to build & deploy

Individually scalable components

Independent and flexible development, testing,

deployment cycle among services

Containerization making it easier to optimize

Choose best technology stack per service

Business monitoring

Application, Service & Process monitoring

VM & infrastructure monitoring

Synthetic user experience monitoring

A/B testing results (conversion inc./dec.)

A/B

Testing

Blue/Green

Deployments

Deploy

& Scale

Parts of the

Application

App

Monitoring

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 19

Resources

Capgemini DevOps POV

Pivotal – Migrating to Cloud Native

Architectures

Martin Fowler – Microservices Architectures

Book: The Phoenix Project

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 20

Contacts

CWIN16 - Implementing a DevOps Pipeline | September 2016

Copyright © 2016 Capgemini and Sogeti. All rights reserved. 21

Contact information

Keith

KellyCloud / DevOps Transformation Leader

[email protected]

Capgemini Toulouse

Insert

contact

picture

Insert

contact

picture

Insert

contact

picture

David

DeronneHead of Digital

[email protected]

Capgemini Toulouse

David

FerreiraAgile / DevOps Country Lead

[email protected]

Capgemini France

www.capgemini.com

The information contained in this presentation is proprietary.

Copyright © 2016 Capgemini and Sogeti. All rights reserved.

Rightshore® is a trademark belonging to Capgemini.

www.sogeti.com

About Capgemini and Sogeti

With more than 180,000 people in over 40 countries, Capgemini is a

global leader in consulting, technology and outsourcing services. The

Group reported 2015 global revenues of EUR 11.9 billion. Together

with its clients, Capgemini creates and delivers business, technology

and digital solutions that fit their needs, enabling them to achieve

innovation and competitiveness. A deeply multicultural organization,

Capgemini has developed its own way of working, the Collaborative

Business Experience™, and draws on Rightshore®, its worldwide

delivery model.

Sogeti is a leading provider of technology and software testing,

specializing in Application, Infrastructure and Engineering

Services. Sogeti offers cutting-edge solutions around Testing,

Business Intelligence & Analytics, Mobile, Cloud and Cyber

Security. Sogeti brings together more than 23,000 professionals in

15 countries and has a strong local presence in over 100 locations

in Europe, USA and India. Sogeti is a wholly-owned subsidiary of

Cap Gemini S.A., listed on the Paris Stock Exchange.