© 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
marcelo.ancelmo@br.ibm.com
marceloancelmo
http://www.slideshare.net/marceloancelmo
https://www.linkedin.com/in/marceloancelmo
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?
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
Employa DevOps deployment strategy
SIT
120X
DEV
300X
QA
60X
UAT
3X
PT
15X
PROD
1X
Continuous Delivery Deployments Highly Orchestrated
Deployments
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
For a Delivery Pipeline *Bluemix
What tools do I need
Source: Google Images
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
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
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
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
Environment
Expose the application for usage
Application execution environment
Infrastructure and services for the application
Database
*Bluemix
The BIG Picture *Bluemix
Let's see how it works
Image: FreeDigitalPhotos.net
Install and configure the environment
UCD
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.”
Configure the SOA Governance
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
On the first sprint
Receive the work item and start to work
Service V1 Development
Start off with the Continuous Integration
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
Management create new work items for
the development team
Create a V2 of our Service
Development receive the new work item
and start to work
Service V2 Development
Kickoff the Continuous Integration
Continue the Continuous Delivery ...
… 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
After some validation of the service by the
development
Requesting deploy of V2 to Staging
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
Meanwhile...
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
… 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
After the conference ends our manager
are back to the work ...
Create the new work item ...
Service V3 Development
Continuous Integration is working ...
… and the Continuous Delivery ...
… and the Continuous Deployment.
UCD
How it looks like for Release Management
V1 is a WS-SOAP
It has never been
published on any
environment
V3 is a REST
It is on
Development
V2 is a WS-SOAP
It is on Staging
It is on Production
The IBM BIG Picture
*Bluemix
Perguntas
Image: FreeDigitalPhotos.net
Próximas Palestras IBM:
Thank You
Merci
Grazie
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 Ancelmo
Senior IT Specialist – IBM Rational
marcelo.ancelmo@br.ibm.com

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

  • 1.
    © 2014 IBMCorporation 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 marcelo.ancelmo@br.ibm.com marceloancelmo http://www.slideshare.net/marceloancelmo https://www.linkedin.com/in/marceloancelmo
  • 2.
    Have you seenthis 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?
  • 3.
    What is important CentralizedCode 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
  • 4.
    Employa DevOps deploymentstrategy SIT 120X DEV 300X QA 60X UAT 3X PT 15X PROD 1X Continuous Delivery Deployments Highly Orchestrated Deployments 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
  • 5.
    For a DeliveryPipeline *Bluemix
  • 6.
    What tools doI need Source: Google Images
  • 7.
    Software Configuration Management Controlthe 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
  • 8.
    Build Engine Retrieve theapplication 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
  • 9.
    Software Repository Software DefinitiveLibrary 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
  • 10.
    Deployment Automation Maintain theconfiguration 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
  • 11.
    Environment Expose the applicationfor usage Application execution environment Infrastructure and services for the application Database *Bluemix
  • 12.
  • 13.
    Let's see howit works Image: FreeDigitalPhotos.net
  • 14.
    Install and configurethe environment UCD
  • 15.
    Prepare the build Retrievethe 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.”
  • 16.
  • 17.
    Prepare the deployenvironment Get the service binary Deploy it on the Service Runtime Register on the Service Registry and Repository Test the Service UCD
  • 18.
  • 19.
    Receive the workitem and start to work Service V1 Development
  • 20.
    Start off withthe Continuous Integration
  • 21.
    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
  • 22.
    Management create newwork items for the development team Create a V2 of our Service
  • 23.
    Development receive thenew work item and start to work Service V2 Development
  • 24.
  • 25.
  • 26.
    … and startwith 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
  • 27.
    After some validationof the service by the development Requesting deploy of V2 to Staging
  • 28.
    The manager receivesthe work item and send it to staging UCD Approve the V2 on Asset Repository to Staging Kickoff the deployment of V2
  • 29.
  • 30.
    If everything goeswell 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
  • 31.
    … someone whohas the authority send it to production UCD Scheduled release date arrived Approve the V2 on Asset Repository to Production Kickoff the deployment of V2
  • 32.
    After the conferenceends our manager are back to the work ...
  • 33.
    Create the newwork item ... Service V3 Development
  • 34.
  • 35.
    … and theContinuous Delivery ...
  • 36.
    … and theContinuous Deployment. UCD
  • 37.
    How it lookslike for Release Management V1 is a WS-SOAP It has never been published on any environment V3 is a REST It is on Development V2 is a WS-SOAP It is on Staging It is on Production
  • 38.
    The IBM BIGPicture *Bluemix
  • 39.
  • 40.
  • 41.
    Thank You Merci Grazie Gracias Obrigado Danke Japanese English French Russian German Italian Spanish Brazilian Portuguese Arabic TraditionalChinese Simplified Chinese Hindi Tamil Thai Korean Dziękuję Polish Marcelo Sousa Ancelmo Senior IT Specialist – IBM Rational marcelo.ancelmo@br.ibm.com