A monolith with tentacles: What to expect when you start adding services to a legacy codebase

by Matt Meshulam | at Minnebar 17 | 3:45 – 4:30 in Tackle | View Schedule

You work on a web app that's grown and evolved over a few years. The backend stack you started with is familiar, and it's mostly accommodated your app's growing complexity. But you've started to hear a persistent voice calling to you: "We've outgrown our monolithic app! A service-oriented architecture will solve all our problems!"

If you've heard this voice and are intrigued by its promise, or have worked in a codebase navigating the tension between a central monolith and service-oriented model, this session is for you! I'll share what I've learned in the 5+ years since Reverb decided to introduce services around our Rails monolith, and there will be space for others to share their own experiences and ask questions.

Some topics we'll cover:
* Clarifying why you're re-architecting your application: Scaling an organization vs. scaling technology
* How do you actually split up an existing application?
* Tying it all together: Inter-service communication, API gateways, and frontend/client considerations
* Anticipating the operational overhead that comes with multiple services


Matt Meshulam

I'm a senior engineer at Reverb.com, the marketplace for musical instruments. Currently I'm on Reverb's platform team, where I work on making it fast, safe, and simple for us to get code into production.

Prior to my six years at Reverb, I've worked as an engineer, product manager, and sales engineer at a variety of tech companies, from 10-person startups to financial software firms older than I am.

A Chicago native, I live in Minneapolis with my spouse and dog. Outside of work I enjoy biking, gardening, and cooking.