Zenefits principal engineer Venkat Thiruvengadam and SignalFx engineer Maxime Petazzoni discuss operationalizing Docker at scale. Learn about the transition to a well-conceived microservices approach, the tools chosen to support these services, and the lessons learned from monitoring containers in production in a high-performance environment.
How to Troubleshoot Apps for the Modern Connected Worker
Operationalizing Docker at Scale: Lessons from Running Microservices in Production
1. M M / D D / Y Y
YOUR TITLE HERE
P R E P A R E D F O R :
P L A C E L O G O
H E R E
Operationalizing Docker at Scale
Lessons from running microservices in production
V e n k a t Thiruvengadam, Zenefits
M a x i m e P e t a z z o n i , S i g n a l F x
2. Introductions
Venkat Thiruvengadam
• Principal Engineer @ Zenefits
• Creator of Project Duplo, a hosting platform for
microservices
Maxime Petazzoni
• Software Engineer @ SignalFx
• Creator of MaestroNG, a container orchestrator
for Docker environments
3. M M / D D / Y Y
YOUR TITLE HERE
P R E P A R E D F O R :
P L A C E L O G O
H E R E
Micro-services @ Zenefits
5. Zenefits Engineering
• 200 Developers
• Monolith Django Application on MySQL Backend
• Transitioning to SOA
• Dozens of services, few Hundred containers
• Hosted in AWS (No on premise servers)
• Duplo: Self-service Hosting platform for Microservices
• No Direct AWS access for developers
• No dedicated Devops
6. Monolith vs Microservices
• Monolith
• Advantages
• Single Code Base. Easy to read/debug/deploy
• No inter-service contracts, compatibility or authentication concerns.
• Easy to get started. Great for small teams.
• Disadvantages
• Single point of failure
• Slow iteration with large teams (Managed by central ops team)
• Single programming language & technology pattern
• Microservices
• Independent deployment and hence faster iteration
• Distributed Functionality, no single point of failure
• Programming Language & technology agnostic
12. How can I do CICD in Duplo?
Let’s give you AWS access, create your service
What is this Security group, subnet, IAM? Why does my django
app need this? Will allow * work?
Hmm…..
Shall we create an AWS username for everyone?