the discovery of penicillin · the discovery of penicillin alexander fleming discovered it in 1928,...

42

Upload: others

Post on 04-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940
Page 2: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940
Page 3: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

The Discovery of Penicillin

Alexander Fleming discovered it in 1928, by accident

First shown to be effective on bacterial infection in mice in 1940

First human treatment in 1941

United States produced 2.3 million doses in time for the WWII Normandy invasion

@kmugrage

Page 4: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Other Great Accidents

Microwave Oven

Quinine

X-rays

Velcro

Insulin

Continuous Delivery

@kmugrage

Page 5: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

15 years ago we knew everything

Defined Continuous Integration

Created the first (or second) CI server

Created Selenium

@kmugrage

Page 6: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Java – Write once, run anywhere

Developed a system on Windows laptops to be deployed to a Solaris cluster

Did all of the right Continuous Integration things

One small issue…

@kmugrage

Page 7: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

It didn’t work in production

@kmugrage

Page 8: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Conan The Deployer

Massive shell script

Automated deployment to a cluster after every successful CI run

Deployment became a non-issue

@kmugrage

Page 9: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Results of the Accident

The Deployment Production Line

The Continuous Delivery Book

GoCD

@kmugrage

Page 10: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 11: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 12: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Edge Load Balancer

Web

Application

Web

Application

Customer Service

Application

Web

Application

Customer Service

Application

Frontend Application Servers

Web

Application

Web

Application

Web

Application

Business

Servers

Business

Servers

Business

Servers

MSMQ

Biztalk

Distributed

Cache

Session DB Transactional DB Biztalk DB

Page 13: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

git pull

Version

Build

Unit Test

Package

ArtifactRepository

Build Test

ArtifactRepository

Get Package

Deploy Test Environment

Component

Service

UI

Deploy

ArtifactRepository

Get Package

Deploy Environment

Smoke Tests

Page 14: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

It was automated now

It worked in production (yay!)

It was hard to scale the applications

It was hard to work on complicated applications

@kmugrage

Page 15: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

https://nodesource.com/blog/microservices-in-nodejs

Image by @lizparody23

Page 16: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Edge Load Balancer

Service

Repository

Apply Domain

Event Store

Command Handlers

Event Handlers

Service

Repository

Account Domain

Event Store

Command Handlers

Event Handlers

Service

Repository

Product Domain

Event Store

Command Handlers

Event Handlers

Service

Repository

Customer Domain

Event Store

Command Handlers

Event Handlers

E

V

E

N

T

B

U

S

Page 17: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Build

Functional

Tests

Regression

Tests

Deploy to

StageDeploy to

Production

Service A

Service B

Build

Functional

Tests

Regression

Tests

Deploy to

StageDeploy to

Production

Page 18: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Build

Functional

Tests

Regression

Tests

Deploy to Stage Deploy to Production

Service A

Build

Functional

Tests

Regression

Tests

Service B

Page 19: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 20: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 21: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Write the code

Run the build

Show the feature

Merge the code

Done

Page 22: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Create feature flag

Write unit test

Write the code

Merge to master

CI server builds

@kmugrage

Write the functional

test

Show the feature

DeployRelease (flip the

flag)

Customer uses

featureThis includes any infrastructure,

pipeline, data model or other changes

required to support the feature!

Page 23: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Write the code

Run the build

Show the feature

Merge the code

Done

Page 24: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Write the code

Run the build

Show the feature

Merge the code

Done

Write Tests

Run TestsSend back

to devWait… Repeat

“Dev” Team

“QA”, Security, Compliance

Page 25: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Write the code

Run the build

Show the feature

Merge the code

Done

Write Tests

Run TestsSend back

to devWait… Repeat

“Dev” Team

“QA”, Security, Compliance

Provision Machines

Automate Deployment

Send back to dev

Wait… Repeat“DevOps” Team

Page 26: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 27: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 28: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 29: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Create feature flag

Write unit test

Write the code

Merge to master

CI server builds

Write the functional

test

Show the feature

DeployRelease (flip the

flag)

Customer uses feature

Write the code

Run the build

Show the feature

Merge the code

Done

Write Tests

Run TestsSend back

to devWait… Repeat

Provision Machines

Automate Deployment

Send back to dev

Wait… Repeat

Page 30: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Create feature flag

Write unit test

Write the code

Merge to master

CI server builds

Write the functional

test

Show the feature

DeployRelease (flip the

flag)

Customer uses feature

Write the code

Run the build

Show the feature

Merge the code

Done

Write Tests

Run TestsSend back

to devWait… Repeat

Provision Machines

Automate Deployment

Send back to dev

Wait… Repeat

Page 31: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 32: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 33: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 34: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 35: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

Page 36: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage

I

deploy

am

deploy

working

deploy

on

deploy

this

deploy

You will now be measured on deploys per day

YAY!!!

Page 37: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Our Pipeline

@kmugrage

Page 38: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Our Pipeline

@kmugrage

Page 39: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Accelerate State of DevOps

@kmugrage

Page 40: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Elite Performers

@kmugrage

Aspect of Software Delivery Performance

Deployment frequency On-demand (multiple deploys per day)

Lead time for changes Less than one day

Time to restore services Less than one hour

Change failure rate 0-15%

Page 41: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

Summary

CD isn’t about faster.

CD in a DevOps culture is!

Deployment goals should be business driven.

Metrics drive behaviors.

@kmugrage

Page 42: The Discovery of Penicillin · The Discovery of Penicillin Alexander Fleming discovered it in 1928, by accident First shown to be effective on bacterial infection in mice in 1940

@kmugrage