devops @ enterprise - devops meetup zurich

32
Accelerating Product and Service Innovation DevOps@Enterprise Lessons from the trenches https://twitter.com/marceloancelmo Marcelo Sousa Ancelmo Technical Lead Architect [email protected] marceloancelmo http://www.slideshare.net/marceloancelmo https://www.linkedin.com/in/marceloancelmo

Upload: marcelo-sousa-ancelmo

Post on 15-Apr-2017

258 views

Category:

Technology


9 download

TRANSCRIPT

Page 1: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

DevOps@EnterpriseLessons from the trenches

https://twitter.com/marceloancelmo

Marcelo Sousa AncelmoTechnical Lead Architect [email protected]

marceloancelmo

http://www.slideshare.net/marceloancelmo

https://www.linkedin.com/in/marceloancelmo

Page 2: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

What Is DevOps for you?

Page 3: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Sometimes people come with this

Page 4: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

And this is what we often hear on enterprises

“DevOps? We already do that. Call the DevOps team here to talk with this guy” - Business Savvy Executive, thinking that DevOps is just a new team

“We have a Continuous Integration environment here, we just need to convince people to use it” - Early promoted IT Manager, coming from a successful IT project

“We have a Release Process that is too much rigid, this will never work here” - Developer or Operations guy (pick any), helpless about his future

“Help me Obi Wan Kenobi, you're my only hope” - Princess Leia

Disclosure – ALL OPINIONS ARE THEIR OWN! (Phrases and people can change at your own will)

Page 5: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

The Hard Truth – There is no Right way to do DevOps

Image: Stuart Miles / FreeDigitalPhotos.net

Culture

People

Process

Automation

Measure

Share

Page 6: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

What you need to realize is that a DevOps approach...

… Is a cultural change on how teams work and interact with each other, inside a well structured process

… Requires a collection of principles and techniques to set the pace, maintain standards and lower the chances of drifts

... Implements a lot of practices, to continuously and consistently apply the techniques

… Make usage of tools, to help people do their jobs better, apply the techniques and practices and to monitor all the environment

All of this to deliver the consistency, communication, collaboration, transparency and feedback needed by the Enterprise

Page 7: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Executive leadership is vital

C-Level, VP, Higher Manager (Higher is better)

Have power to put everyone “on the same room”

Can help break the silos and bring people in

Make connections between silos and keep the path clear to move forward

Defend the DevOps initiative in front of others executives and on meetings

Advocates on culture change ...

… but all of this does not mean nothing if PEOPLE do not ENGAGE

Page 8: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Culture change should be top level priority

“Change the culture to a culture of change.” - Joseph McKevitt

This is especially difficult on the Enterprise, where a lot of people have different responsibilities, departments are silos and different practices are scattered

... and don't forget that there are political reasons too!

For successful DevOps adoption at the enterprise you must engage everyone involved – From Enterprise Architecture to Operations

They must perceive the value that the enhanced collaboration, communication and transparency of a DevOps Strategy can bring to them.

This is why the cultural barrier is one of the most difficult challenges and should be a top priority for rolling out DevOps at the Enterprise.

Page 9: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

DevOps @ Enterprise

Image: http://blog.xebialabs.com/2016/03/21/essential-devops-terms/devops-cycle-ppt-colours/

Page 10: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

1st Proposal

Page 11: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

What we found

The Good

A well established SCM + Issue Track + Continuous Integration environment

Teams that were using this environment and are getting great results

The Bad

Some teams did not get any perception of value added by adopting this solution

Others teams did not have “time” to make necessary adjustments and migrations to use this environment

Some teams did not even know that threre is such environment

The Ugly

No Executive Sponsorship

No clear communication and collaboration with testing and operations teams

Page 12: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

First Bussines Challenge: Prove Yourself

Business Input: I do not believe you!

Challenge: To Prove DevOps value

Strategy: Find a project to be our pilot

What worked:

Found an Agile team that embraced the challenge;

We partened with them and created a “War Room”;

Deep understanding of the enterprise culture and who are the key players;

After 3 months, they raised productivity more than 30%

What don't worked well:

Operations not fully engaged

No corporate standard for SCM and Versioning

Different deployment scripts for the environments and platforms

Business Outcome: Good Job, let's see what happens when we work at scale!

Page 13: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

After the pilot result, a lot of teams started to ask how they could participate

Followed an Agile approach, with releases at each 6 months, aligned with enterprise strategic objectives

Each release was broken into small deliverables (1 month each) that should:

Introduce some practice, technique and / or tool to the program

Must be put on practice by at least one team

Should address and solve a real business challenge

After the end of each delivarable, we make a retrospective:

What worked

What did not worked

What could be improved

What must be changed

Second Bussines Challenge: Present your strategy

Page 14: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Dev + Ops – Working together for business benefit

Page 15: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Infrastructure Change Management

Tools chain:

Development – Eclipse

Plan, Track and SCM – Rational Team Concert

Software Definitive Library – Rational Asset Manager

Page 16: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Build Pipeline

Tools chain:

Development – Eclipse, Rational Application Developer or Rational Software Architect

Plan, Track and SCM – Rational Team Concert

Continuous Integration and Build Automation – Rational Build Forge

Software Construction – Apache Maven and Apache Ant

Software Quality Testing – SonarQube

Software Security Testing – IBM AppScan Source

Page 17: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Software Definitive Library

“Continuous delivery is about putting the release schedule in the hands of the business, not in the hands of IT.” - Jez Humble

Runs immediately after the Continuous Integration QA phase

Publishes the resulting artifacts to SDL

Tools chain:

Build Automation – Rational Build Forge

Software Definitive Library – Rational Asset Manager

Page 18: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Metamodel for Applications

Page 19: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Deployment Pipeline

Can be run at any time (including just after the delivery phase as part of the build pipeline) for a published application.

Tools chain:

Deployment Automation – IBM UrbanCode Deploy

Software Definitive Library – Rational Asset Manager

“The primary goal of continuous deployment is not to deploy continuously. It is to be able to deploy continuously.” - Paul Klipp

Page 20: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Delivery Pipeline

Path followed by an application through its lifecycle

You can quickly ask to the Software Definitive Library which version is deployed where

Everyone involved and interested in the process are communicated

Tools chain:

Plan, Track and Collaborate – Rational Team Concert

Deployment Automation – IBM UrbanCode Deploy

Release Management – IBM UrbanCode Release

Page 21: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Lifecycle for the application

Page 22: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Benefits realized

Integration and traceability on the whole Software Development Lifecycle

Smooth transition and better communication between Development and Operations

Traceability between Build – Deploy – Defects – Testing – Code - Requirements

Roll out to new users facilitated through an standardized process

BOM of tools and scripts installed on all environments

Lower configuration drift

Page 23: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Closing the gap

Page 24: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Ask the Right Questions

What are you trying to accomplish?

What is your DevOps strategy?

What are your business drivers?

Who are your customers?

What are your objectives?

Page 25: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Stay focused on the core principles

Focus on IT business value stream flow and created a shared vision of the whole

Understand, improve and amplify your feedback loops

Create a culture of Continual Experimentation and Learning

Identify the bottlenecks and constraints

Build a culture of collaboration and respect across your enterprise

Focus on the principles and adapt the practices based on the culture of the teams

Page 26: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Engaging strategies

Mix the teams, put someone from the Development on the Operations team for a limited amount of time and vice versa, so they can “fell the pain” and know “Who is on the other side of the phone”

Development and Operations should use the same tools to plan, track, build, deploy, release and monitor. This will increase collaboration at the software development lifecycle

Share knowledge – Use Wiki, blogs and foruns to collaborate and spread information. Be social and transparent

Create a DevOps commite with members from all of the enterprise. Everyone should have an active voice.

Be aligned with strategic initiatives from the Enterprise, delivering real value all the time

Page 27: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

They need to see it as a evolutionary process

Page 28: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

That should be adopted in a Lean way

Page 29: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

They need leadership and guidance...

Page 30: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

...To do right things right

Image: www.nguyenduykhanh.info

Page 31: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Image: FreeDigitalPhotos.net

Questions

Page 32: DevOps @ Enterprise - DevOps Meetup Zurich

Accelerating Product and Service Innovation

Thank You

MerciGrazie

Gracias

Obrigado

Danke

Japanese

English

French

Russian

German

Italian

Spanish

Brazilian Portuguese

Arabic

Traditional Chinese

Simplified Chinese

Hindi

Tamil

Thai

Korean

DziękujęPolish

Marcelo Sousa AncelmoTechnical Lead Architect [email protected]