Stage 6

Microservices versus monolithic

4-minute read


Stage 6 is about building a new application architecture—and it starts with thinking through the pros and cons of microservices and monolithic architectures. Many people might assume a microservices architecture is the clear choice. But is it really? No, not necessarily. The important thing is to step back and evaluate what fits your desired business outcomes.

Engineers at Etsy and Netflix had an enjoyable Twitter fight over the necessity of microservices for continuous deployment and developer autonomy. The engineers at Etsy pointed out that they had small, functionality-based, agile development teams and extremely rapid deployments (about 60 a day1) while still running a monolithic application. They found a system which worked for them and their culture. Meanwhile, Netflix found that what works best for them is a microservices architecture.

Netflix deploys 100x a day on a complex distributed architecture2

Architecture and digital transformation

Basically, don’t worry about what large and innovative companies like Netflix are doing. What’s important is that you focus on developing an architecture that suits your own unique goals. Just know that at some point, digital transformation will affect your current apps and architecture. If you have an existing monolithic app, there are two related ways to begin addressing that technical debt:

  • Break out existing services as they require updates or replacement (strangling)
  • Create new functionality in separate, independent services (starving)

Neither method requires a full commitment to microservices. Key Bank, a Red Hat customer, needed to reduce release times from quarterly to weekly, and it accomplished this while still having a monolithic app.3 And while another bank like Barclays might share the same goal of increasing market response times, it can achieve that goal using a completely different architecture.

Success Story


Barclays

We need to deliver products to market quicker than ever and be more responsive to market trends. We want to become the bank of the future.

Simon Cashmore, Head of PaaS Middleware Engineering, Barclays

Watch video

How do the different architecture types stack up?

There are three prominent application architectures today, based on the relationships between the services: monoliths (tightly coupled), microservices (decoupled), and (though falling out of favor) service-oriented architectures (loosely coupled).

The question for an organization isn’t, “can we replace our monolith with microservices?” The question is what is our strategic goal and what do we need to do to get there? Before you start planning your architecture, you need to have a very clear understanding of your strategic priorities and goals. Ask yourself:

  • Who are your customers or users?
  • What are they trying to do?
  • What infrastructure do you have?
  • What’s the life cycle of that infrastructure?
  • What services or functionality are required for a single workflow?
  • What is the life cycle for that workflow?
  • What is your deployment path, and how frequently does it need to be deployed?
  • What business capabilities does this affect?

Once you can answer these questions, then it’s time to compare architectures and see which one best aligns with your culture, priorities, and goals. You can do that by downloading the e-book, “Teaching an elephant to dance,” which goes into greater detail about the pros and cons of the different system architectures.

E-book author


Burr Sutter

Product Management Director, Developer Products, Red Hat

Sutter creates middleware developer solutions for Red Hat clients. He's currently an Oracle Java Champion, and he's a founder of the Atlanta chapter of the IASA. A tech educator with 20+ years of experience, Sutter has spoken at numerous industry events around the globe.

For the full story, download the free e-book

"Teaching an elephant to dance"

  • 1 "The Great Microservices Vs Monolithic Apps Twitter Melee.” High Scalability, 28 July 2014, http://highscalability.com/blog/2014/7/28/the-great-microservices-vs-monolithic-apps-twitter-melee.html.
  • 2 "Bukoski, Ed, et al. “How We Build Code at Netflix.” The Netflix Tech Blog, 9 Mar. 2016, https://medium.com/ netflix-techblog/how-we-build-code-at-netflix-c5d9bd727f15.
  • 3 Spazzoli, Raffaele. “The Fast-Moving Monolith: How We Sped-up Delivery from Every Three Months, to Every Week.” Red Hat Developers, 27 Oct. 2016, developers.redhat.com/blog/2016/10/27/ the-fast-moving-monolith-how-we-sped-up-delivery-from-every-three-months-to-every-week/.