Simple Scalability -Microservices on PaaS
Colin Humphreys
@hatofmonkeys
Simple PatternsOrganisationalArchitecturalOperational
Simple PatternsOrganisational
ArchitecturalOperational
Fast feedback
Organisational
Teams deliver business valueMeasurable metrics
Organisational
Four pairsTwo-pizzas
Organisational
Authoritative POWhat are we doing?
When is it done?
Organisational
T-shaped people
Organisational
Domain-Driven DesignHave a conversation
Organisational
InceptionIteration Planning Meeting
Retrospective
Organisational
Simple PatternsOrganisationalArchitecturalOperational
Partitioning StrategiesSingle-responsibilityBounded contexts
Architectural
Create pipelines of microservicescat text.txt | grep hello | sort
Architectural
Communication StrategiesSync – HTTPS/jsonAsync – Msg Q/json
Architectural
Communication StrategiesDesign for failureCircuit breakers
Architectural
DataImmutable idempotent events
Architectural
Data12-factor applications
'PaaS' compatible
Architectural
Let microservices die
Architectural
Simple PatternsOrganisationalArchitecturalOperational
Continuously deliverStart with CD pipeline 'helloworld'
Operational
Words
accept → wordcount → view
github.com/hatofmonkeys/microservices-demo
Operational
Blue/green deployed front-endShock absorber
Operational
Deploy to local containers
Operational
Deploy to PaaS
Operational
Deploy to your PaaS
Operational
Deploy to your IaaS
Operational
Deploy what you needWhen you need it
Operational
Scaling
Operational
InstrumentationResponse time of function
Error rateTrace ID
Operational
Simple PatternsOrganisationalArchitecturalOperational
But I have a monolith!Shake it
But I must Docker!Fock it
github.com/cloudcredo/cloudfocker
Simple Scalability -Microservices on PaaS
Colin Humphreys
@hatofmonkeys