The Power of the Monolith
Years ago, we used to work for a tech editor who, commenting on the ever-changing nature of IT, would joke how he would start a trend about the “latest trend” in the field, “The Monolith.”
While we tout the benefits of a microservices architecture at The New Stack, it is easy to forget that the design style is not always the best choice. These days it is taken as fact that the easiest way to manage a complex application is to break it down into separate components so they can be worked on independently. Holding a whole release to fix a single bug or add a new feature is crazy.
And yet somehow the monolithic approach is the best approach in some cases.
For example, we can look towards one of the most widely-used tools for building microservice architectures, the Istio service mesh, which itself is moving away from a microservice architecture in favor of a more monolithic build, pointed out Christian Posta, field CTO at Solo.io, in a blog post.
Expected to ship next month, Istio 1.5 will have functionality that was previously embedded in microservices, be moved back into core program. This was done for a number of reasons, user experience being one of them. When upgrading Istio, for instance, the end-user now can update a single binary, rather than a collection of them. The monolithic architecture also helps standardize security, Posta argued.
Istio will still be composed of many modules — each managed by a separate team — but they will be released and managed as a single release, much like Linux.
“Despite best intentions, it may be the right choice to go back to a monolith once you’ve started with microservices,” Posta writes. It’s okay “to go back to a monolith if your assumptions or the context around your decisions have changed.”
For those already on board with Istio, StackRox’s Principal DevOps Engineer Karen Bruner discusses a few of the highlights of the current version of Istio, v 1.14, in a contributed post for The New Stack. They include centralized tooling for service mesh management, AutomaticTLS, and a new authorization policy. They were developed to make Istio easier to use and manage, no matter the underlying architecture.