architecting for operations boring is awesome! · introduction twitch feel free to ask questions in...

123
BORING IS AWESOME! ARCHITECTING FOR OPERATIONS

Upload: others

Post on 15-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BORING IS AWESOME!ARCHITECTING FOR OPERATIONS

Page 2: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INTRODUCTION

TWITCH

▸ Feel free to ask questions in the chat at anytime!

▸ Giving back feedback through the chat helps me read the audience.

▸ Please respond to each other in chat as well.

▸ Big thanks to the volunteer student moderators:

▸ Wolgo

▸ CptWesley

▸ We are going to have a break at 1630±

Page 3: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INTRODUCTION

AUDIENCE

▸ Are you working in the industry?

▸ Are you operating infrastructure?

▸ What do you expect from this lecture?

Page 4: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

MINDSET

Page 5: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

COLLABORATION

Page 6: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

SERVING THE CUSTOMER

Page 7: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

IMPACT

Page 8: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INTRODUCTION

STEFFAN NORBERHUIS

▸ Freelance Cloud & DevOps Consultant

▸ Twitter: @SNorberhuis

[email protected]

▸ Feel free to contact me!

Page 9: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INTRODUCTION

OVERVIEW

▸ Disruption

▸ Infrastructure as Code

▸ Failure is inevitable

▸ Building for Failure

Page 10: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

DISRUPTIONARCHITECTING FOR OPERATIONS

Page 11: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

YOU BUILD IT, YOU RUN IT

Page 12: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

DISRUPTION

DEVOPS OWNERSHIP

Page 13: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

CLOUD

Page 14: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

DISRUPTION

CLOUD

▸ Operate technology without owning technology

▸ Agility with no planning

▸ Focus on your business

Source: What is Cloud Computing by AWS https://www.twitch.tv/videos/477810350?

Page 15: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

ARCHITECTING FOR OPERATIONS

Page 16: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

BENEFITS

▸ Automation

▸ Version control

▸ Code Review

▸ Testing

▸ Documentation

▸ Reuse

Source: 5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code by Yevgeniy Brickman https://www.youtube.com/watch?v=RTEgE2lcyk4 https://www.youtube.com/watch?v=RTEgE2lcyk4

Page 17: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

INFRASTRUCTURE AS CODE

Source: AWS CDK by AWS re:Invent https://www.youtube.com/watch?v=Lh-kVC2r2AU

AWS CloudFormation

Azure Resource Manager

JSON / YAML Declarative ComponentizedDOM

Pulumi

AWS Cloud Development Kit

HashiCorp Terraform Troposphere

Page 18: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

SLOW FEEDBACK LOOP

SERVICES

Jack

Page 19: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

SLOW FEEDBACK LOOP

SERVICES A

Jack

Page 20: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

SLOW FEEDBACK LOOP

SERVICES

B

A

Jack

Page 21: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

SLOW FEEDBACK LOOP

SERVICES

B

A

CJack

Page 22: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

SLOW FEEDBACK LOOP

SERVICES

B

A

CJack

Page 23: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

SLOW FEEDBACK LOOP

A

Jack

Page 24: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

COLLISIONS DURING DEVELOPMENT

SERVICES

Jack

Page 25: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

COLLISIONS DURING DEVELOPMENT

SERVICES

SusanJack

Page 26: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

COLLISIONS DURING DEVELOPMENT

A B

SusanJack

Page 27: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

COLLISIONS DURING DEVELOPMENT

Jack Susan

A

Page 28: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

COLLISIONS DURING DEVELOPMENT

JACK-A ANNE-A

Jack Susan

Page 29: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

PROBLEMS

SERVICES

B

A

CJack

Page 30: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

PROBLEMS: BUGS

SERVICES

B

A

CJack

Page 31: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

PROBLEMS: DRIFT

SERVICES

B

A

CJack

Page 32: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

PROBLEMS

A

Jack

Page 33: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

TAGGING/BRANCH DEADLOCKS

SERVICES

B

A

C

1.60

Jack

Page 34: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

TAGGING DEADLOCKS

SERVICES

B

A

C

1.60

Jack

Page 35: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

TAGGING DEADLOCKS

SERVICES

B

A

C

1.60

1.60

1.60Jack

Page 36: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

TAGGING DEADLOCKS

SERVICES

B

A

C

1.60

1.61?

1.60Jack

Page 37: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

TAGGING DEADLOCKS

A 1.60

Jack

Page 38: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

CYCLOMATIC DEPENDENCY

FOO

Jack

BAR

Page 39: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

CYCLOMATIC DEPENDENCY

FOO

Jack

BAR

Page 40: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

CHALLENGES

▸ Feedback speed

▸ Parallel development

▸ Complexity

▸ Different lifecycles

▸ Different teams

Source: Happy Terraforming! By Armin Coralic: https://www.youtube.com/watch?v=G06j6HLWyYo 

Page 41: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

GUIDELINES

▸ Less frequent changes, higher risk, in lower layers

▸ Small blocks

▸ No cyclomatic dependencies

▸ Decouple independent services

▸ Only deploy pipelines manually

Page 42: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

NEW APPROACH

ARCHITECTURE

CONFIG

CONFIG APPLICATIONDATA

ROLES

NETWORK

ALERTING

VPC

SECRETS

INFRA

DOMAIN

GLOBAL

BOOTSTRAP SECURITYACCOUNTS

Page 43: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

NEW APPROACH

ARCHITECTURE

CONFIG

CONFIG APPLICATIONDATA

ROLES

NETWORK

ALERTING

VPC

SECRETS

INFRA

DOMAIN

GLOBAL

BOOTSTRAP ACCOUNTS SECURITY

Page 44: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

NEW APPROACH

ARCHITECTURE

CONFIG

CONFIG APPLICATIONDATA

ROLES

NETWORK

ALERTING

VPC

SECRETS

INFRA

DOMAIN

GLOBAL

BOOTSTRAP ACCOUNTS SECURITY

Page 45: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

NEW APPROACH

ARCHITECTURE

CONFIG

CONFIG APPLICATIONDATA

ROLES

NETWORK

ALERTING

VPC

SECRETS

INFRA

DOMAIN

GLOBAL

BOOTSTRAP ACCOUNTS SECURITY

Page 46: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

NEW APPROACH

ARCHITECTURE

CONFIG

CONFIG APPLICATIONDATA

ROLES

NETWORK

ALERTING

VPC

SECRETS

INFRA

DOMAIN

GLOBAL

BOOTSTRAP ACCOUNTS SECURITY

Page 47: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

NEW APPROACH

ARCHITECTURE

CONFIG

CONFIG APPLICATIONDATA

ROLES

NETWORK

ALERTING

VPC

SECRETS

INFRA

DOMAIN

GLOBAL

BOOTSTRAP ACCOUNTS SECURITY

Page 48: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

NAMING STANDARDISATION

▸ Environment

▸ Application

▸ Component

▸ Examples:

▸ /prod/billing/foo

▸ /dev-susan/billing/foo

▸ staging-billing-foo

Page 49: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

CODE TRACEABILITY

▸ Tag:

▸ github.com/org/teamA/billing-infrastructure/stackA

▸ Naming:

▸ Billing-application-foo -> GitHub.com/org/billing/infrastructure/src/application/foo

Page 50: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

IDENTICAL ENVIRONMENTS

▸ Scaling

DEVELOPMENT ACCEPTANCE PRODUCTION

Page 51: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

IDENTICAL ENVIRONMENTS

▸ Scaling

▸ Multiple environments

DEVELOPMENT ACCEPTANCE PRODUCTION0.05 0.05

CUSTOMER TESTING

0.05

Page 52: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

IDENTICAL ENVIRONMENTS

▸ Scaling

▸ Multiple environments

▸ Acceptance tests everything

DEVELOPMENT ACCEPTANCE PRODUCTION

Page 53: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

OPEN SOURCE

▸ Terraform: https://github.com/terraform-community-modules

▸ AWS CDK: https://cdkpatterns.com/

▸ AWS CloudFormation: https://aws.amazon.com/quickstart/?

▸ Gruntwork*: https://www.gruntwork.io/

Page 54: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

PATH OF ENLIGHTENMENT

Page 55: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

DEVOPS METRICS

Source: Accelerate!

LEAD TIME # DEPLOYS

CHANGE FAILURE RATE

MEAN TIME TO RECOVERY

Page 56: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

DEVOPS METRICS

Source: Accelerate!

LEAD TIME # DEPLOYS

CHANGE FAILURE RATE

MEAN TIME TO RECOVERY

Page 57: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

DEVOPS METRICS

Source: Accelerate!

LEAD TIME # DEPLOYS

CHANGE FAILURE RATE

MEAN TIME TO RECOVERY

Page 58: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

INFRASTRUCTURE AS CODE

DEVOPS METRICS

Source: Accelerate!

LEAD TIME # DEPLOYS

CHANGE FAILURE RATE

MEAN TIME TO RECOVERY

Page 59: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

TEST DRIVEN DEVELOPMENT

Page 60: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

FAILURE IS INEVITABLE

ARCHITECTING FOR OPERATIONS

Page 61: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

RUNTIME DATA

Page 62: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

COMPLEX SYSTEMS

Page 63: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

FAILURE IS INEVITABLE

Page 64: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

FAILURE IS INEVITABLE

COMMUNICATION

New Relic

Cloudwatch

OpsGenie Statuspage Customer

On Call Incident Captain Business Manager

Page 65: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

SCIENTIFIC APPROACH

Page 66: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

OPERATIONS DETECTIVE

SCIENTIFIC APPROACH

▸ Describe objectively

▸ Formulate a hypothesis

▸ Derive an experiment

▸ Observe outcomes

Page 67: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

LOOK FOR CHANGE

Page 68: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

POST MORTEM

Page 69: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

TRANSPARENCY

Page 70: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

FAILURE IS INEVITABLE

Page 71: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

FAILURE IS INEVITABLE

COMMUNICATION

New Relic

Cloudwatch

OpsGenie Statuspage Customer

On Call Incident Captain Business Manager

Page 72: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

OPERATIONS DETECTIVE

POST MORTEM TEMPLATE

▸ Timeline: What happened?

▸ Impact

▸ Resolutions

▸ Root Cause

▸ Follow up

▸ Public Communication

▸ Improvements

▸ Organisational

▸ Technical

Source:https://response.pagerduty.com/after/post_mortem_process/

Page 73: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

UNIQUE FAILURES

Page 74: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

NO WORK AROUND

Page 75: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

QUALITY

Source: Is High Quality Software Worth the Cost? By Martin Fowler https://www.martinfowler.com/articles/is-quality-worth-cost.html

Page 76: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BROKEN WINDOW THEORY

Page 77: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

STAGING

Page 78: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

ARCHITECTING FOR OPERATIONS

Page 79: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

PESSIMIST

Page 80: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

DEPLOYMENT STRATEGY

Page 81: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BIG BANG RELEASES

Page 82: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

UNSTOPPABLE RELEASES

Page 83: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

IF IT HURTS, DO IT MORE OFTEN

Page 84: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

BACKWARDS COMPATIBLE

ADDITION CHANGE DELETION

Monday Tuesday Wednesday

Page 85: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

BACKWARDS COMPATIBLE

ADDITION CHANGE DELETION

Januari Februari March

Page 86: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

ALWAYS PUSH TO PRODUCTION

Page 87: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

FEATURE TOGGLES

Page 88: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

SIMPLE FEATURE TOGGLES

function calculate(){

if( featureToggle("use-new-algorithm") ){

return newCalculation();

}else{

return oldCalculation();

}

}

Page 89: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

HOPE IS NOT A STRATEGY

Page 90: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

GRACEFUL DEGRATION

Page 91: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

PHD IN FAILURE

GRACEFUL DEGRADATION

▸ Return less precise data

▸ Incomplete data

▸ Cached data

▸ Preset data

▸ No data

Page 92: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

CIRCUIT BREAKER

Page 93: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

NORMAL

Page 94: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

TIMEOUT

Page 95: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

CIRCUIT OPEN

Page 96: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

TRIAL

Page 97: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

RECOVERY

Page 98: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

NORMAL

Page 99: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

TIMEOUT

Page 100: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

CIRCUIT OPEN

Page 101: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

TRIAL

Page 102: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

A FEDEX EXECUTIVE

CIRCUIT BREAKER

CLIENT BLUE PROVIDERCIRCUIT BREAKER

RECOVERY

Page 103: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

ASYNCHRONOUS

Page 104: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

ASYNCHRONOUS

Source: Asynchronous patterns for Cloud Functions by Preston Holmes https://cloud.google.com/community/tutorials/cloud-functions-async

CLIENT API

Page 105: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

ASYNCHRONOUS

CLIENT API WORKERQUEUE

Source: Asynchronous patterns for Cloud Functions by Preston Holmes https://cloud.google.com/community/tutorials/cloud-functions-async

Page 106: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

ASYNCHRONOUS

CLIENT API WORKERQUEUEv2 v1

Source: Asynchronous patterns for Cloud Functions by Preston Holmes https://cloud.google.com/community/tutorials/cloud-functions-async

Page 107: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

ASYNCHRONOUS

CLIENT API WORKER

QUEUE

JOBSTATE

Source: Asynchronous patterns for Cloud Functions by Preston Holmes https://cloud.google.com/community/tutorials/cloud-functions-async

Page 108: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

EVENT DRIVEN

Page 109: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

EVENT DRIVEN

PRODUCER CONSUMER

Source: Event Driven by Martin Fowler https://martinfowler.com/articles/201701-event-driven.html

Page 110: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

EVENT DRIVEN

PRODUCER CONSUMER

Source: Event Driven by Martin Fowler https://martinfowler.com/articles/201701-event-driven.html

v1v2

Page 111: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

EVENT DRIVEN

PRODUCER CONSUMERCommand

Source: Event Driven by Martin Fowler https://martinfowler.com/articles/201701-event-driven.html

Expected

Page 112: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

QUALITY VS INNOVATION

Page 113: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

SITE RELIABILITY ENGINEERING

▸ How much quality have we agreed upon?

▸ How much quality do we provide?

▸ How much quality do we want?

Source: Site Reliability Engineering ISBN: https://landing.google.com/sre/sre-book/toc/

Page 114: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

QUANTIFY QUALITY

Page 115: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

ERROR BUDGET

Page 116: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

TOIL

Page 117: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

BUILDING FOR FAILURE

TOIL

▸ Designate Engineer

▸ Focus on incidents

▸ Shields the team

▸ Engineers solutions

▸ Close collaboration with Product Owner

Page 118: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

OBSERVABILITY

Page 119: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

FALSE POSITIVES

Page 120: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

USER NOTIFICATIONS

Page 121: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

CONCLUSION

ATTRIBUTION

▸ Sources are on bottom of the slides

▸ All pictures are from unsplash.com and their creators

Page 122: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

CONCLUSION

FURTHER READING

Source: AWS Well-Architected Framework Whitepaper https://aws.amazon.com/architecture/well-architected/

Page 123: ARCHITECTING FOR OPERATIONS BORING IS AWESOME! · INTRODUCTION TWITCH Feel free to ask questions in the chat at anytime! Giving back feedback through the chat helps me read the audience

ARCHITECTING FOR OPERATIONS

STEFFAN NORBERHUIS

▸ Freelance Cloud & DevOps Consultant

▸ Twitter: @SNorberhuis

[email protected]

ANY QUESTIONS?