- Microservices are small, independent services that each perform a single function. They communicate through well-defined interfaces using protocols like HTTP. This allows for independent development and scaling of each service.
- The advantages of microservices include increased flexibility, scalability, and allowing a system to evolve more easily. However, they also introduce more complex infrastructure requirements and can result in fragmented data.
- The presentation provides examples of how microservices can be implemented incrementally by starting with high-level services and extracting smaller ones over time as needed. It also emphasizes the importance of testing, automation, and other DevOps practices for managing microservices architectures.
13. lots of legacy, no reuse
not flexible, high cost of change
no one knows how it works
concentrated complexity
90 year old business
14. 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
15. “A 100k loc app is
just 100 1k loc apps
waiting to happen”
- Jeff Bay
16. Adventure so far
25 VM’s in production
10 micro-services
one click deployment
60+ VM’s across environments
54. Tradeoffs
benefit cost
small units of reuse/maintain complex infrastructure
grow independently learning curve
scale independently network overhead
independent DB fragmented data
Polyglot