Multi-Cloud Blog

Unravelling Microservices: The Honeymoon is Over

Unravelling Microservice Blogs
3 minute read
Siddharth Burle
image_pdfimage_print

Microservices architecture has been a hot topic since the middle of the last decade with seemingly everyone looking to make the shift to it. But has it lived up to the hype? Maybe not.

Uber: Refactoring thousands of microservices

Uber is one big name pulling back from microservices, with Gergely Orosoz, who at the time was an engineering manager at the company, sharing the news on Twitter:

Twittter Thread
Kelsey Hightower: “Monoliths are the future”

If not microservices, then what? Kelsey Hightower writes on changelog.com that, “Monoliths are the future because the problem people are trying to solve with microservices doesn’t really line up with reality…and I’ve done this before, gone from microservices to monoliths and back again.”

Sam Newman: Microservices should be a last resort

Cloud consultant Sam Newman has his own take on microservices. In his presentation on Monolith Decomposition Patterns at QCon London 2020, he caid the monolith is not the enemy and microservices should not be a default choice. In his book, Monolith to Microservices, Newman advised people to focus on the outcome, not the technology, and to always remember the goal is independent deployability.

What’s going on with microservices?

Why have so many projects become unmanageable with microservices, despite its promise of simplicity and flexibility? Are monoliths better, after all?

Microservices have always been positioned as a solution for monolithic codebases. But are monoliths necessarily a problem? According to Wikipedia’s definition, a monolithic application is self-contained and independent from other computing applications. A monolith can be beneficial if speed is more important than the perfect architecture, which is often the case for startups working with limited funding that need to start selling to survive.

Microservices could ultimately make life easier for those startups, but they come with upfront costs that require maturity to bear. To be clear, microservices do not “fix” monoliths. The real problem that microservices should solve is the inability to deliver on business goals because a system can’t support exponential growth, or the business can’t support unpredictable change costs.

The uncontrollable cost of change is not a property of a monolith but rather of a big ball of mud.

Big Ball of Mud

A big ball of mud is a haphazardly structured, sprawling, duct-tape-and-baling-wire, spaghetti-code jungle. These systems show unmistakable signs of unregulated growth, and repeated, expedient repair. Information is shared promiscuously among distant elements of the system, often to the point where nearly all the important information becomes global or duplicated.

Why microservices?

A good microservices architecture is elegantly simple, but it is not easy, fast, or accidental. There are many great, mature, large-scale microservices examples out there today—including Twitter, Amazon, Spotify, and LinkedIn—but there is a reason they all started out as monolithic applications and later evolved. Never let pursuit of technical perfection get in the way of business success. A pragmatic architecture means that technology choices should support the business needs, not the other way around.

We build systems, not sets of services

At BMC, we use a microservices-based architecture to optimize a system’s design, not the design of individual services. Microservices cannot, and will never be, completely decoupled nor fully independent. You cannot build a system out of independent components.

So, what is the answer? Microservice? Miniservice? Macroservice? I’ll discuss that in the next installment.

A primer on digital transformation leadership strategy

Learn the fundamentals of innovative IT leadership with practical steps so that you can start leading digital transformation within your company.


These postings are my own and do not necessarily represent BMC's position, strategies, or opinion.

See an error or have a suggestion? Please let us know by emailing blogs@bmc.com.

BMC Bring the A-Game

From core to cloud to edge, BMC delivers the software and services that enable nearly 10,000 global customers, including 84% of the Forbes Global 100, to thrive in their ongoing evolution to an Autonomous Digital Enterprise.
Learn more about BMC ›

About the author

Siddharth Burle

Siddharth is an innovator with 20 years’ experience in technology, strategy, development, delivery and operations of SaaS/On Prem products with emphasis on modern architectures, and time to market optimizations. He loves transformative times, the intersection of technology and consumer, building exceptional teams of people and fostering the culture of innovation and title less environment. His primary goals are to have Innovation at all levels, create title-less start-up culture, focus on Quality & simplicity and passion to embrace the change.