20110507 Implementing Continuous Deployment

20110507 Implementing Continuous Deployment



Presentation on Continuous Deployment with Deployit that Vincent Partington gave at the BCS CMSG conference in London on June the 7th 2011. ...

Presentation on Continuous Deployment with Deployit that Vincent Partington gave at the BCS CMSG conference in London on June the 7th 2011.




Total Views
Views on SlideShare
Embed Views



1 Embed 3

http://cachet.betawebsite9.co.uk 3



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Always learn something when listening to Vincent! Nice job!
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

20110507 Implementing Continuous Deployment 20110507 Implementing Continuous Deployment Presentation Transcript

  • Implementing Continuous Deployment seamless application deliveries with a DevOps mindsetxebialabs.com Vincent Partington CTO & Co-founder XebiaLabs
  • Introduction • Vincent Partington, CTO XebiaLabs. • Deployit, Deployment Automation solution. • On Java EE platforms and related platforms. • IBM WebSphere, Oracle WebLogic, JBoss, Tomcat, and others.xebialabs.com
  • Agenda • Application deployment challenges. • Definition of continuous deployment. • Prerequisites for continuous deployment. • So how does it work?xebialabs.com
  • Application deployment challengesxebialabs.com
  • Application deployment challenges • More frequent application releases because of: • Increasing business demands • Agile development methods • More and more environments because of: • More middleware technology added • Cloud infrastructure • This means more and more deployments. xebialabs.com
  • What is application deployment? • Deployment is about making an application available to end users: • Application delivered by development team. • Application installed by operations team. • Or: Stop servers, install artifacts, configure resources, start servers, etc. • Or: Read The Fine (60 page) Manual. • Or: Ask the developer.xebialabs.com
  • Current deployment practices • Two manual processes: • Hand-over from development to operations. • Manual deployment procedures followed by developers and/or operations. • The first is time-consuming, the second is error-prone. • Typical IT answer: Automation!xebialabs.com
  • Current IT landscape Change Configuration Management Management Continuous Build Bamboo, Hudson… IDEs SCM RAD, ClearCase, Release Management Scripts Eclipse… SVN... Interactive Build Maven, Ant… Monitoring HP Tivoli,… Largely Largely automated automatedxebialabs.com
  • Deployment automation features • Standard format for delivery by development. • Integration with developer tools. • Integration with target middleware. • Integration with operations tools. • Role-based security. • Reporting on history and current state.xebialabs.com
  • DevOps • Movement started out of disappointment with the current state of affairs in IT: fear of change, risky deployments, “works on my machine” attitude, silo’s. • About applying agile principles to IT operations: • Multidisciplinary teams: dev and ops together. • Focus on end-result, working in increments. • Automation where possible (Forrester: “NoOps”).xebialabs.com
  • So what is Continuous Deployment?xebialabs.com
  • Continuous integration • Emerged at the end of the ‘90s as one of the XP practices. • By continuously building and testing software quality should improve. • Tests are often limited to unit tests (e.g. JUnit). • Sometimes functional tests are included too (e.g. Selenium).xebialabs.com
  • Shortcomings of most CI setups • Deployment to the target platform is often not part of the CI cycle. • That means: deployment procedures are not tested. • And that means: application is not tested on target platform.xebialabs.com
  • So what is continuous deployment? • Strictest definition: • Every (tagged) version goes straight into production. • Used by LinkedIn amongst others. • Less strict: • Include deployment automation the CI cycle to test the deployed artifact.xebialabs.com
  • Prerequisites for Continuous Deploymentxebialabs.com
  • Standard delivery format Deployment Package Manifest Artifacts (Java EE, HTML, etc.) Configuration files Middleware resources Post-deployment tests Dependenciesxebialabs.com
  • Environments Environment Appserver Message ... Broker Database Auth. Proxy HTTP Server Hostxebialabs.com
  • Application deployments Application Environment Application Environment Application Environmentxebialabs.com
  • Deployment customization • At deployment time, not at build time! • In artifacts and in configurations. • Property replacement for configurations. • Placeholder replacement for artifact contents.xebialabs.com
  • Deployment customization - SERVICE.URL = http://app-test.mycompany.com EAR Ear to AppServ er Application server r to Appserve Datasource Datasource - username = u_app_test_env - jndi = jdbc/myAppDS - password = ********xebialabs.com
  • Demoxebialabs.com
  • Setup IDE CI system Deployit De nt loy e & Ch me ge plo Bui ep g an an r d cka ya ld ge ch pp ge pa cod ct co lic te trigPush de e ati De on Version Build Application control system serverxebialabs.com
  • Advantages • Application is automatically tested on target platform after every modification. • Developers can no longer ignore deployment. • Increase of quality. • Same deployment automation can be used to deploy to acceptance and production environments. • Less hand-over moments. • Increate of speed, and quality. xebialabs.com
  • More info • Visit our website at http://www.xebialabs.com • Follow us on Twitter: @XebiaLabs • Follow me on Twitter: @vpartingtonxebialabs.com