crafting a robust deployment
play

Crafting a robust deployment pipeline in finance Boyan Mihaylov - PowerPoint PPT Presentation

Crafting a robust deployment pipeline in finance Boyan Mihaylov Software architect and developer @boyanio https://boyan.io Establish in-house development at a pension fund @boyanio How does it feel inside a financial institution? @boyanio


  1. Crafting a robust deployment pipeline in finance Boyan Mihaylov Software architect and developer @boyanio https://boyan.io

  2. Establish in-house development at a pension fund @boyanio

  3. How does it feel inside a financial institution? @boyanio http://www.baystreetblog.com/wp-content/uploads/2016/01/7206414716_775221df73_o.jpg

  4. Regulations & compliance @boyanio

  5. No errors allowed @boyanio

  6. Long decision-making process @boyanio

  7. @boyanio https://blog.weekdone.com/team-goal-setting-questions-to-ask/

  8. Goal: delivering value to our members on a frequent basis @boyanio

  9. How does one create a development process from the scratch? @boyanio

  10. Start simple, stay simple as long as possible @boyanio https://www.ca.com/en/blog-highlight/wp-content/blogs.dir/2/files/sites/6/2016/10/GettyImages-598070812-legos.jpg

  11. Trunk-based development PR PR feature-a feature-b master 1.1.0 1.1.1 2.0.0 @boyanio

  12. Long-lived branches disguise the big picture @boyanio http://www.bbc.co.uk/london/travel/downloads/tube_map.gif

  13. “Continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day ” Wikipedia @boyanio https://en.wikipedia.org/wiki/Continuous_integration

  14. Continuous Integration Feedback </> Code Unit Push Build analysis tests Run VCS Watch @boyanio

  15. Always deployable https://cdn.vox-cdn.com/thumbor/FvSVfmTI5xV8JN74IAkp_R2dmtk=/0x0:2000x1333/1200x800/filters:focal(0x0:2000x1333)/cdn.vox- @boyanio cdn.com/uploads/chorus_image/image/49709579/Blue_Origin_New_Shepard_launch.0.0.jpg

  16. Continuous Integration Feedback </> Code Unit Push Build Package analysis tests Run VCS Watch @boyanio

  17. Fact 1. Continuous integration does not guarantee you built the right thing @boyanio

  18. We want X Let’s build Y @boyanio https://www.quora.com/How-do-I-develop-an-Agile-methodology-mindset-while-implementing-a-project

  19. Fact 2. Continuous integration does not guarantee you built the thing right @boyanio

  20. public class BasketTests { [Fact] public void ThrowsWhenNullIsPassedToAdd() { var basket = new Basket(); Assert.Throws<ArgumentNullException>( () => basket.Add(null)); } } @boyanio

  21. @boyanio

  22. Creating a development process means creating a development culture @boyanio

  23. Building trust @boyanio https://hackernoon.com/the-worlds-trust-issues-and-the-value-of-crypto-976bc1b2080

  24. Manual tests Manual tests GUI tests vs. Integration Automated tests tests Unit tests @boyanio

  25. Steps to perform: 1. Go to the homepage 2. Log in as a member 3. Go to the retirement page 4. Go through the online retirement process 5. Sign your choices Confirm: - you got a confirmation e-mail - there is a summary document in the archive - there is a update request in the core system @boyanio

  26. Using Gherkin syntax Feature: Retirement Scenario: Complete retirement procedure Given I am a member of the pension fund And I am 67 years old When I log in on the web portal And I navigate to the retirement self-service And I fill in my details And I sign my choices Then I should get a confirmation e-mail And I should see a copy of my choices in my archive And I should see my monthly pension payouts @boyanio

  27. @boyanio

  28. pro•duc•tion [pruh-duhk-shuhn] (n) 1. This complex system of application code, distributed services, servers, networking gear, etc., upon which we are going to try to carefully apply a complicated set of changes and hope that nothing goes wrong. Cross your finders…here goes. @boyanio https://www.slideshare.net/mikebrittain/principles-and-practices-in-continuous-deployment-at-etsy/

  29. @boyanio

  30. Manual deployment is dangerous https://d2v9y0dukr6mq2.cloudfront.net/video/thumbnail/S8v_HKLYirmlowrd/videoblocks-builder-welds-parts-outdoors-installation-and-production-in-slow-motion-in-afternoon- @boyanio man-work-in-gloves-protective-clothing-in-the-pit-dangerous-manual-labor-outside-merge-structure-of-details_sufbahncl_thumbnail-full08.png

  31. Automated deployment to any environment Fetch Install Verify Provide package package installation feedback @boyanio

  32. Identical environment set-up @boyanio

  33. Build once, deploy everywhere @boyanio

  34. Octopus Deploy @boyanio

  35. Production deployment process • Deploy to a fictive-data test environment • Run automated UI tests • Promote to an acceptance test environment • Perform manual tests • Create RFC • Promote to production @boyanio

  36. How often shall we deploy to production? @boyanio

  37. The fear of deployment @boyanio https://pbs.twimg.com/media/DMuLK82V4AAd1Po.jpg

  38. When you fear something, you should do it often enough. Then it becomes trivial. @boyanio

  39. Days between deploying to Production 50 40 30 20 10 0 @boyanio

  40. Release Deploy The act of making single or The act of installing and multiple features available to a configuring a software wider audience package onto a target system @boyanio

  41. Feature toggles let you deploy often without releasing immediately OFF ON @boyanio

  42. Zero downtime deployment using blue-green deployment approach Version 1.1.0 Load balancer Version 1.0.0 @boyanio

  43. @boyanio https://flexagon.com/solutions/continuous-delivery/

  44. Q: Shall we move to Continuous Deployment? A: We can, but we don’t have to @boyanio

  45. How robust is the deployment pipeline? @boyanio

  46. The deployment pipeline supports the established agile practices and desired goals @boyanio https://hundred5.com

  47. Keep things simple Keep things identical Build trust in your delivery Automate the repeatable Don’t hype, make it work for you @boyanio

  48. Robust deployment pipeline is about confidence in your value delivery Boyan Mihaylov @boyanio https://boyan.io

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend