41
© 2014 IBM Corporation Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM The Developers Conference https://twitter.com/marceloancelmo Marcelo Sousa Ancelmo Senior IT Specialist – IBM Rational [email protected] marceloancelmo http://www.slideshare.net/marceloancelmo https://www.linkedin.com/in/marceloancelmo

Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Embed Size (px)

DESCRIPTION

Palestra feita na trilha de DevOps no TDC2014 em São Paulo. Como estruturar uma estratégia de Continuous Delivery suportada por ALM, promovendo visibilidade, colaboração e controle

Citation preview

Page 1: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

© 2014 IBM Corporation

Práticas, Técnicas e Ferramentas para Continuous Delivery com ALMThe Developers Conference

https://twitter.com/marceloancelmo

Marcelo Sousa AncelmoSenior IT Specialist – IBM Rational [email protected]

marceloancelmo

http://www.slideshare.net/marceloancelmo

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

Page 2: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Have you seen this before?

Where is the latest version of the service?

This deploy is not working, where is the older version?

Here, you can install it on production, it's tested

It worked on my machine

Who authorized this deployment?

What is the version of the application that is in production?

How much time we need to develop this service?

Page 3: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

What is important

Centralized Code Repository

The code should compile and build everytime

Build Pipeline

Everyone can see the results of the latest build

It should be easy to get the latest deliverables

Deployment Pipeline

Release Management

Page 4: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Employ a DevOps deployment strategy

SIT

120X

DEV

300X

QA

60X

UAT

3X

PT

15X

PROD

1X

Continuous Delivery Deployments Highly OrchestratedDeployments

Pull testing and validation as far left as possible

Push continuous delivery as far right as possible

Employ processes and tooling that can handle the spectrum

5

Page 5: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

For a Delivery Pipeline*Bluemix

Page 6: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

What tools do I need

Source: Google Images

Page 7: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Software Configuration Management

Control the workflow of the software development

Continuous integration configuration

Kick off the builds

Allow visibility of the builds results

Keep track of the changes

Improve collaboration

Defect Tracking

Visibility

*Bluemix

DevOps Services

Page 8: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Build Engine

Retrieve the application source code from the SCM

Build Automation

Compile, test and pack the code

Publish the resulting asset on the Asset Repository

Can Retrieve the published asset to Deploy Automation

*Bluemix

Page 9: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Software Repository

Software Definitive Library

Keep the asset on a centralized repository

Asset metadata and relationships

Organize the assets in communities

Maintain and control life-cycle and version

Keep track of asset usage

Page 10: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Deployment Automation

Maintain the configuration of the environment

Compare the configuration of different environments

Deployment Pipeline

Provision resources for the application on the Runtime

Deploy the application on the Runtime

UCD

*Bluemix

Page 11: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Environment

Expose the application for usage

Application execution environment

Infrastructure and services for the application

Database

*Bluemix

Page 12: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

The BIG Picture *Bluemix

Page 13: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Let's see how it works

Image: FreeDigitalPhotos.net

Page 14: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Install and configure the environment

UCD

Page 15: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Prepare the build

Retrieve the source code

Compile

Unit Test

Quality Analysis

Package

“Every commit should be ready to be build. Also, the build should run fast and fail fast.”

Page 16: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Configure the SOA Governance

Page 17: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Prepare the deploy environment

Get the service binary

Deploy it on the Service Runtime

Register on the Service Registry and Repository

Test the Service

UCD

Page 18: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

On the first sprint

Page 19: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Receive the work item and start to work

Service V1 Development

Page 20: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Start off with the Continuous Integration

Page 21: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

By the way, we can add Continuous Delivery right now

Retrieve the source code

Compile

Unit Test

Quality Analysis

Package

Publish

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

Page 22: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Management create new work items for the development team

Create a V2 of our Service

Page 23: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Development receive the new work item and start to work

Service V2 Development

Page 24: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Kickoff the Continuous Integration

Page 25: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Continue the Continuous Delivery ...

Page 26: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

… and start with a Continuous Deployment

Retrieve the latest binary from Asset Repository

Pass it on to the Deploy Automation

Deploy it in Development

UCD

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

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

Page 27: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

After some validation of the service by the development

Requesting deploy of V2 to Staging

Page 28: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

The manager receives the work item and send it to staging

UCD

Approve the V2 on Asset Repository to Staging

Kickoff the deployment of V2

Page 29: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Meanwhile...

Page 30: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

If everything goes well on the staging ...

Verify if the target environment meet all pre-conditions

Verify if application has all quality and security metrics OK

Validate if it was deployed on dev and staging environments

Schedule for the next available release date

Plannig to deploy V2 to Production

Page 31: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

… someone who has the authority send it to production

UCD

Scheduled release date arrived

Approve the V2 on Asset Repository to Production

Kickoff the deployment of V2

Page 32: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

After the conference ends our manager are back to the work ...

Page 33: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Create the new work item ...

Service V3 Development

Page 34: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Continuous Integration is working ...

Page 35: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

… and the Continuous Delivery ...

Page 36: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

… and the Continuous Deployment.

UCD

Page 37: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

How it looks like for Release Management

V1 is a WS-SOAPIt has never been published on any environment

V3 is a RESTIt is on Development

V2 is a WS-SOAPIt is on StagingIt is on Production

Page 38: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

The IBM BIG Picture*Bluemix

Page 39: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Perguntas

Image: FreeDigitalPhotos.net

Page 40: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

Próximas Palestras IBM:

Page 41: Práticas, Técnicas e Ferramentas para Continuous Delivery com ALM

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 AncelmoSenior IT Specialist – IBM Rational [email protected]