Slide 1

Slide 1 text

Continuous Delivery! ! Isa Goksu! Head of Enterprise Architecture,! Istanbul Stock Exchange

Slide 2

Slide 2 text

Agenda • Level Set! • Very rough outline of IMKB delivery mechanism! • Who cares?! • What is Continuous Delivery! • What is Continuous Delivery Pipeline!

Slide 3

Slide 3 text

Level Set • Some terminology! • SDLC! • Waterfall vs Agile! • Continuous Build / Integration / Deployment / Delivery! • DevOps! • Infrastructure as code & Configuration Management! • Quality Assurance! • MTBF & MTRS

Slide 4

Slide 4 text

Software Development Life Cycle (won’t cover)

Slide 5

Slide 5 text

Waterfall (won’t cover) • Adapted from manufacturing! • Introduced by Winston Royce as a practice that should NOT BE followed in his book

Slide 6

Slide 6 text

Agile 101 (won’t cover) • Declared in Agile Manifesto around 2001! • 4 core ideas! • Individuals and interactions over processes and tools! • Working Software over comprehensive documentation! • Customer Collaboration over contract negotiation! • Responding to Change over following a plan! • 12 principles around working software! • Many implementations! • Scrum, Kanban, Lean, Scrum-ban, Crystal, etc..

Slide 7

Slide 7 text

Agile 101

Slide 8

Slide 8 text

Continuous What? • Continuous Build (won’t cover)! • An automated build from mainline! • Continuous Integration (won’t cover)! • An automated build from mainline! • An automated testing suite (unit, integration)! • Measuring quality of the code base! • Continuous Deployment (won’t cover)! • Continuously deploying into a prod-like environment! • An automated testing suite (acceptance)

Slide 9

Slide 9 text

DevOps (won’t cover) • Introduced by Patrick Debois! • Key principles! • Communication! • Collaboration! • Integration! • Everything should be automated, repeatable w/o risk Dev  +  QA  +  Ops

Slide 10

Slide 10 text

Infrastructure as Code (won’t cover) • Infrastructure should be treated as code! • Outcomes should be deterministic & predictable! • Modeling infrastructure rather than on-demand ops on it! • And many other core values! • Who uses?! • Amazon handles 2 major EC2 DC’s with this (close to 500K machines)! • Facebook manages 150K machines! • Google manages 40K machines

Slide 11

Slide 11 text

Quality Assurance (won’t cover) • Allows quality to be transparent! • 5 major test blocks! • Regression (automated)! • Smoke (automated)! • Acceptance (automated)! • Performance (periodical)! • Load (periodical)! • Exploratory Tests (every time)

Slide 12

Slide 12 text

MTBF & MTRS (won’t cover) • Mean Time Between Failures! • Mean Time Recovery of Service! • Business (therefore project) dependent! • Real-time systems usually goes for MTRS! • 0-ing MTBF removes the need for MTRS

Slide 13

Slide 13 text

Continuous Delivery! from where we left..

Slide 14

Slide 14 text

Rough Outline • Different cultures, techniques and methodologies! • No global visibility (monitoring, errors, reporting, etc)

Slide 15

Slide 15 text

Rough Outline • Different priorities! • No clear delivery path + out-of-date docs

Slide 16

Slide 16 text

Rough Outline • Indispensable people + overtime, overtime, overtime ! • Not sustainable (kills passion + quality)! • Keeping business promises?

Slide 17

Slide 17 text

Who cares?

Slide 18

Slide 18 text

Really?

Slide 19

Slide 19 text

Is there a Silver Bullet? • Not really! • Failure will always happen, and we should accept that!! • What do we do then?! • We should be ready for it!! ! ! Let’s look at some case studies..

Slide 20

Slide 20 text

Case Study: Netflix • Zero downtime! • 27.1M users with average 7GB/month! • Yeap, that is 189 EB average! • Killer bots

Slide 21

Slide 21 text

Case Study: Google Wallet • Zero downtime! • $8B annually! • 192M users! • Only <50 people built it

Slide 22

Slide 22 text

How did they do? • Small and frequent releases! • One pipeline! • Repeatable & risk-free deployments! • Always production ready philosophy! • DevOps

Slide 23

Slide 23 text

Case Study: Flickr • Small and frequent releases

Slide 24

Slide 24 text

Continuous Delivery • Philosophy! • Automation! • Patterns & Practices! • Collaboration! • Ingredients! • Configuration Management! • Continuous Integration! • Automated Testing

Slide 25

Slide 25 text

Continuous Delivery • Only valid measure of software: production readiness! • Super Fast feedback loop! • Business decides, IT follows

Slide 26

Slide 26 text

Continuous Delivery • Clear visibility with Continuous Delivery pipeline! • Quality has to be built into the product! • Priority is not on the features, it’s always on

Slide 27

Slide 27 text

Continuous Delivery Pipeline

Slide 28

Slide 28 text

Continuous Delivery Pipeline • Pipeline tries to prove your software is broken! • Creativity can only be done by fast feedback! • Fungible and cross functional teams! • Repeatable, risk-free, proven and visible by everyone! • Anybody can do it!