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.

Continuous integration, delivery and deployment

Presentation in Agile Tour Riga 2012

  • Login to see the comments

Continuous integration, delivery and deployment

  1. 1. ContinuousIntegration,Delivery andDeployment
  2. 2. Mār$ņš  Ķemme  IT  professional  with  a  focus  on  process  management  and  configura$on  management.     h>p://mar$   @mar$nskemme   Mar$  
  3. 3. •  Configuration management•  Builds•  Delivery and deployment•  Continuous integration•  Continuous delivery•  DevOps•  What does it take to build and maintain a quality product?
  4. 4. can build“You can’t test quality into a product”.
  5. 5. StagedAgile
  6. 6. Number of continuous activitiesdone throughout the project and after project go-live.
  7. 7. Continuous Integration•  Build product –  It still builds after my last commit, right?•  Run tests –  Run all tests, all environments –  Run experimental merges and test them•  Run code quality tools –  Style checks –  Security checks –  Test coverage
  8. 8. Managerial Aspects of CI•  Ensuring that quality is high enough to be ready to release product at any time•  See build history –  General info about product stability•  Having CI set-up is like a warranty that automation is on a reasonably high level
  9. 9. More on CI•  Tools: no big difference•  A handy tool to help to deploy…
  10. 10. Deployment frequency as well asdeployment complexity urges for automation
  11. 11. Continuous Deployment Ability to deploy fast and without errors•  Prerequisites –  Build automation –  Infrastructure provisioning automation –  Deployment automation –  Rollback automation –  Data migration
  12. 12. Build Automation•  Building executable•  Signing code•  Generating documentation (PDF, HTML)•  Packaging (zip, war)
  13. 13. Infrastructure As Code•  Server and network configuration is described via code/configuration•  Server configuration shares other characteristics of code as well, e.g. it is stored in source control.•  Perform as many infrastructure tasks as possible programmatically, including –  Monitor the situation –  Get history –  Set up –  Allocate resources to applications
  14. 14. Continuous Deployment key goal and benefit:reduced risk
  15. 15. Reduced Risk•  Smaller deployments (small package)•  Incremental•  Automated –  Easy deployment (low cost) –  Easy rollback (low risk)•  Decouple your deployments from the act of taking a feature live
  16. 16. Continuous Deployment•  CD is an approach of delivering software that reduces the cost, time and risk of delivering incremental changes to users•  Business benefit: increased throughput
  17. 17. CD Focus Areas•  Software releasability (over new features)•  Feedback on the production readiness•  Capability to deploy easily and automatically
  18. 18. CD Enablers Quick deployments should be made possible•  Architecture is important –  should not be monolithic (must be modular) –  API boundaries, OLAs between modules•  Unfinished features –  Feature toggles
  19. 19. Continuous Integration and Continuous Deployments lead us to the DevOps
  20. 20. DevOps is a software development method thatstresses communication, collaboration andintegration between software developers andinformation technology(IT) professionals.DevOps is a response to the interdependence ofsoftware development and IT operations. Itaims to help an organization rapidly producesoftware products and services.-Wikipedia
  21. 21. DevOps    Technology  Opera$ons   -Wikipedia
  22. 22. Information availability is the key Reduce delays Improve responsiveness
  23. 23. Mutual Learning•  Developers learn monitoring, inventory, backups, audits, acknowledge need for stability•  Operations learn version control, automated testing
  24. 24. Case Study
  25. 25. Really?  
  26. 26. •  Benefit of monitoring for product development –  How much time people stay on a particular page? –  What features people use?•  Continuous integration is used continuously•  Continuous deployments
  27. 27. Lessons Learned From the Case•  Monitoring shall target both technical aspects and application (business-domain) metrics•  Some measurements are immediately actionable, some not•  Information instantly available to anyone•  Deployments must be quick and transparent
  28. 28. Takeaway AutomateCommunicationBusiness value
  29. 29. Mār$ņš  Ķemme  SIA  eBIT  Mar$