YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Microservice Scars - Alt.net 2hr

Microservice Scars:Lessons we learnt

Abhaya Chauhan@AbhayaChauhan

www.abhayachauhan.comJoshua Toth@TothJoshuaJ

Page 2: Microservice Scars - Alt.net 2hr

Question Policy

Page 3: Microservice Scars - Alt.net 2hr

Let’s go on a Journey

Page 4: Microservice Scars - Alt.net 2hr

Context

Page 5: Microservice Scars - Alt.net 2hr

PageUp

Context

Page 6: Microservice Scars - Alt.net 2hr

Talent Management

SaaS

Context

Page 7: Microservice Scars - Alt.net 2hr

100% Cloud based

AWS + Azure

Context

Page 8: Microservice Scars - Alt.net 2hr

19 years

Context

Page 9: Microservice Scars - Alt.net 2hr

25% growth year on year

Context

Page 10: Microservice Scars - Alt.net 2hr

PageUp = Market Leaders

Context

Page 11: Microservice Scars - Alt.net 2hr

The Monolith

Context

Page 12: Microservice Scars - Alt.net 2hr

Fragility

The Monolith

Context

Page 13: Microservice Scars - Alt.net 2hr

Agility

The Monolith

Context

Page 14: Microservice Scars - Alt.net 2hr

Complexity

The Monolith

Context

Page 15: Microservice Scars - Alt.net 2hr

Innovation

The Monolith

Context

Page 16: Microservice Scars - Alt.net 2hr

Deployment

The Monolith

Context

Page 17: Microservice Scars - Alt.net 2hr

Production Hardened

The Monolith

Context

Page 18: Microservice Scars - Alt.net 2hr

#Scale

Context

Page 19: Microservice Scars - Alt.net 2hr

Large Projects

Context

Page 20: Microservice Scars - Alt.net 2hr

Big Rewrite

Context

Page 21: Microservice Scars - Alt.net 2hr

If you can’t build a monolith, what makes you think

microservices are the answer?

Simon Brown

Context

Page 22: Microservice Scars - Alt.net 2hr

First rule of Distributed Computing

Context

Page 23: Microservice Scars - Alt.net 2hr

Don’t do it.

Context

Page 24: Microservice Scars - Alt.net 2hr

Why Microservices?

Context

Page 25: Microservice Scars - Alt.net 2hr

Reduce time to market

Context

Page 26: Microservice Scars - Alt.net 2hr

Reduce blast radius

Context

Page 27: Microservice Scars - Alt.net 2hr

EnableEvolutionary Architecture

Context

Page 28: Microservice Scars - Alt.net 2hr
Page 29: Microservice Scars - Alt.net 2hr

Sprint Zero

Page 30: Microservice Scars - Alt.net 2hr

Decisions

Sprint Zero

Page 31: Microservice Scars - Alt.net 2hr

The stack

Sprint Zero

Page 32: Microservice Scars - Alt.net 2hr

Sprint Zero

Page 33: Microservice Scars - Alt.net 2hr

Sprint Zero

Frontend

Page 34: Microservice Scars - Alt.net 2hr

Sprint Zero

Backend

Frontend

Page 35: Microservice Scars - Alt.net 2hr

Sprint Zero

Backend

DB

Frontend

Page 36: Microservice Scars - Alt.net 2hr

Sprint Zero

Elastic Beanstalk

S3

Page 37: Microservice Scars - Alt.net 2hr

.Net

Sprint Zero

Page 38: Microservice Scars - Alt.net 2hr

Self hosted

Sprint Zero

Page 39: Microservice Scars - Alt.net 2hr

Angular

Sprint Zero

Page 40: Microservice Scars - Alt.net 2hr

DynamoDB

Sprint Zero

Page 41: Microservice Scars - Alt.net 2hr

Pact

Sprint Zero

Page 42: Microservice Scars - Alt.net 2hr
Page 43: Microservice Scars - Alt.net 2hr
Page 44: Microservice Scars - Alt.net 2hr

Infancy

Sprint Zero

Page 45: Microservice Scars - Alt.net 2hr

Limitations

Sprint Zero

Page 46: Microservice Scars - Alt.net 2hr

Investment

Sprint Zero

Page 47: Microservice Scars - Alt.net 2hr

Deployment

Sprint Zero

Page 48: Microservice Scars - Alt.net 2hr

Continuous

Sprint Zero

Page 49: Microservice Scars - Alt.net 2hr

Phabricator

Sprint Zero

Page 50: Microservice Scars - Alt.net 2hr

Phabro slides had to be removed.

Please contact us for any queries

Sprint Zero

Page 51: Microservice Scars - Alt.net 2hr

Pipeline

Sprint Zero

Page 52: Microservice Scars - Alt.net 2hr

Sprint Zero

Page 53: Microservice Scars - Alt.net 2hr

Pipeline

Sprint Zero

Page 54: Microservice Scars - Alt.net 2hr

Pipeline

Sprint Zero

Page 55: Microservice Scars - Alt.net 2hr

F# Make (Fake)

Sprint Zero

Page 56: Microservice Scars - Alt.net 2hr

Monolith Scripts

Sprint Zero

Page 57: Microservice Scars - Alt.net 2hr

Sharing != caring

Sprint Zero

Page 58: Microservice Scars - Alt.net 2hr

Clear separation

Sprint Zero

Page 59: Microservice Scars - Alt.net 2hr

Development Practices

Sprint Zero

Page 60: Microservice Scars - Alt.net 2hr

TDD

Sprint Zero

Page 61: Microservice Scars - Alt.net 2hr

BDD

Sprint Zero

Page 62: Microservice Scars - Alt.net 2hr

Sprint Zero

Page 63: Microservice Scars - Alt.net 2hr
Page 64: Microservice Scars - Alt.net 2hr

Elastic Beanstalk

Page 65: Microservice Scars - Alt.net 2hr
Page 66: Microservice Scars - Alt.net 2hr

Full stack

Elastic Beanstalk

Page 67: Microservice Scars - Alt.net 2hr
Page 68: Microservice Scars - Alt.net 2hr
Page 69: Microservice Scars - Alt.net 2hr
Page 70: Microservice Scars - Alt.net 2hr
Page 71: Microservice Scars - Alt.net 2hr
Page 72: Microservice Scars - Alt.net 2hr
Page 73: Microservice Scars - Alt.net 2hr
Page 74: Microservice Scars - Alt.net 2hr

Visualization

Elastic Beanstalk

Page 75: Microservice Scars - Alt.net 2hr

Monitoring

Elastic Beanstalk

Page 76: Microservice Scars - Alt.net 2hr

Monitoring

Elastic Beanstalk

Page 77: Microservice Scars - Alt.net 2hr

Monitoring

Elastic Beanstalk

Page 78: Microservice Scars - Alt.net 2hr

Monitoring

Elastic Beanstalk

Page 79: Microservice Scars - Alt.net 2hr

Elastic Beanstalk

Page 80: Microservice Scars - Alt.net 2hr

Elastic Beanstalk

Page 81: Microservice Scars - Alt.net 2hr

Elastic Beanstalk

Page 82: Microservice Scars - Alt.net 2hr

Rebuilds

Elastic Beanstalk

Page 83: Microservice Scars - Alt.net 2hr

No Downtime

Elastic Beanstalk

Page 84: Microservice Scars - Alt.net 2hr

The Hack

Elastic Beanstalk

Page 85: Microservice Scars - Alt.net 2hr

Elastic Beanstalk

Page 86: Microservice Scars - Alt.net 2hr

Elastic Beanstalk

Page 87: Microservice Scars - Alt.net 2hr

Elastic Beanstalk

Page 88: Microservice Scars - Alt.net 2hr

Speed

Elastic Beanstalk

Page 89: Microservice Scars - Alt.net 2hr

Care

Elastic Beanstalk

Page 90: Microservice Scars - Alt.net 2hr

Synchronization

Elastic Beanstalk

Page 91: Microservice Scars - Alt.net 2hr

50 shades of “fuck we can’t roll this back”

Grey

Elastic Beanstalk

Page 92: Microservice Scars - Alt.net 2hr

Scaling

Elastic Beanstalk

Page 93: Microservice Scars - Alt.net 2hr

Authentication

Page 94: Microservice Scars - Alt.net 2hr

IdentityServer3(Locksmith)

OAuth2

Page 95: Microservice Scars - Alt.net 2hr

Immediate return

OAuth2

Page 96: Microservice Scars - Alt.net 2hr

Questions

Page 97: Microservice Scars - Alt.net 2hr

Messaging

Page 98: Microservice Scars - Alt.net 2hr
Page 99: Microservice Scars - Alt.net 2hr

Messaging

Page 100: Microservice Scars - Alt.net 2hr

Messaging

Page 101: Microservice Scars - Alt.net 2hr

Messaging

Page 102: Microservice Scars - Alt.net 2hr

Request Response Pain

Messaging

Page 103: Microservice Scars - Alt.net 2hr

Resource intensive

Messaging

Page 104: Microservice Scars - Alt.net 2hr

Fault Prone

Messaging

Page 105: Microservice Scars - Alt.net 2hr

1 to 1 communication

Messaging

Page 106: Microservice Scars - Alt.net 2hr

Event Driven Architecture

Messaging

Page 107: Microservice Scars - Alt.net 2hr

Webhooks

Messaging

Page 108: Microservice Scars - Alt.net 2hr

Messaging

Page 109: Microservice Scars - Alt.net 2hr

Messaging

Page 110: Microservice Scars - Alt.net 2hr

:`(

Messaging

Page 111: Microservice Scars - Alt.net 2hr

Queuing (SQS)

Messaging

Page 112: Microservice Scars - Alt.net 2hr

Resource Intensive

Fault Prone

1 - many Communication

Messaging

Page 113: Microservice Scars - Alt.net 2hr

Resource Intensive

Fault Prone

1 - many Communication

Messaging

Page 114: Microservice Scars - Alt.net 2hr

Resource Intensive

Fault Prone

1 - many Communication

Messaging

Page 115: Microservice Scars - Alt.net 2hr

Resource Intensive

Fault Prone

1 - many Communication

Messaging

Page 116: Microservice Scars - Alt.net 2hr

Simple Notification Service (SNS)

Messaging

Page 117: Microservice Scars - Alt.net 2hr

Push messages

Messaging

Page 118: Microservice Scars - Alt.net 2hr

Mobile Devices

Messaging

Page 119: Microservice Scars - Alt.net 2hr

Mobile DevicesSMS

Messaging

Page 120: Microservice Scars - Alt.net 2hr

Mobile DevicesSMS

Emails

Messaging

Page 121: Microservice Scars - Alt.net 2hr

Mobile DevicesSMS

EmailsHTTP Endpoints

Messaging

Page 122: Microservice Scars - Alt.net 2hr

Mobile DevicesSMS

EmailsHTTP Endpoints

Lambda

Messaging

Page 123: Microservice Scars - Alt.net 2hr

Mobile DevicesSMS

EmailsHTTP Endpoints

LambdaQueues

Messaging

Page 124: Microservice Scars - Alt.net 2hr

Messaging

Page 125: Microservice Scars - Alt.net 2hr

Messaging

Page 126: Microservice Scars - Alt.net 2hr

Messaging

Page 127: Microservice Scars - Alt.net 2hr

Messaging

SNS + SQS = Amazing Service Bus

Page 128: Microservice Scars - Alt.net 2hr

Resource Intensive

Fault Prone

1 - many Communication

Messaging

Page 129: Microservice Scars - Alt.net 2hr

Circuit Breaker

Messaging

Page 130: Microservice Scars - Alt.net 2hr

Messaging

Page 131: Microservice Scars - Alt.net 2hr

CloudWatch

Messaging

Page 132: Microservice Scars - Alt.net 2hr

Historical Events

Messaging

Page 133: Microservice Scars - Alt.net 2hr

A store for events

Messaging

Page 134: Microservice Scars - Alt.net 2hr

DynamoDb

Page 135: Microservice Scars - Alt.net 2hr

Fully Managed NoSQL DB

DynamoDb

Page 136: Microservice Scars - Alt.net 2hr

Fast and Predictable

DynamoDb

Page 137: Microservice Scars - Alt.net 2hr

Distributed

DynamoDb

Page 138: Microservice Scars - Alt.net 2hr

Key-ValueDocument

DynamoDb

Page 139: Microservice Scars - Alt.net 2hr

Hash (Range)

Partition 1 Partition 2 Partition 3 Partition N

Read & Write capacity equally distributed

Max 400kb

DynamoDb

Page 140: Microservice Scars - Alt.net 2hr

1 Read unit = 4KB/s1 Write unit = 1KB/s

DynamoDb

Page 141: Microservice Scars - Alt.net 2hr

CQRS

DynamoDb

Page 142: Microservice Scars - Alt.net 2hr

DynamoDb

Page 143: Microservice Scars - Alt.net 2hr

Oh shit!

DynamoDb

Page 144: Microservice Scars - Alt.net 2hr

Write is 20x more expensive

DynamoDb

Page 145: Microservice Scars - Alt.net 2hr

DynamoDb

{"Key":"Mauritania","Value":"42803"},{"Key":"Mauritius","Value":"42804"},{"Key":"Mexico","Value":"42805"},{"Key":"Micronesia","Value":"42806"},{"Key":"Monaco","Value":"42807"},{"Key":"Mongolia","Value":"42808"},{"Key":"Montenegro","Value":"42809"},{"Key":"Montserrat","Value":"42810"},{"Key":"Morocco","Value":"42811"},{"Key":"Mozambique","Value":"42812"},{"Key":"Namibia","Value":"42813"},{"Key":"Nauru","Value":"42814"},{"Key":"Nepal","Value":"42815"},{"Key":"Netherlands","Value":"42816"},{"Key":"Netherlands Antilles","Value":"42817"},{"Key":"New Caledonia","Value":"42818"},{"Key":"New Zealand","Value":"42819"},{"Key":"Nicaragua","Value":"42820"},{"Key":"Niger","Value":"42821"},{"Key":"Nigeria","Value":"42822"},{"Key":"Niue","Value":"42823"},{"Key":"Northern Mariana Islands","Value":"42824"},{"Key":"Norway","Value":"42825"},{"Key":"Oman","Value":"42826"},{"Key":"Pakistan","Value":"42827"},{"Key":"Palau, Republic Of","Value":"42828"},{"Key":"Palestine","Value":"42829"},{"Key":"Panama","Value":"42830"},{"Key":"Papua New Guinea","Value":"42831"},{"Key":"Paraguay","Value":"42832"},{"Key":"Peru","Value":"42833"},{"Key":"Philippines","Value":"42834"},{"Key":"Poland","Value":"42835"},{"Key":"Portugal","Value":"42836"},{"Key":"Puerto Rico","Value":"42837"},{"Key":"Qatar","Value":"42838"},{"Key":"Republic Of Korea","Value":"42839"},{"Key":"Republic Of Moldova","Value":"42840"},{"Key":"Republic Of Yemen","Value":"42841"},{"Key":"Reunion","Value":"42842"},{"Key":"Romania","Value":"42843"},{"Key":"Russian Federation","Value":"42844"},{"Key":"Rwanda","Value":"42845"},{"Key":"Saint Kitts And Nevis","Value":"42846"},{"Key":"Saint Lucia","Value":"42847"},{"Key":"Sao Tome & Principe","Value":"42848"},{"Key":"Saudi Arabia","Value":"42849"},{"Key":"Senegal","Value":"42850"},{"Key":"Serbia","Value":"42851"},{"Key":"Serbia & Monten","Value":"42852"},{"Key":"Seychelles","Value":"42853"},{"Key":"Sierra Leone","Value":"42854"},{"Key":"Singapore","Value":"42855"},{"Key":"Slovakia","Value":"42856"},{"Key":"Slovenia","Value":"42857"},{"Key":"Solomon Islands","Value":"42858"},{"Key":"Somalia","Value":"42859"},{"Key":"South Africa","Value":"42860"},{"Key":"South Sudan","Value":"42861"},{"Key":"Spain","Value":"42862"},{"Key":"Sri Lanka","Value":"42863"},{"Key":"St. Vincent And The Grena","Value":"42864"},{"Key":"Sudan","Value":"42865"},{"Key":"Surinam","Value":"42866"},{"Key":"Swaziland","Value":"42867"},{"Key":"Sweden","Value":"42868"},{"Key":"Switzerland","Value":"42869"},{"Key":"Syrian Arab Republic","Value":"42870"},{"Key":"Tajikistan","Value":"42871"},{"Key":"Tanzania, United Rep. Of","Value":"42872"},{"Key":"Tfyr Of Macedonia","Value":"42873"},{"Key":"Thailand","Value":"42874"},{"Key":"Timor-Leste","Value":"42875"},{"Key":"Togo","Value":"42876"},{"Key":"Tokelau Islands","Value":"42877"},{"Key":"Tonga","Value":"42878"},{"Key":"Trinidad And Tobago","Value":"42879"},{"Key":"Tunisia","Value":"42880"},{"Key":"Turkey","Value":"42881"},{"Key":"Turkmenistan","Value":"42882"},{"Key":"Turks And Caicos Island","Value":"42883"},{"Key":"Mauritania","Value":"42803"},{"Key":"Mauritius","Value":"42804"},{"Key":"Mexico","Value":"42805"},{"Key":"Micronesia","Value":"42806"},{"Key":"Monaco","Value":"42807"},{"Key":"Mongolia","Value":"42808"},{"Key":"Montenegro","Value":"42809"},{"Key":"Montserrat","Value":"42810"},{"Key":"Morocco","Value":"42811"},{"Key":"Mozambique","Value":"42812"},{"Key":"Namibia","Value":"42813"},{"Key":"Nauru","Value":"42814"},{"Key":"Nepal","Value":"42815"},{"Key":"Netherlands","Value":"42816"},{"Key":"Netherlands Antilles","Value":"42817"},{"Key":"New Caledonia","Value":"42818"},{"Key":"New Zealand","Value":"42819"},{"Key":"Nicaragua","Value":"42820"},{"Key":"Niger","Value":"42821"},{"Key":"Nigeria","Value":"42822"},{"Key":"Niue","Value":"42823"},{"Key":"Northern Mariana Islands","Value":"42824"},{"Key":"Norway","Value":"42825"},{"Key":"Oman","Value":"42826"},{"Key":"Pakistan","Value":"42827"},{"Key":"Palau, Republic Of","Value":"42828"},{"Key":"Palestine","Value":"42829"},{"Key":"Panama","Value":"42830"},{"Key":"Papua New Guinea","Value":"42831"},{"Key":"Paraguay","Value":"42832"},{"Key":"Peru","Value":"42833"},{"Key":"Philippines","Value":"42834"},{"Key":"Poland","Value":"42835"},{"Key":"Portugal","Value":"42836"},{"Key":"Puerto Rico","Value":"42837"},{"Key":"Qatar","Value":"42838"},{"Key":"Republic Of Korea","Value":"42839"},{"Key":"Republic Of Moldova","Value":"42840"},{"Key":"Republic Of Yemen","Value":"42841"},{"Key":"Reunion","Value":"42842"},{"Key":"Romania","Value":"42843"},{"Key":"Russian Federation","Value":"42844"},{"Key":"Rwanda","Value":"42845"},{"Key":"Saint Kitts And Nevis","Value":"42846"},{"Key":"Saint Lucia","Value":"42847"},{"Key":"Sao Tome & Principe","Value":"42848"},{"Key":"Saudi Arabia","Value":"42849"},{"Key":"Senegal","Value":"42850"},{"Key":"Serbia","Value":"42851"},{"Key":"Serbia & Monten","Value":"42852"},{"Key":"Seychelles","Value":"42853"},{"Key":"Sierra Leone","Value":"42854"},{"Key":"Singapore","Value":"42855"},{"Key":"Slovakia","Value":"42856"},{"Key":"Slovenia","Value":"42857"}

Page 146: Microservice Scars - Alt.net 2hr

DynamoDb

{"Key":"Mauritania","Value":"42803"},{"Key":"Mauritius","Value":"42804"},{"Key":"Mexico","Value":"42805"},{"Key":"Micronesia","Value":"42806"},{"Key":"Monaco","Value":"42807"},{"Key":"Mongolia","Value":"42808"},{"Key":"Montenegro","Value":"42809"},{"Key":"Montserrat","Value":"42810"},{"Key":"Morocco","Value":"42811"},{"Key":"Mozambique","Value":"42812"},{"Key":"Namibia","Value":"42813"},{"Key":"Nauru","Value":"42814"},{"Key":"Nepal","Value":"42815"},{"Key":"Netherlands","Value":"42816"},{"Key":"Netherlands Antilles","Value":"42817"},{"Key":"New Caledonia","Value":"42818"},{"Key":"New Zealand","Value":"42819"},{"Key":"Nicaragua","Value":"42820"},{"Key":"Niger","Value":"42821"},{"Key":"Nigeria","Value":"42822"},{"Key":"Niue","Value":"42823"},{"Key":"Northern Mariana Islands","Value":"42824"},{"Key":"Norway","Value":"42825"},{"Key":"Oman","Value":"42826"},{"Key":"Pakistan","Value":"42827"},{"Key":"Palau, Republic Of","Value":"42828"},{"Key":"Palestine","Value":"42829"},{"Key":"Panama","Value":"42830"},{"Key":"Papua New Guinea","Value":"42831"},{"Key":"Paraguay","Value":"42832"},{"Key":"Peru","Value":"42833"},{"Key":"Philippines","Value":"42834"},{"Key":"Poland","Value":"42835"},{"Key":"Portugal","Value":"42836"},{"Key":"Puerto Rico","Value":"42837"},{"Key":"Qatar","Value":"42838"},{"Key":"Republic Of Korea","Value":"42839"},{"Key":"Republic Of Moldova","Value":"42840"},{"Key":"Republic Of Yemen","Value":"42841"},{"Key":"Reunion","Value":"42842"},{"Key":"Romania","Value":"42843"},{"Key":"Russian Federation","Value":"42844"},{"Key":"Rwanda","Value":"42845"},{"Key":"Saint Kitts And Nevis","Value":"42846"},{"Key":"Saint Lucia","Value":"42847"},{"Key":"Sao Tome & Principe","Value":"42848"},{"Key":"Saudi Arabia","Value":"42849"},{"Key":"Senegal","Value":"42850"},{"Key":"Serbia","Value":"42851"},{"Key":"Serbia & Monten","Value":"42852"},{"Key":"Seychelles","Value":"42853"},{"Key":"Sierra Leone","Value":"42854"},{"Key":"Singapore","Value":"42855"},{"Key":"Slovakia","Value":"42856"},{"Key":"Slovenia","Value":"42857"},{"Key":"Solomon Islands","Value":"42858"},{"Key":"Somalia","Value":"42859"},{"Key":"South Africa","Value":"42860"},{"Key":"South

{"Key":"Papua New Guinea","Value":"42831"},{"Key":"Paraguay","Value":"42832"},{"Key":"Peru","Value":"42833"},{"Key":"Philippines","Value":"42834"},{"Key":"Poland","Value":"42835"},{"Key":"Portugal","Value":"42836"},{"Key":"Puerto Rico","Value":"42837"},{"Key":"Qatar","Value":"42838"},{"Key":"Republic Of Korea","Value":"42839"},{"Key":"Republic Of Moldova","Value":"42840"}

Static (Read Optimised) Volatile (Write Optimised)

Page 147: Microservice Scars - Alt.net 2hr

Oh shit #2

DynamoDb

Page 148: Microservice Scars - Alt.net 2hr

DynamoDb

Page 149: Microservice Scars - Alt.net 2hr

Recovery Point Objective = 30

minutes

DynamoDb

Page 150: Microservice Scars - Alt.net 2hr

Recovery Time Objective = 1 day

DynamoDb

Page 151: Microservice Scars - Alt.net 2hr

Distributed Triggers

DynamoDb

Page 152: Microservice Scars - Alt.net 2hr
Page 153: Microservice Scars - Alt.net 2hr

DynamoDb

Page 154: Microservice Scars - Alt.net 2hr

DynamoDb

Page 155: Microservice Scars - Alt.net 2hr

DynamoDb

Page 156: Microservice Scars - Alt.net 2hr

DynamoDb

Page 157: Microservice Scars - Alt.net 2hr

S3 Versioned Buckets

DynamoDb

Page 158: Microservice Scars - Alt.net 2hr

DynamoDb

Page 159: Microservice Scars - Alt.net 2hr

DynamoDb

Page 160: Microservice Scars - Alt.net 2hr

DynamoDb

Page 161: Microservice Scars - Alt.net 2hr

DynamoDb Version Control

DynamoDb

Page 162: Microservice Scars - Alt.net 2hr

Risk Profile

Low

High

Page 163: Microservice Scars - Alt.net 2hr

Team

Page 164: Microservice Scars - Alt.net 2hr
Page 165: Microservice Scars - Alt.net 2hr
Page 166: Microservice Scars - Alt.net 2hr
Page 167: Microservice Scars - Alt.net 2hr
Page 168: Microservice Scars - Alt.net 2hr
Page 169: Microservice Scars - Alt.net 2hr
Page 170: Microservice Scars - Alt.net 2hr
Page 171: Microservice Scars - Alt.net 2hr
Page 172: Microservice Scars - Alt.net 2hr

Skillset

Page 173: Microservice Scars - Alt.net 2hr

Frontend

Page 174: Microservice Scars - Alt.net 2hr

First Microservice

Page 175: Microservice Scars - Alt.net 2hr

Quality

Page 176: Microservice Scars - Alt.net 2hr

NoSql

Page 177: Microservice Scars - Alt.net 2hr

Infrastructure

Page 178: Microservice Scars - Alt.net 2hr

Security / DR

Page 179: Microservice Scars - Alt.net 2hr

Estimation

Page 180: Microservice Scars - Alt.net 2hr

Risk Profile at startup

Page 181: Microservice Scars - Alt.net 2hr

PM 101 -Risk Management

Page 182: Microservice Scars - Alt.net 2hr

Risk Profile: Team

1. Team availability2. Experience level of the Team3. Domain knowledge of the Team4. Technical skillset of the Team5. Team flow, size and track record

Page 183: Microservice Scars - Alt.net 2hr

Risk Profile: Product

1. Product Complexity2. Product Criticality3. Product Stability4. Problem Clarity5. User perspection / expectations

Page 184: Microservice Scars - Alt.net 2hr

Risk vs Returns

Page 185: Microservice Scars - Alt.net 2hr

Risk vs Business Value

Page 186: Microservice Scars - Alt.net 2hr
Page 187: Microservice Scars - Alt.net 2hr
Page 188: Microservice Scars - Alt.net 2hr
Page 189: Microservice Scars - Alt.net 2hr
Page 190: Microservice Scars - Alt.net 2hr
Page 191: Microservice Scars - Alt.net 2hr

Retrospective

Page 192: Microservice Scars - Alt.net 2hr

Monolith Gateway

Page 193: Microservice Scars - Alt.net 2hr

Stakeholders

Page 194: Microservice Scars - Alt.net 2hr

More than you think

Stakeholders

Page 195: Microservice Scars - Alt.net 2hr

Metrics

Stakeholders

Page 196: Microservice Scars - Alt.net 2hr

Transparency

Stakeholders

Page 197: Microservice Scars - Alt.net 2hr

Support Balance

Page 198: Microservice Scars - Alt.net 2hr

Business value

Page 199: Microservice Scars - Alt.net 2hr

Team goals

Page 200: Microservice Scars - Alt.net 2hr

Bake some goods

Page 201: Microservice Scars - Alt.net 2hr

Time to iterate

Page 202: Microservice Scars - Alt.net 2hr

Don’t underestimate

users

Page 203: Microservice Scars - Alt.net 2hr

Pair pair pair

Page 204: Microservice Scars - Alt.net 2hr

Questions

Page 205: Microservice Scars - Alt.net 2hr

Thank you

Page 206: Microservice Scars - Alt.net 2hr

https://github.com/PageUpPeopleOrg


Related Documents