continuous delivery presentation

22
Mauricio Ferreyra 09/18/2013 Implementing Continuous Delivery

Upload: mauricio-ferreyra

Post on 09-Feb-2017

50 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Continuous Delivery Presentation

Mauricio Ferreyra09/18/2013

ImplementingContinuous Delivery

Page 2: Continuous Delivery Presentation

Topics

▪ What is continuous delivery?▪ The deployment pipeline▪ Continuous integration / deploy / delivery▪ The current process▪ Why continuous delivery▪ How do we achieve continuous delivery?▪ First steps▪ Continuous upgrade▪ Essential Practices▪ Next steps▪ Conclusion▪ Questions & Answers

2

Footer 1

Page 3: Continuous Delivery Presentation

What Is Continuous Delivery?3

Footer 1

• A set of practices to have software always ready to be deployed to Production.

• Goal: Provide feedback about parts of development process together

• coding, build, testing, deployment, data management, environment management and release management.

Page 4: Continuous Delivery Presentation

The deployment Pipeline4

Footer 1

• The deployment pipeline is an representation of the implementation of your build-deploy-test-release process.

• Must be automated

Page 5: Continuous Delivery Presentation

Continuous Integration / Deploy / Delivery5

Footer 1

Continuous Integration

Continuous Delivery

Continuous Deployment

▪ Continuous integration is about code.▪ Continuous deployment is about components▪ Continuous delivery is about the bussines

Page 6: Continuous Delivery Presentation

The current process6

Footer 1

CodingUnit testBuild installers

User Acceptance test cases

DeploymentInstallation

• Continuos integration cover the commit stage.

• What about other stages?• We are deploying manually• Lots of manual configurations• We are running the automated test cases manually• We are deploying to a production like environment only when

development is complete

? ? ?

Page 7: Continuous Delivery Presentation

Why Continuous Delivery?

▪ We need increase the confidence all the time in the product.

▪ Development time is uncertain time.▪ We need feedback all the time.▪ We need reduce the release risks▪ We need reduce the stress ▪ We need reduce the deployment complexity▪ Emergency fixes▪ The release time must be a business decision, not technical

decision.

7

Footer 1

Page 8: Continuous Delivery Presentation

How Do We Achieve Continuos Delivery?

▪ Incrementally and collaboration ▪ Fixing the automation problems▪ Fixing the installation problems▪ Fixing the upgrading problems▪ Finding out where the bottleneck is, and fix that.

8

Footer 1

Page 9: Continuous Delivery Presentation

First steps in Continuous delivery

▪ http://172.16.8.149:8080/view/Continuous_Deployment/

9

Footer 1

Page 10: Continuous Delivery Presentation

10

Footer 1

Demo

Continuous Delivery

Page 11: Continuous Delivery Presentation

Continuous upgrade

▪ We need change our upgrade process from manual to automated

▪ We need include it in the deployment pipeline

11

Footer 1

Page 12: Continuous Delivery Presentation

▪ Upgrade contains:- Binaries files: jar, ear, war, .sh- SQL’s scripts- Configurations

• New files• Update entries

▪ We are performing the upgrades through a plain text file.

12

Footer 1

Continuous Upgrade (CU): What We are doing?

Page 13: Continuous Delivery Presentation

CU: What We need start to do?

▪ Remove the upgrade plain text from all modules▪ Create an automated process to perform all task

automatically

13

Footer 1

Page 14: Continuous Delivery Presentation

▪ Patch installer supports all the task to install, upgrade and extend the product.

▪ Capacity to install from a required version▪ Task

- Deploy- Copy- Copy-plugin- Upload-config- Sql- runScript- Mkdir

14

Footer 1

CU: The Patch Installer Tool

Page 15: Continuous Delivery Presentation

15

Footer 1

CU: Demo

The Patch Installer Tool

Page 16: Continuous Delivery Presentation

▪ Automated (almost) everything▪ Version Configuration▪ One Build, one deploy▪ Database changes is backward and forward compatible

with the applications▪ Same deploy on every environment▪ Features incrementally▪ Toggles feature

16

Footer 1

Essential Practices

Page 17: Continuous Delivery Presentation

Essential Practices (cont.)

▪ Every build should be a release candidate▪ Fail Fast and often▪ Parallel Tests▪ Test on Production like environment▪ Zero downtime deployments

17

Footer 1

Page 18: Continuous Delivery Presentation

Next steps

▪ RQM integration- The Sanity Suite, the full regression and all the user acceptance test

will be manage from RQM by the Release Management Team.▪ Customer Pipelines

- The continuous delivery add value to the product- We need implement a complete pipeline for each customer

▪ Implement Performance and Capacity- Deploy periodically on our HA environment automatically- Run the Performance and Capacity

▪ Metrics- We need measure the effectiveness of CD

18

Footer 1

Page 19: Continuous Delivery Presentation

Next Steps ( Cont. )

▪ Metrics- Feedback should be the heart of the continuous delivery process.- Number of commits to the version control system per day- Number of builds succesfull- Number of build failures per day- Duration of build, including automated tests- Scalability of the testing- Measure the stability of the environments

19

Footer 1

Page 20: Continuous Delivery Presentation

▪ The purpose of continuous delivery involved everyone in delivering of the product.

▪ Don’t Repeat Yourself: automated everything.▪ The same deploy on all environments▪ Done means released▪ No human intervention during the deployment.▪ Provide Fast and Useful Feedback▪ Keep Merchandiser Releasable All The Time▪ Make All Changes Incrementally

20

Footer 1

Conclusion

Page 21: Continuous Delivery Presentation

Questions & Answers21

Footer 1

Questions?

Page 22: Continuous Delivery Presentation

References

▪ Continuous delivery book▪ Lean Software Development book▪ www.continuousdelivery.com

22

Footer 1