How is the Eventbrite application architected?

This is a common story that you will find in a lot of startups. The founding engineers built a monolith and the strategy was to build features fast and capture the market. It was a very successful approach.

As the company grew over time, having a large team working on the monolith became challenging. And after a certain size, it was also harder to keep scaling the monolith vertically.

Over time, some of the monolith was migrated over to microservices. New services are generally containerized, and the monolith is containerized in development but not in production.

What’s your development environment setup now?

Every engineer runs ~50 containers which corresponds to the monolith, the microservices, the data stores (MySQL, Redis, Kafka…) and various tools (logging, monitoring).

Developers use yak (which we built internally) to deploy and manage their remote containers.

We use AWS EKS for the Kubernetes clusters, in which every developer has their own namespace. We have hundreds of developers and many EKS clusters.

yak is very similar to  blimp since it enables the engineers to manage their remote containers without exposing them to the complexity of Kubernetes.

#devops #microservices #development #software engineering #application architecture #developer productivity

Q&A: How Eventbrite Prioritizes Developer Productivity
1.25 GEEK