SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Implemen'ng	
  Con'nuous	
  Delivery	
  with	
  
Enterprise	
  Middleware	
  
Sriram	
  Narayan,	
  ThoughtWorks	
  Studios	
  
Andrew	
  Phillips,	
  XebiaLabs	
  
•  Product principal at ThoughtWorks Studios
•  Owner of Go’s deployment stream of work
•  Ex-member of ThoughtWorks’ Tech Advisory Board
About Sriram
•  VP Products for XebiaLabs
•  Lots of enterprise software development on high-
performance systems
•  Been on both sides of the “Dev…Ops” fence
•  Active open source contributor and committer:
jclouds, Akka, Gradle and others
•  Cloud, PaaS & JVM language fan (mainly Scala, Clojure)
•  Regular meetup, conference etc. presenter
About Andrew
•  Introduction to ThoughtWorks and XebiaLabs
•  Continuous Delivery in 60s
•  Continuous Delivery in the Enterprise
•  From a “vanilla” pipeline to an
enterprise CD approach
•  Getting started
•  Q & A
Agenda
•  Questions?
•  Submit via the control panel at
any time during the presentation
Housekeeping
Deployit is our market-leading Application Release
Automation product.
o  Headquartered in Boston, Massachusetts
o  Global development and support offices in
US, EMEA and APAC
Benefits include:
o  Reduce development applications costs
o  Accelerate application time to market
o  Bridge the gap between Development and Operations
About XebiaLabs
About ThoughtWorks Studios
Continuous delivery is
an approach to delivering software that
reduces the cost, time, and risk
of delivering incremental changes to users.
What is Continuous Delivery?
o  Your software is releasable throughout its lifecycle
o  Your team prioritizes keeping the software releasable
over working on new features
o  Anybody can get fast, automated feedback on the
production readiness of your systems any time
somebody makes a change to them
o  You can perform push-button releases of any version
of the software on demand.
Continuous Delivery means…
Continuous Delivery isn’t just Automation
o  Org design
o  Devops – CAMS
o  Culture, automation, measurement, sharing
o  Pipeline Modelling (value stream)
o  Visualization
o  Orchestration
o  Traceability and auditability
o  Access control
o  Complex projects and applications consisting of many
components delivered by multiple teams
o  Complex dependency trees, fan-in
o  Polyglot applications, persistence
o  Diverse, heterogeneous deployment landscape
o  Environments : Physical, virtual, cloud
o  Multi-site deployment e.g. CDNs
o  Caches, laod balancers, search indexes, analytics
data store
o  Scheduled deployments
o  Integration with Release Management
o  E.g. how to gate a pipeline via change tickets?
o  Need for end-to-end audit trail
Continuous Delivery in the Enterprise
o  Deliverable: 2 EAR files with 2 WAR files each
o  One of the WAR files built by a different team
o  Also database changes, configuration files and server
configuration settings
o  Datasources, queues etc.
o  Target environments
o  Functional Test: Single server with in-memory DB
o  Integration Test: 2-server clustered with external DB
o  Performance Test: load-balanced 4-server cluster with
external DB
o  Release Management requirement: deployment to
Performance Test environment requires change ticket
o  Trigger: any code commit or update of the “external” WAR
project
A Java EE Example
STEPS
1.  Compile all changed WAR projects, take latest artifact for
others
2.  Compile EAR projects
3.  Run unit tests
4.  Run code quality build
5.  Create deployment package (including SQL changes,
configuration files etc.)
6.  Deploy to Functional Test env
7.  Run functional tests
8.  Deploy to Integration Test env
9.  Run integration tests
10.  Verify change ticket available for performance tests
11.  Deploy to Performance Test env
12.  Run performance tests,
13.  Update change ticket
14.  Notify business owner that build is “ready for prod”
A Java EE Example
Build WAR1 Build WAR2 Build WAR3
Retrieve
WAR4
Build EAR1
Build EAR2
Code
quality
build1
Code
quality
build2
Package
Deploy to FT
env with
script
Run
functional
tests
Deploy to IT
env with
script
Run
integration
tests
Manually
verify ticket
Deploy to PT
env with
script
Run perf
tests
Manually
update
ticket
Send
notification
A Vanilla Pipeline
o  “Straight” translation of the release plan
o  All steps happen serially
o  Even though not all steps depend on the previous one
o  Manual activities remain
o  Will become a bottleneck over time
o  Scripting, scripting, scripting
o  E.g. packaging of the deliverable, deployment scripts
to the different environments, some testing
o  No clear visualization of component relationships and
dependencies
o  No clear insight into which code and features make up
which components
A Vanilla Pipeline
Build
comp1
Build
comp2
Build
comp3
Retrieve
comp4
Common
frmwk1
Common
frmwk 2
Pkg svc1
Pkg app1
Deploy to FT
with
Deployit
Run
functional
tests
Deploy to IT
with
Deployit
Run
integration
tests
Run perf
tests
Send
notification
Pkg svc2
Enterprise CD
Deploy to PT
with
Deployit
Verifies and
updates change
ticket
o  Optimized pipeline taking into account component
dependencies
o  From 18 to 8 stages: 125% speedup!
o  No more manual tasks
o  Release management integration handled by ARA tool
o  Provides end-to-end audit trail
o  Minimized scripting
o  Packaging and deployment handled by ARA tool
o  Clear visualization of component relationships and
dependencies
o  Clear insight into which code and features make up
which components
Enterprise CD
Enterprise Pipeline: Value Stream
Enterprise Pipeline: Package as Material
Enterprise Pipeline: Environments, Configuration
Enterprise Pipeline: Permit, Trace and Audit
o  Manual, API or timer trigger
o  Re-trigger older revision with
different configuration
o  Pipeline execution history
o  Visualize
o  Compare
o  Granular Email notifications
o  Role based access
o  View
o  Operate
o  Admin
o  Audit, access control
o  Pausing a Pipeline
o  Cancel a stage/job run
o  Config change
Enterprise Pipeline: Build Orchestration
Enterprise Pipeline: Deployment Orchestration
Enterprise Deployments: No More Scripting
Enterprise Deployments: Full Stack
Enterprise Deployments: Multi-Topology
Enterprise Deployments: On-demand Environments
Enterprise Deployments: Config Drift Analysis
o  Intro to Continuous Delivery
o  Releasable software throughout its lifecycle!
o  Fast, automated feedback on production readiness
o  On-demand releases
o  Enterprise Challenges
o  Complex project and technical landscape
o  Complex dependency and component graphs
o  Control (Release Management) and auditing
requirements
o  Introduction to Go
o  Agnostic, auditable orchestration
o  Value stream mapping
o  Introduction to Deployit
o  Enterprise deployment automation
o  On-demand environments
Recap
o  Dzone Refcard: “Continuous Delivery Patterns”
refcardz.dzone.com/refcardz/continuous-delivery-patterns
o  Dzone Refcard: "Preparing for Continuous Delivery”
refcardz.dzone.com/refcardz/preparing-continuous-delivery
o  Application Release Trends 2013 Survey
go.xebialabs.com/Survey2013.htm
o  Get Ideas with Go
www.thoughtworks.com/go
o  Continuous Delivery Resources from ThoughtWorks
www.thoughtworks.com/insights/continuous-delivery
More Info
Thank You!
CONTACT DETAILS
o  Sriram Narayan sriram.narayan at thoughtworks dot com
o  Andrew Phillips: aphillips at xebialabs dot com
GET STARTED
o  Try Go:
www.thoughtworks.com/go
o  Try Deployit:
www.xebialabs.com/trial
XEBIALABS
www.xebialabs.com/products
blog.xebialabs.com
@xebialabs
youtube.com/xebialabs
THOUGHTWORKS
www.thoughtworks.com/products
@thoughtworks
youtube.com/user/
ThoughtworksStudios

Más contenido relacionado

La actualidad más candente

Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayaka V Ladwa
 
Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Alan Pearson Mathews
 
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | EdurekaDevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | EdurekaEdureka!
 
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...Edureka!
 
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...Lucas Sacramento
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD OverviewAn Nguyen
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaEdureka!
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDFMayank Kumar
 
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & CoInfrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & CoTorben Knerr
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationRodrigo Russo
 
Qa in CI/CD
Qa in CI/CDQa in CI/CD
Qa in CI/CDAdsmurai
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryJohn Ferguson Smart Limited
 
Simple ci cd with strider cd
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cdAmandeep Singh
 

La actualidad más candente (20)

Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_years
 
Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019Next Generation Architecture Showcase July 2019
Next Generation Architecture Showcase July 2019
 
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | EdurekaDevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
 
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
 
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
CarTrawler's Feature Team Architecture and Development Process Showcase by Lu...
 
Testing AS A Container - Irfan Ahmad
Testing AS A Container - Irfan AhmadTesting AS A Container - Irfan Ahmad
Testing AS A Container - Irfan Ahmad
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
 
From Continuous Integration to DevOps
From Continuous Integration to DevOpsFrom Continuous Integration to DevOps
From Continuous Integration to DevOps
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & CoInfrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
 
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous IntegrationQConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
 
Qa in CI/CD
Qa in CI/CDQa in CI/CD
Qa in CI/CD
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
From ci to cd
From ci to cdFrom ci to cd
From ci to cd
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
 
Simple ci cd with strider cd
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cd
 

Destacado

What is the best way to measure progress on an Agile project?
What is the best way to measure progress on an Agile project?What is the best way to measure progress on an Agile project?
What is the best way to measure progress on an Agile project?ThoughtWorks Studios
 
How do you get accurate visibility on a multi-team project?
How do you get accurate visibility  on a  multi-team project?How do you get accurate visibility  on a  multi-team project?
How do you get accurate visibility on a multi-team project?ThoughtWorks Studios
 
How do you implement Continuous Delivery? Part 3: All about Pipelines
How do you implement Continuous Delivery? Part 3: All about PipelinesHow do you implement Continuous Delivery? Part 3: All about Pipelines
How do you implement Continuous Delivery? Part 3: All about PipelinesThoughtWorks Studios
 
Distributed agile testing_for_enterprises
Distributed agile testing_for_enterprisesDistributed agile testing_for_enterprises
Distributed agile testing_for_enterprisesThoughtWorks Studios
 
Mingle Case-study with Minnesotta State Colleges and Universities
Mingle Case-study with Minnesotta State Colleges and UniversitiesMingle Case-study with Minnesotta State Colleges and Universities
Mingle Case-study with Minnesotta State Colleges and UniversitiesThoughtWorks Studios
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns ThoughtWorks Studios
 
Improving business outcomes through rapid data visualisation
Improving business outcomes through rapid data visualisationImproving business outcomes through rapid data visualisation
Improving business outcomes through rapid data visualisationThoughtWorks Studios
 
Neal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureNeal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureThoughtWorks Studios
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
 

Destacado (17)

What is the best way to measure progress on an Agile project?
What is the best way to measure progress on an Agile project?What is the best way to measure progress on an Agile project?
What is the best way to measure progress on an Agile project?
 
Evolving for Multiple Screens
Evolving for Multiple ScreensEvolving for Multiple Screens
Evolving for Multiple Screens
 
How do you get accurate visibility on a multi-team project?
How do you get accurate visibility  on a  multi-team project?How do you get accurate visibility  on a  multi-team project?
How do you get accurate visibility on a multi-team project?
 
Lean Times Require Lean Thinking
Lean Times Require Lean ThinkingLean Times Require Lean Thinking
Lean Times Require Lean Thinking
 
ThoughtWorks Approach 2009
ThoughtWorks Approach 2009ThoughtWorks Approach 2009
ThoughtWorks Approach 2009
 
How do you implement Continuous Delivery? Part 3: All about Pipelines
How do you implement Continuous Delivery? Part 3: All about PipelinesHow do you implement Continuous Delivery? Part 3: All about Pipelines
How do you implement Continuous Delivery? Part 3: All about Pipelines
 
2012 vod qa_keynote
2012 vod qa_keynote2012 vod qa_keynote
2012 vod qa_keynote
 
Distributed agile testing_for_enterprises
Distributed agile testing_for_enterprisesDistributed agile testing_for_enterprises
Distributed agile testing_for_enterprises
 
Mingle Case-study with Minnesotta State Colleges and Universities
Mingle Case-study with Minnesotta State Colleges and UniversitiesMingle Case-study with Minnesotta State Colleges and Universities
Mingle Case-study with Minnesotta State Colleges and Universities
 
How lean can you get?
How lean can you get?How lean can you get?
How lean can you get?
 
Minimum Viable Product
Minimum Viable ProductMinimum Viable Product
Minimum Viable Product
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
 
Working Without Estimates
Working Without EstimatesWorking Without Estimates
Working Without Estimates
 
Improving business outcomes through rapid data visualisation
Improving business outcomes through rapid data visualisationImproving business outcomes through rapid data visualisation
Improving business outcomes through rapid data visualisation
 
How do you measure value?
How do you measure value?How do you measure value?
How do you measure value?
 
Neal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureNeal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary Architecture
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 

Similar a How to implement continuous delivery with enterprise java middleware?

How to implement continuous delivery with enterprise java middleware?
How to implement continuous delivery with enterprise java middleware?How to implement continuous delivery with enterprise java middleware?
How to implement continuous delivery with enterprise java middleware?Thoughtworks
 
Continous Delivery Toronto Presentation
Continous Delivery Toronto PresentationContinous Delivery Toronto Presentation
Continous Delivery Toronto PresentationXebiaLabs
 
Introducing Continuous Delivery in the Enterprise
Introducing Continuous Delivery in the EnterpriseIntroducing Continuous Delivery in the Enterprise
Introducing Continuous Delivery in the EnterpriseXebiaLabs
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...Perforce
 
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical StepsPreparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical StepsXebiaLabs
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything ChefMandi Walls
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"Stephanie Locke
 
Strong practices for rails applications continuous delivery
Strong practices for rails applications continuous deliveryStrong practices for rails applications continuous delivery
Strong practices for rails applications continuous deliveryRobb Kidd
 
Continuous Delivery series: How to automate your infrastructure toolchain
Continuous Delivery series: How to automate your infrastructure toolchainContinuous Delivery series: How to automate your infrastructure toolchain
Continuous Delivery series: How to automate your infrastructure toolchainSerena Software
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Amazon Web Services
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAmazon Web Services
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHMandi Walls
 
DaveSailors-resume-v9.6.8.save
DaveSailors-resume-v9.6.8.saveDaveSailors-resume-v9.6.8.save
DaveSailors-resume-v9.6.8.saveDave Sailors
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseDBmaestro - Database DevOps
 
Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Janne Mattila
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsTara Walker
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...Amazon Web Services
 

Similar a How to implement continuous delivery with enterprise java middleware? (20)

How to implement continuous delivery with enterprise java middleware?
How to implement continuous delivery with enterprise java middleware?How to implement continuous delivery with enterprise java middleware?
How to implement continuous delivery with enterprise java middleware?
 
Continous Delivery Toronto Presentation
Continous Delivery Toronto PresentationContinous Delivery Toronto Presentation
Continous Delivery Toronto Presentation
 
Introducing Continuous Delivery in the Enterprise
Introducing Continuous Delivery in the EnterpriseIntroducing Continuous Delivery in the Enterprise
Introducing Continuous Delivery in the Enterprise
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
 
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical StepsPreparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything Chef
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
Strong practices for rails applications continuous delivery
Strong practices for rails applications continuous deliveryStrong practices for rails applications continuous delivery
Strong practices for rails applications continuous delivery
 
Continuous Delivery series: How to automate your infrastructure toolchain
Continuous Delivery series: How to automate your infrastructure toolchainContinuous Delivery series: How to automate your infrastructure toolchain
Continuous Delivery series: How to automate your infrastructure toolchain
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
Application Delivery Patterns
Application Delivery PatternsApplication Delivery Patterns
Application Delivery Patterns
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPH
 
DaveSailors-resume-v9.6.8.save
DaveSailors-resume-v9.6.8.saveDaveSailors-resume-v9.6.8.save
DaveSailors-resume-v9.6.8.save
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterprise
 
Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 

Más de ThoughtWorks Studios

How do you accelerate your enterprise agility?
How do you accelerate your enterprise agility?How do you accelerate your enterprise agility?
How do you accelerate your enterprise agility?ThoughtWorks Studios
 
Succeeding With Globally Distributed Agile
Succeeding With Globally Distributed AgileSucceeding With Globally Distributed Agile
Succeeding With Globally Distributed AgileThoughtWorks Studios
 
Beyond the Scrum: Implementing Lean Software Practices in Your Organization
Beyond the Scrum: Implementing Lean Software Practices in Your OrganizationBeyond the Scrum: Implementing Lean Software Practices in Your Organization
Beyond the Scrum: Implementing Lean Software Practices in Your Organization ThoughtWorks Studios
 
Cloud Computing - Benefits and Challenges
Cloud Computing - Benefits and ChallengesCloud Computing - Benefits and Challenges
Cloud Computing - Benefits and ChallengesThoughtWorks Studios
 

Más de ThoughtWorks Studios (8)

How do you accelerate your enterprise agility?
How do you accelerate your enterprise agility?How do you accelerate your enterprise agility?
How do you accelerate your enterprise agility?
 
Tw specifications for-testing1
Tw specifications for-testing1Tw specifications for-testing1
Tw specifications for-testing1
 
Agile Metrics That Matter
Agile Metrics That MatterAgile Metrics That Matter
Agile Metrics That Matter
 
Succeeding With Globally Distributed Agile
Succeeding With Globally Distributed AgileSucceeding With Globally Distributed Agile
Succeeding With Globally Distributed Agile
 
Beyond the Scrum: Implementing Lean Software Practices in Your Organization
Beyond the Scrum: Implementing Lean Software Practices in Your OrganizationBeyond the Scrum: Implementing Lean Software Practices in Your Organization
Beyond the Scrum: Implementing Lean Software Practices in Your Organization
 
Agile Not Fragile
Agile Not FragileAgile Not Fragile
Agile Not Fragile
 
Transitioning To Agile
Transitioning To Agile Transitioning To Agile
Transitioning To Agile
 
Cloud Computing - Benefits and Challenges
Cloud Computing - Benefits and ChallengesCloud Computing - Benefits and Challenges
Cloud Computing - Benefits and Challenges
 

Último

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Último (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

How to implement continuous delivery with enterprise java middleware?

  • 1. Implemen'ng  Con'nuous  Delivery  with   Enterprise  Middleware   Sriram  Narayan,  ThoughtWorks  Studios   Andrew  Phillips,  XebiaLabs  
  • 2. •  Product principal at ThoughtWorks Studios •  Owner of Go’s deployment stream of work •  Ex-member of ThoughtWorks’ Tech Advisory Board About Sriram
  • 3. •  VP Products for XebiaLabs •  Lots of enterprise software development on high- performance systems •  Been on both sides of the “Dev…Ops” fence •  Active open source contributor and committer: jclouds, Akka, Gradle and others •  Cloud, PaaS & JVM language fan (mainly Scala, Clojure) •  Regular meetup, conference etc. presenter About Andrew
  • 4. •  Introduction to ThoughtWorks and XebiaLabs •  Continuous Delivery in 60s •  Continuous Delivery in the Enterprise •  From a “vanilla” pipeline to an enterprise CD approach •  Getting started •  Q & A Agenda
  • 5. •  Questions? •  Submit via the control panel at any time during the presentation Housekeeping
  • 6. Deployit is our market-leading Application Release Automation product. o  Headquartered in Boston, Massachusetts o  Global development and support offices in US, EMEA and APAC Benefits include: o  Reduce development applications costs o  Accelerate application time to market o  Bridge the gap between Development and Operations About XebiaLabs
  • 8. Continuous delivery is an approach to delivering software that reduces the cost, time, and risk of delivering incremental changes to users. What is Continuous Delivery?
  • 9. o  Your software is releasable throughout its lifecycle o  Your team prioritizes keeping the software releasable over working on new features o  Anybody can get fast, automated feedback on the production readiness of your systems any time somebody makes a change to them o  You can perform push-button releases of any version of the software on demand. Continuous Delivery means…
  • 10. Continuous Delivery isn’t just Automation o  Org design o  Devops – CAMS o  Culture, automation, measurement, sharing o  Pipeline Modelling (value stream) o  Visualization o  Orchestration o  Traceability and auditability o  Access control
  • 11. o  Complex projects and applications consisting of many components delivered by multiple teams o  Complex dependency trees, fan-in o  Polyglot applications, persistence o  Diverse, heterogeneous deployment landscape o  Environments : Physical, virtual, cloud o  Multi-site deployment e.g. CDNs o  Caches, laod balancers, search indexes, analytics data store o  Scheduled deployments o  Integration with Release Management o  E.g. how to gate a pipeline via change tickets? o  Need for end-to-end audit trail Continuous Delivery in the Enterprise
  • 12. o  Deliverable: 2 EAR files with 2 WAR files each o  One of the WAR files built by a different team o  Also database changes, configuration files and server configuration settings o  Datasources, queues etc. o  Target environments o  Functional Test: Single server with in-memory DB o  Integration Test: 2-server clustered with external DB o  Performance Test: load-balanced 4-server cluster with external DB o  Release Management requirement: deployment to Performance Test environment requires change ticket o  Trigger: any code commit or update of the “external” WAR project A Java EE Example
  • 13. STEPS 1.  Compile all changed WAR projects, take latest artifact for others 2.  Compile EAR projects 3.  Run unit tests 4.  Run code quality build 5.  Create deployment package (including SQL changes, configuration files etc.) 6.  Deploy to Functional Test env 7.  Run functional tests 8.  Deploy to Integration Test env 9.  Run integration tests 10.  Verify change ticket available for performance tests 11.  Deploy to Performance Test env 12.  Run performance tests, 13.  Update change ticket 14.  Notify business owner that build is “ready for prod” A Java EE Example
  • 14. Build WAR1 Build WAR2 Build WAR3 Retrieve WAR4 Build EAR1 Build EAR2 Code quality build1 Code quality build2 Package Deploy to FT env with script Run functional tests Deploy to IT env with script Run integration tests Manually verify ticket Deploy to PT env with script Run perf tests Manually update ticket Send notification A Vanilla Pipeline
  • 15. o  “Straight” translation of the release plan o  All steps happen serially o  Even though not all steps depend on the previous one o  Manual activities remain o  Will become a bottleneck over time o  Scripting, scripting, scripting o  E.g. packaging of the deliverable, deployment scripts to the different environments, some testing o  No clear visualization of component relationships and dependencies o  No clear insight into which code and features make up which components A Vanilla Pipeline
  • 16. Build comp1 Build comp2 Build comp3 Retrieve comp4 Common frmwk1 Common frmwk 2 Pkg svc1 Pkg app1 Deploy to FT with Deployit Run functional tests Deploy to IT with Deployit Run integration tests Run perf tests Send notification Pkg svc2 Enterprise CD Deploy to PT with Deployit Verifies and updates change ticket
  • 17. o  Optimized pipeline taking into account component dependencies o  From 18 to 8 stages: 125% speedup! o  No more manual tasks o  Release management integration handled by ARA tool o  Provides end-to-end audit trail o  Minimized scripting o  Packaging and deployment handled by ARA tool o  Clear visualization of component relationships and dependencies o  Clear insight into which code and features make up which components Enterprise CD
  • 21. Enterprise Pipeline: Permit, Trace and Audit o  Manual, API or timer trigger o  Re-trigger older revision with different configuration o  Pipeline execution history o  Visualize o  Compare o  Granular Email notifications o  Role based access o  View o  Operate o  Admin o  Audit, access control o  Pausing a Pipeline o  Cancel a stage/job run o  Config change
  • 22. Enterprise Pipeline: Build Orchestration
  • 24. Enterprise Deployments: No More Scripting
  • 29. o  Intro to Continuous Delivery o  Releasable software throughout its lifecycle! o  Fast, automated feedback on production readiness o  On-demand releases o  Enterprise Challenges o  Complex project and technical landscape o  Complex dependency and component graphs o  Control (Release Management) and auditing requirements o  Introduction to Go o  Agnostic, auditable orchestration o  Value stream mapping o  Introduction to Deployit o  Enterprise deployment automation o  On-demand environments Recap
  • 30. o  Dzone Refcard: “Continuous Delivery Patterns” refcardz.dzone.com/refcardz/continuous-delivery-patterns o  Dzone Refcard: "Preparing for Continuous Delivery” refcardz.dzone.com/refcardz/preparing-continuous-delivery o  Application Release Trends 2013 Survey go.xebialabs.com/Survey2013.htm o  Get Ideas with Go www.thoughtworks.com/go o  Continuous Delivery Resources from ThoughtWorks www.thoughtworks.com/insights/continuous-delivery More Info
  • 31. Thank You! CONTACT DETAILS o  Sriram Narayan sriram.narayan at thoughtworks dot com o  Andrew Phillips: aphillips at xebialabs dot com GET STARTED o  Try Go: www.thoughtworks.com/go o  Try Deployit: www.xebialabs.com/trial XEBIALABS www.xebialabs.com/products blog.xebialabs.com @xebialabs youtube.com/xebialabs THOUGHTWORKS www.thoughtworks.com/products @thoughtworks youtube.com/user/ ThoughtworksStudios