pipeline in finance Boyan Mihaylov Software architect and developer - - PowerPoint PPT Presentation

pipeline in finance
SMART_READER_LITE
LIVE PREVIEW

pipeline in finance Boyan Mihaylov Software architect and developer - - 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


slide-1
SLIDE 1

Crafting a robust deployment pipeline in finance

Boyan Mihaylov

Software architect and developer @boyanio https://boyan.io

slide-2
SLIDE 2

Establish in-house development at a pension fund

@boyanio

slide-3
SLIDE 3

How does it feel inside a financial institution?

@boyanio

http://www.baystreetblog.com/wp-content/uploads/2016/01/7206414716_775221df73_o.jpg

slide-4
SLIDE 4

Regulations & compliance

@boyanio

slide-5
SLIDE 5

No errors allowed

@boyanio

slide-6
SLIDE 6

Long release cycles

@boyanio

slide-7
SLIDE 7

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

slide-8
SLIDE 8

How does one create a deployment pipeline from the scratch?

@boyanio

slide-9
SLIDE 9

Goal: delivering value to our members on a frequent basis

@boyanio

slide-10
SLIDE 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

slide-11
SLIDE 11

feature-b feature-a

Trunk-based development

@boyanio

master 1.1.0 2.0.0 1.1.1 PR PR

slide-12
SLIDE 12

Long-lived branches disguise the big picture

@boyanio

http://www.bbc.co.uk/london/travel/downloads/tube_map.gif

slide-13
SLIDE 13

Building trust

@boyanio

Manual tests Unit tests Integration tests GUI tests vs. Automated tests Manual tests

slide-14
SLIDE 14

@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
slide-15
SLIDE 15

@boyanio

slide-16
SLIDE 16

Continuous Integration

@boyanio

VCS

</> Feedback Push Watch Run Build Code analysis Unit tests

slide-17
SLIDE 17

Continuous Integration

@boyanio

VCS

</> Feedback Push Watch Run Build Code analysis Unit tests Package

slide-18
SLIDE 18

Always deployable

@boyanio

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

slide-19
SLIDE 19

Building a development team means building a development culture

@boyanio

slide-20
SLIDE 20

@boyanio

slide-21
SLIDE 21

Manual deployment considered dangerous

@boyanio

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

slide-22
SLIDE 22

@boyanio

slide-23
SLIDE 23

Automated deployment to any environment

@boyanio

Fetch package Install package Verify installation Provide feedback

slide-24
SLIDE 24

Identical environment set-up

@boyanio

slide-25
SLIDE 25

Build once, deploy everywhere

@boyanio

slide-26
SLIDE 26

Octopus Deploy

@boyanio

slide-27
SLIDE 27

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/

slide-28
SLIDE 28

Production deployment

@boyanio

Build Unit tests Automated integration & GUI tests Manual acceptance tests Post- deployment tests Deploy to Test

(by press of a button)

Deploy to Production

(by press of a button)

slide-29
SLIDE 29

How often shall we deploy to Production?

@boyanio

slide-30
SLIDE 30

The fear of deployment

@boyanio

https://pbs.twimg.com/media/DMuLK82V4AAd1Po.jpg

slide-31
SLIDE 31

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

@boyanio

slide-32
SLIDE 32

Days between deploying to Production

@boyanio

10 20 30 40 50

slide-33
SLIDE 33

Release

@boyanio

The act of making single or multiple features available to a wider audience The act of installing and configuring a software package onto a target system

Deploy

slide-34
SLIDE 34

Feature toggles

let you deploy often without releasing immediately

@boyanio

OFF ON

slide-35
SLIDE 35

Zero downtime deployment

using blue-green deployment approach

@boyanio

Version 1.1.0 Version 1.0.0 Load balancer

slide-36
SLIDE 36

@boyanio

Continuous Delivery Continuous Deployment

Build Unit tests Acceptance tests Deploy to Staging Deploy to Production Build Unit tests Acceptance tests Deploy to Staging Deploy to Production

(by press of a button)

slide-37
SLIDE 37

Continuous Deployment?

@boyanio

slide-38
SLIDE 38

How robust is the deployment pipeline?

@boyanio

slide-39
SLIDE 39

The deployment pipeline supports the established agile practices and desired goals

@boyanio

https://hundred5.com

slide-40
SLIDE 40

Robust deployment pipeline is about confidence in your value delivery

@boyanio

slide-41
SLIDE 41

Deployment pipeline needs constant reevaluation and adjustment to increase your confidence in the value delivery

Boyan Mihaylov

@boyanio https://boyan.io