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 http://www.baystreetblog.com/wp-content/uploads/2016/01/7206414716_775221df73_o.jpg
Regulations & compliance @boyanio
No errors allowed @boyanio
Long release cycles @boyanio
Finding the right piece could be a challenge @boyanio http://gatm.org.uk/wp-content/uploads/2016/11/The-Best-Puzzles-for-Toddlers-Big-Kids-and-Adults-1024x1024.jpg
How does one create a deployment pipeline from the scratch? @boyanio
Goal: delivering value to our members on a frequent basis @boyanio
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
Trunk-based development PR PR feature-a feature-b master 1.1.0 1.1.1 2.0.0 @boyanio
Long-lived branches disguise the big picture @boyanio http://www.bbc.co.uk/london/travel/downloads/tube_map.gif
Building trust Manual tests GUI Manual tests tests vs. Integration tests Automated tests Unit tests @boyanio
Steps to perform: 1. Go to the homepage 2. Log in as a member with test NemID 3. Go to the retirement page 4. Go through the online retirement process 5. Sign with test NemID 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
@boyanio
Continuous Integration Feedback </> Code Unit Push Build analysis tests Run VCS Watch @boyanio
Continuous Integration Feedback </> Code Unit Push Build Package analysis tests Run VCS Watch @boyanio
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
Building a development team means building a development culture @boyanio
@boyanio
Manual deployment considered 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
@boyanio
Automated deployment to any environment Fetch Install Verify Provide package package installation feedback @boyanio
Identical environment set-up @boyanio
Build once, deploy everywhere @boyanio
Octopus Deploy @boyanio
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/
Production deployment Automated Unit Deploy to Test Build integration & tests (by press of a button) GUI tests Manual Post- Deploy to acceptance deployment Production tests tests (by press of a button) @boyanio
How often shall we deploy to Production? @boyanio
The fear of deployment @boyanio https://pbs.twimg.com/media/DMuLK82V4AAd1Po.jpg
When you fear something, you should do it often enough. Then it becomes trivial. @boyanio
Days between deploying to Production 50 40 30 20 10 0 @boyanio
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
Feature toggles let you deploy often without releasing immediately OFF ON @boyanio
Zero downtime deployment using blue-green deployment approach Version 1.1.0 Load balancer Version 1.0.0 @boyanio
Continuous Delivery Deploy to Unit Deploy Acceptance Build Production tests to Staging tests (by press of a button) Continuous Deployment Unit Deploy Acceptance Deploy to Build tests to Staging tests Production @boyanio
Continuous Deployment? @boyanio
How robust is the deployment pipeline? @boyanio
The deployment pipeline supports the established agile practices and desired goals @boyanio https://hundred5.com
Robust deployment pipeline is about confidence in your value delivery @boyanio
Deployment pipeline needs constant reevaluation and adjustment to increase your confidence in the value delivery Boyan Mihaylov @boyanio https://boyan.io
Recommend
More recommend