building microservices in the cloud - software architecture summit 2016
TRANSCRIPT
![Page 1: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/1.jpg)
Software Architecture Summit| 16.03.2015 | Christian Deger
Highway to heavenBuilding microservices in the cloud
![Page 2: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/2.jpg)
Christian [email protected]@cdeger
![Page 3: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/3.jpg)
2,4 Million Vehicles
![Page 4: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/4.jpg)
17 countries
350 employees
140 in IT
RUS
S
PL
NL
DB
F A
HR RO
BG
UA
I
TR
E
CZ
![Page 5: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/5.jpg)
2000 Servers2 Data Centers
MTBF optimized
![Page 6: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/6.jpg)
![Page 7: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/7.jpg)
NewCEO
![Page 8: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/8.jpg)
Talent?Do you attract
![Page 9: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/9.jpg)
![Page 10: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/10.jpg)
goodHmm, we are
![Page 11: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/11.jpg)
Rebooteverything
![Page 12: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/12.jpg)
Project
Tatsu
![Page 13: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/13.jpg)
.NET / Windows to JVM / Linux
Monolith to Microservices
Data center to AWS
Devs + Ops to Collaboration culture
Involve product people
![Page 14: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/14.jpg)
![Page 15: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/15.jpg)
same
direction
![Page 16: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/16.jpg)
STRATEGICGOALSGoals of the business side
ARCHITECTURALPRINCIPLESHigh-Level Principles
DESIGN AND DELIVERY PRINCIPLESTactical measures
REDUCE TIME TO MARKETSpeed, Fast Feedback
COST EFFICIENCYCollect metrics to allow decisions cost vs. value.
SUPPORT DATA-DRIVEN DECISIONSListen to users and validate hypothesis.Provide as many relevant metrics & data as possible.
YOU BUILT IT, YOU RUN ITThe team is responsible for shaping, building, running and maintaining its products. Fast feedback from live and customers helps us to continuously improve.
ORGANIZED AROUND BUSINESS CAPABILITIESBuild teams around products not projects. Follow the domain and respect bounded contexts. Inverse Conway Maneuver.
LOOSELY COUPLEDBy default avoid sharing and tight coupling, except for the big things in common. Don’t create the next monolith.
MACRO AND MICRO ARCHITECTUREClear separation. Autonomous micro services within the rules and constraints of the macro architecture.
AWS FIRSTFavor AWS platform service over managed service, over self-hosted OSS, over self-rolled solutions.
DATA-DRIVEN / METRIC-DRIVENCollect metrics from processes and applications. Analyze, alert and act on them.
ELIMINATE ACCIDENTAL COMPLEXITYStrive to keep it simple. Focus on essential complexity. You build one, you delete one.
AUTONOMOUS TEAMSMake fast local decisions. Be responsible. Know your boundaries. Share findings.
INFRASTRACTURE AS CODEAutomate everything: Reproducible, traceable and tested.Immutable servers over snowflake servers.
COLLABORATION CULTUREEngineers from all backgrounds work together in collaborative teams as engineers and share responsibilities. No silos.
BE BOLDGo into production early. Value monitoring over tests. Recover and learn. Optimize for MTTR not MTBF.
SECURITY, COMPLIANCE AND DATA PRIVACYSecurity must be included from the beginning and everybody’s concern. Keep data-privacy in mind.
CONTAINMENT AND BOUNDARIESAlign blast radius and vendor lock-in with the boundaries of the organization or business capabilities.
Version 1.0Icons made by Freepik from www.flaticon.com are licensed under CC BY 3.0
![Page 17: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/17.jpg)
Autonomous teams
business capabilitiesorganized around
![Page 18: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/18.jpg)
collaboration culture
![Page 19: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/19.jpg)
We are all engineers!
![Page 20: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/20.jpg)
You build it,you run it.
![Page 21: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/21.jpg)
ContinuousDelivery
![Page 22: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/22.jpg)
Unlimited Infrastructure with APIs
![Page 23: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/23.jpg)
![Page 24: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/24.jpg)
ImmutableServers
![Page 25: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/25.jpg)
Monitoring is the new testing
![Page 26: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/26.jpg)
Separatecode deployment
feature release
from
![Page 27: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/27.jpg)
How many environments?
Which versions on staging?Prod differs anyway: Load, data, patterns
V2V3
V6 V5
V4
V7
V5
V8
Engineer CI Dev Staging
V1
V4
Prod
![Page 28: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/28.jpg)
Nostaging
environment
![Page 29: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/29.jpg)
Event Sourcing
one way data highway
and data pumps
![Page 30: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/30.jpg)
SQS + S3
Kinesis + S3
Kinesis + DynamoDB
SQS + DynamoDB
Proxy + DynamoDB
DynamoDB
Evolution
![Page 31: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/31.jpg)
How (not) to shareshared nothing as default
loosely coupled
fast local decisions
voluntary adoption
exception: macro concerns
![Page 32: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/32.jpg)
Frontend integrationLoosely coupled
Autonomous team
High optimization
![Page 33: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/33.jpg)
![Page 34: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/34.jpg)
PageSpeed Module
css (page+fragment)
js (page+fragment)
ngx_pagespeed
css (page)
js (page)
css (fragment)
js (fragment)
![Page 35: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/35.jpg)
Infrastructure guild
Agree on things to do
Share learnings
Delegate implementation to teams
Infrastructure product teams needed?
![Page 36: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/36.jpg)
?
![Page 37: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/37.jpg)
STRATEGICGOALSGoals of the business side
ARCHITECTURALPRINCIPLESHigh-Level Principles
DESIGN AND DELIVERY PRINCIPLESTactical measures
REDUCE TIME TO MARKETSpeed, Fast Feedback
COST EFFICIENCYCollect metrics to allow decisions cost vs. value.
SUPPORT DATA-DRIVEN DECISIONSListen to users and validate hypothesis.Provide as many relevant metrics & data as possible.
YOU BUILT IT, YOU RUN ITThe team is responsible for shaping, building, running and maintaining its products. Fast feedback from live and customers helps us to continuously improve.
ORGANIZED AROUND BUSINESS CAPABILITIESBuild teams around products not projects. Follow the domain and respect bounded contexts. Inverse Conway Maneuver.
LOOSELY COUPLEDBy default avoid sharing and tight coupling, except for the big things in common. Don’t create the next monolith.
MACRO AND MICRO ARCHITECTUREClear separation. Autonomous micro services within the rules and constraints of the macro architecture.
AWS FIRSTFavor AWS platform service over managed service, over self-hosted OSS, over self-rolled solutions.
DATA-DRIVEN / METRIC-DRIVENCollect metrics from processes and applications. Analyze, alert and act on them.
ELIMINATE ACCIDENTAL COMPLEXITYStrive to keep it simple. Focus on essential complexity. You build one, you delete one.
AUTONOMOUS TEAMSMake fast local decisions. Be responsible. Know your boundaries. Share findings.
INFRASTRACTURE AS CODEAutomate everything: Reproducible, traceable and tested.Immutable servers over snowflake servers.
COLLABORATION CULTUREEngineers from all backgrounds work together in collaborative teams as engineers and share responsibilities. No silos.
BE BOLDGo into production early. Value monitoring over tests. Recover and learn. Optimize for MTTR not MTBF.
SECURITY, COMPLIANCE AND DATA PRIVACYSecurity must be included from the beginning and everybody’s concern. Keep data-privacy in mind.
CONTAINMENT AND BOUNDARIESAlign blast radius and vendor lock-in with the boundaries of the organization or business capabilities.
Version 1.0Icons made by Freepik from www.flaticon.com are licensed under CC BY 3.0
![Page 38: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/38.jpg)
Picture Credits• "HotWheels - '69 Ford Torino Talladega“ by Leap Kye, licensed under CC BY-ND 2.0• Differences between Traditional vs Next Generation by Simon Wardley under CC BY-SA 3.0• Enterprise IT Adoption Cycle by Simon Wardley under CC BY-SA 3.0• And the future is private by Simon Wardley under CC BY-SA 3.0• Leosvel et Diosmani by Ludovic Péron under CC BY-SA 3.0• Spare wheel by Brian Snelson under CC BY 2.0• Wheel clamps Texas by Richard Anderson from Denton, United States (Boots.) under CC BY-SA 2.0• Wandergeselle by Sigismund von Dobschütz under CC BY-SA 3.0• Sharing Sucks (4536747557) by eyeliam from Portland, United States under CC BY 2.0• Traffic Jam by Doo Ho Kim under CC BY-SA 2.0• Puzzling by Bernd Gessler (Own work) CC BY-SA 3.0• Amazon16 by Neil Palmer/CIAT under CC BY-SA 2.0
![Page 39: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/39.jpg)
Backup
![Page 40: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/40.jpg)
![Page 41: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/41.jpg)
21st CenturyWhat does a
tech company look like?
![Page 42: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/42.jpg)
Great Design
Universally Connected
Mobile First
Instant Business Value
Massive Data Insight
Highly Available
![Page 43: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/43.jpg)
Giants
Stand on the Shoulders of
![Page 44: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/44.jpg)
![Page 45: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/45.jpg)
Conway’s Law
“organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations”
![Page 46: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/46.jpg)
UnifiedLogs
CC
![Page 47: Building Microservices in the cloud - Software Architecture Summit 2016](https://reader031.vdocument.in/reader031/viewer/2022013109/58a1a8321a28abe6468b5b8d/html5/thumbnails/47.jpg)
Two stacks
Cash stack meets shiny new stack
One company
Lights on in cash stack
Feature freeze
Where to build new features?
Ease of integration helps business peopleWW