And, as organizations speed up digital transformation, they see that the biggest roadblock to faster innovation is legacy monolithic architectures. This will lead to them adopting more “DevOps” friendly microservices-based architectures. But why microservices?
Microservices, the buzzword for integration technology today, is a type of software architecture where small, independent processes—arising from the web, wearable devices or the Internet of Things—communicate with each other by using application programming interfaces (APIs).
The standard three-tiered database style of architecture, which has evolved into an N-Tier architecture with more than three but still discrete tiers, ran into trouble because of the considerable pressure put on when a single instance of an application was running in a production environment. All clients, whether they were humans or systems, communicated with that one application server.
What has happened over time is the substantial increase in the size of the applications organizations are attempting to deploy. Look at Netflix, Facebook and LinkedIn—these are massive applications. Even inside the enterprise, it is now not uncommon for a single massive application to be deployed for enterprise-wide or customer-facing use. There are hundreds of thousands of users today, as opposed to years ago when applications were mostly built in stovepipes and silos for departmental use. As a result, the complexity of trying to scale an N-Tier architecture built using a monolithic approach now outweighs the benefits of using that design.
In contrast, with a microservices approach, fanning out the processing and load across multiple instances is much easier to manage operationally and lends itself to making use of newer elastic scaling capabilities.
A microservices-based architecture is oriented toward separating storage and functionality discretely, so there can be many more instances of how things get stored and many more copies of that implementation running in an environment.
Adopting a microservices style of architecture does have its challenges. A traditional enterprise IT department has created a separation between development and operations—and for very good reasons. When developers are allowed to use “the right tool for the right job,” the cost or complexity of operating a system composed of many technologies often isn’t taken into consideration.
The introduction of microservices in IT impacts deeply ingrained culture by breaking down the barriers between IT development and operations. This signifies a movement away from the traditional IT development and IT operations into DevOps.
For microservices to become an effective style of architecture, there is needed a disruption within the overall organization such that the developers who built the system play a much larger role in operating it as well. The introduction of microservices in IT breaks the barriers between Dev and Ops.
And further undermines the foundations of monolithic architectures.