Monolith to Microservices - Challenges and Lessons
A microservices based architecture, while making many things better, brings its own set of challenges. In this talk, I will focus on the challenges we have faced and lessons learned at Expedia on 4 key topics. They are Scaling & Performance, Stability & Reliability, Monitoring & Performance, and Organisation.
In this talk, I discuss challenges faced at Expedia and lessons that we have learned through the process. The main themes covered are around org structure and design, stability & reliability, monitoring & observability, scaling & performance of microservices. I will help answer questions like
- What should you think about, with respect to the org design before you break a piece of functionality from the monolith into its own service?
- Why is a deployment pipeline a must have for any and every service?
- What tasks should be automated?
- Is there such a thing as too much automation?
- What types of testing are needed in a microservices architecture?
- What about monitoring and scaling? Why is this harder with a microservices architecture when compared with a monolithic architecture?
I recently presented this talk at YOW! Nights in Sydney and Brisbane.
Outline/Structure of the Talk
I will focus on challenges and lessons learned from the following key topics
- Stability & Reliability
- Scaling & Performance
- Monitoring & Observability
- You are not alone in feeling the pain of microservices
- Ideas you can apply to your context on managing a microservices architecture
Prerequisites for Attendees
Participants should know the following
- Understand the difference between a monolithic architecture and a microservices architecture
- Be well versed with modern cloud-native development practices
- Have read about microservices in places like
- Sam Newman's Building Microservices book
- and Susan Fowler's Production Ready Microservices book