Butterfly in Reverse: From SOA to Monolith

By Mark Bates

Elevator Pitch

SOA, SPA, JSON APIs, all the big buzz words. I spend my days building these for my clients. When I started working on my startup we were going to build it “the right way”. So why is it a single monolith with full page refreshes and almost no JavaScript? Excellent question!


Service Oriented Architecture, Single Page Web Apps, JSON APIs, all of the big buzz words. I love all of them. I spend my days building these types of systems for my clients. That’s why when I started working on my side project startup with a friend we chose Go, Angular, and SOA. We were going to build this application “the right way”.

So why, if you go to the site now, is it a single Rails monolith with full page refreshes and almost no JavaScript? That’s an excellent question, and the subject of this talk.

During this talk we’ll look at how I started building my application “correctly” and ended up with the classic monolith architecture you hear people warning against. We’ll talk about why Go, SOA, and Angular were all the wrong choices for this app, and why the monolith was the right answer.

Along the way you might learn something or two about making the correct architectual choices for your organization, at the very least you’ll hear some funny stories about my pain and a few choice animated GIFs as well.


This talk will cover trade-offs of different architectures of the modern web application. Choosing the right language, the right framework, the right split of concerns, etc… can be difficult. Balance all of that against time to market, resources, and effort can make for difficult decisions.

By sharing my story, with the stumbles, pivots, and bad decisions that went along with it, I hope to help people avoid these mistakes and get their applications to market faster and correctly.

This talk is not about hating on any of these technologies, in fact I will praise them, but only in certain contexts.