Successfully reported this slideshow.

Continuous integration, delivery and deployment

2

Share

Upcoming SlideShare
Vcs overview
Vcs overview
Loading in …3
×
1 of 33
1 of 33

More Related Content

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Continuous integration, delivery and deployment

  1. 1. Continuous Integration, Delivery and Deployment
  2. 2. Mār$ņš  Ķemme   IT  professional  with  a  focus  on   process  management  and   configura$on  management.     h>p://mar$nskemme.wordpress.com/   @mar$nskemme   Mar$ns.Kemme@ebit.lv  
  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. Staged Agile
  6. 6. Number of continuous activities done 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 as deployment 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 that stresses communication, collaboration and integration between software developers and information technology(IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software 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 Automate Communication Business value
  29. 29. Mār$ņš  Ķemme   SIA  eBIT   Mar$ns.Kemme@ebit.lv      

×