Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20110507 Implementing Continuous Deployment


Published on

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

  • Be the first to like this

20110507 Implementing Continuous Deployment

  1. 1. Implementing Continuous Deployment seamless application deliveries with a DevOps Vincent Partington CTO & Co-founder XebiaLabs
  2. 2. Introduction • Vincent Partington, CTO XebiaLabs. • Deployit, Deployment Automation solution. • On Java EE platforms and related platforms. • IBM WebSphere, Oracle WebLogic, JBoss, Tomcat, and
  3. 3. Agenda • Application deployment challenges. • Definition of continuous deployment. • Prerequisites for continuous deployment. • So how does it work?
  4. 4. Application deployment
  5. 5. 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.
  6. 6. 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
  7. 7. 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!
  8. 8. 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
  9. 9. 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
  10. 10. 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”)
  11. 11. So what is Continuous Deployment?
  12. 12. 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)
  13. 13. 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
  14. 14. 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
  15. 15. Prerequisites for Continuous
  16. 16. Standard delivery format Deployment Package Manifest Artifacts (Java EE, HTML, etc.) Configuration files Middleware resources Post-deployment tests
  17. 17. Environments Environment Appserver Message ... Broker Database Auth. Proxy HTTP Server
  18. 18. Application deployments Application Environment Application Environment Application
  19. 19. Deployment customization • At deployment time, not at build time! • In artifacts and in configurations. • Property replacement for configurations. • Placeholder replacement for artifact
  20. 20. Deployment customization - SERVICE.URL = EAR Ear to AppServ er Application server r to Appserve Datasource Datasource - username = u_app_test_env - jndi = jdbc/myAppDS - password = ********
  21. 21.
  22. 22. 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
  23. 23. 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.
  24. 24. More info • Visit our website at • Follow us on Twitter: @XebiaLabs • Follow me on Twitter: