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.
Implementing Continuous Deployment   seamless application deliveries with a DevOps mindsetxebialabs.com                   ...
Introduction  •   Vincent Partington, CTO XebiaLabs.  •   Deployit, Deployment Automation solution.  •   On Java EE platfo...
Agenda  •   Application deployment challenges.  •   Definition of continuous deployment.  •   Prerequisites for continuous ...
Application deployment challengesxebialabs.com
Application deployment challenges  • More frequent application releases because of:   • Increasing business demands   • Ag...
What is application deployment?  •   Deployment is about making an application available to end users:      •   Applicatio...
Current deployment practices  •   Two manual processes:      •   Hand-over from development to operations.      •   Manual...
Current IT landscape                                                                      Change          Configuration   ...
Deployment automation features  •   Standard format for delivery by development.  •   Integration with developer tools.  •...
DevOps  •   Movement started out of disappointment with the current state of      affairs in IT: fear of change, risky dep...
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 t...
Shortcomings of most CI setups  •   Deployment to the target platform is often not part of the CI cycle.  •   That means: ...
So what is continuous deployment?  •   Strictest definition:      •   Every (tagged) version goes straight into production....
Prerequisites for                Continuous Deploymentxebialabs.com
Standard delivery format                Deployment Package                 Manifest                      Artifacts (Java E...
Environments                Environment                 Appserver     Message       ...                                Bro...
Application deployments           Application    Environment           Application    Environment           Application   ...
Deployment customization  •   At deployment time, not at build time!  •   In artifacts and in configurations.  •   Property...
Deployment customization                                  - SERVICE.URL = http://app-test.mycompany.com          EAR      ...
Demoxebialabs.com
Setup                  IDE                        CI system                            Deployit                           ...
Advantages  • Application is automatically tested on target platform after every        modification.        •   Developers...
More info •   Visit our website at http://www.xebialabs.com •   Follow us on Twitter: @XebiaLabs •   Follow me on Twitter:...
Upcoming SlideShare
Loading in …5
×

20110507 Implementing Continuous Deployment

1,364 views

Published on

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

http://www.bcs-cmsg.org.uk/conference2011/conference.html

  • Be the first to like this

20110507 Implementing Continuous Deployment

  1. 1. Implementing Continuous Deployment seamless application deliveries with a DevOps mindsetxebialabs.com 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 others.xebialabs.com
  3. 3. Agenda • Application deployment challenges. • Definition of continuous deployment. • Prerequisites for continuous deployment. • So how does it work?xebialabs.com
  4. 4. Application deployment challengesxebialabs.com
  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. xebialabs.com
  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 developer.xebialabs.com
  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!xebialabs.com
  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 automatedxebialabs.com
  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 state.xebialabs.com
  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”).xebialabs.com
  11. 11. So what is Continuous Deployment?xebialabs.com
  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).xebialabs.com
  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 platform.xebialabs.com
  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 artifact.xebialabs.com
  15. 15. Prerequisites for Continuous Deploymentxebialabs.com
  16. 16. Standard delivery format Deployment Package Manifest Artifacts (Java EE, HTML, etc.) Configuration files Middleware resources Post-deployment tests Dependenciesxebialabs.com
  17. 17. Environments Environment Appserver Message ... Broker Database Auth. Proxy HTTP Server Hostxebialabs.com
  18. 18. Application deployments Application Environment Application Environment Application Environmentxebialabs.com
  19. 19. 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
  20. 20. 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
  21. 21. Demoxebialabs.com
  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 serverxebialabs.com
  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. xebialabs.com
  24. 24. More info • Visit our website at http://www.xebialabs.com • Follow us on Twitter: @XebiaLabs • Follow me on Twitter: @vpartingtonxebialabs.com

×