4. What are micro services?
small independent composable
services
that do one thing well
5. Unix philosophy
Write programs that do one thing well.
Write programs that work together.
cat | grep | sed | awk | ...
HTTP is the new pipe!
6. lots of legacy, no reuse
not flexible, high cost of change
no one knows how it works
concentrated complexity
independent small that do one thingcomposable
90 year old business
7. “A 100k loc app is
just 100 1k loc apps
waiting to happen”
- Jeff Bay
8. Adventure so far
25 VM’s in production
10+ micro-services
one click deployment
60+ VM’s across
environments
14. “we’re effectively pushing the
complexity from the application
into the infrastructure...”
- James Lewis
15. CI + DevOps
enables
single-click deployment
so easy, our product owner does it!
it just works™
3 mins to production (~25 servers)
16. Puppet Solo
Provisioning begins at home - Vagrant
Puppet goes through CI just like app code
Our ideal : ImmutableServer
Provisioning
17. Tradeoffs
benefit cost
small units of reuse/maintenance complex infrastructure
grow independently (**polyglot) network overhead
scale independently fragmented data
“easier” to grok “harder” to grok
isolated boundaries coarse-grained API
logging / tracing