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
1. Implementing Continuous Deployment
seamless application deliveries with a DevOps mindset
xebialabs.com
Vincent Partington
CTO & Co-founder XebiaLabs
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. Agenda
• Application deployment challenges.
• Definition of continuous deployment.
• Prerequisites for continuous deployment.
• So how does it work?
xebialabs.com
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. 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. 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
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. 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. So what is
Continuous Deployment?
xebialabs.com
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. 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. 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
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. 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
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 server
xebialabs.com
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. More info
• Visit our website at http://www.xebialabs.com
• Follow us on Twitter: @XebiaLabs
• Follow me on Twitter: @vpartington
xebialabs.com