the hidden costs of the microservices architecture
by mirosław nagaś
presentation goal
— Simon Brown
“If you can't build a monolith, what makes you think microservices are the answer?”
developed independently by different teams technology agnostic
loosely coupled small, easy to replace
microservices 101
“There's just no getting around it: you're building a distributed system”
— Mark Cavage, ACM Queue
¯\_( )_/¯
1
microservices 101
distributed systemis a
complexity booster
understand
design
build
operate
#12factorapp
#reactivemanifesto
eg. fallacies of distributed computing
the network is reliable
latency is zero
bandwidth is infinite
transport cost is zero
distributed systemintroduces
steep learning curve
effects of the fallacies deadly impact communication
communication
microservices communicate a LOT
(a)synchronous
communication
you will need several distributed systems to operate, manage and monitor your distributed system
2
microservices 101
distributed systems
everything-as-a-service
distributed systems
shitload of good things
3
microservices 101
release early, release often
SoT
similarity to IoT
intentional
continuous integrationautomated tests
continuous deliverycontinuous deployment
SoT
canary deploymentscircuit breakerscentral logging
immutable infrastructure chaos monkey
SoT
IaaSPaaS
365 days ofuptime
is so yesterday…
SoT
Image credit: http://martinfowler.com/bliki/MicroservicePrerequisites.html
Mr.Handyman Ops
.org shift
Image credit: http://www.homesenergy.co.uk/
DevOps
.org shift
collaborativesoftware development
Image credit: http://martinfowler.com/bliki/DevOpsCulture.html
DevOps
it’s not aboutelimination of ops people
NoOps
it’s aboutdecentralized operations
NoOps
it’s aboutfull automation for all critical
development and releases processes
NoOps
it’s aboutscalable, elastic, fault tolerant and
high available systems and infrastructure
NoOps
it’s aboutproducts, not projects
.org shift
Thank you
@miroslawnagas
lab.getbase.com