Microservices has generated plenty of hype in the developer and wider enterprise IT communities over the past five or so years. A quick look at Google Trends shows the term “microservices” beginning to take off in 2014 and spike in 2017, with popularity flat since then. This is a familiar pattern with many tech trends — a hot concept takes the industry by storm but then plateaus as organizations try to figure out how they’re actually going to implement it. But interest in microservices isn’t going to stay still much longer and several signs indicate that we’re in fact at the precipice of mainstream adoption.
The initial wave of microservices adoption was driven by the trend towards APIs and SaaS-based products in the mid-2010s. The latter trend had a particularly significant impact as cloud native apps are a natural fit for microservices. This first phase led to a couple of clear benefits: first, it improved scalability and reliability of applications, and second, it increased the productivity of large software development teams. However, microservices did not see widespread adoption during this time and mostly caught on among advanced developer teams. Some of these teams just experimented with microservices but did not commit to the approach across the entire organization for apps in full production.
The Second Wave of Microservices Adoption
Despite progress during the initial wave of microservices adoption, it’s still historically been difficult to debug and maintain apps designed via microservices, and as noted above, only the most innovative development teams were releasing them. But that’s beginning to change for several reasons. One key driver is the recent emergence of Kubernetes as the de-facto option for managing containers. Microservices is a part of Kubernetes’ DNA — it is the primary method by which apps are developed and deployed when using Kubernetes. And moreover, with the rise of Kubernetes, many other tech players are now releasing open source toolkits and frameworks that address microservice challenges and ultimately allow other organizations to properly adopt them. For example, Microsoft recently launched the open source Dapr project, a “portable, event-driven runtime that makes it easy for developers to build resilient, microservice-based stateless and stateful applications that run on the cloud and edge and embrace the diversity of languages and developer frameworks.”
The trend toward APIs and SaaS will only continue to accelerate, and it will keep pushing more organizations to microservices. But there are other major shifts that will factor in, too. First, the growing distribution of apps and infrastructure to hybrid cloud and edge environments will further boost microservices adoption. The highly distributed nature of hybrid cloud and edge settings make them a natural fit to use microservices to develop and support apps there, as the very purpose of microservices is to provide an alternative to monolithic app architectures.
The rise of “true” multicloud will also lead to more microservices adoption. But what does true multicloud really mean? Most large enterprises are currently leveraging multiple cloud platforms. But they’re typically taking a siloed approach where one app is kept entirely in one cloud and another app is kept entirely in another cloud. True multicloud is spreading an individual app across two or more clouds, with component A of the app in one platform and component B in another platform. Organizations will eventually realize the benefits of this approach, as it allows them to better leverage the unique benefits of each cloud, improve app availability and provide compliance benefits. Once organizations start embracing true multicloud, it will make it easier for them to embrace microservices and those microservices will become more effective.
Microservices Benefits, Misconceptions and Hurdles
Microservices provide several important advantages that add up to major business value. When used properly, this approach improves developer productivity and app resiliency, while decreasing the time to service. It makes it easier to scale services and applications at a lower cost and easier to adopt newer platforms. Ultimately, microservices allow organizations to modernize apps significantly, making both end-users and businesses the biggest beneficiaries.
Still, there are a few misconceptions to address. Just like when the public cloud first got hot 5-10 years ago, it’s important to understand that microservices are not a panacea. While they offer tremendous benefits, there are some challenges that need to be addressed to leverage their full value. For one, it’s not necessarily easier to operate or debut apps using microservices. Second, microservices won’t simply increase scalability and reliability on their own. For these benefits to materialize, organizations must have the proper systems, infrastructure and processes in place.
We’re on the path toward mainstream microservices adoption. But for this to fully pan out, several hurdles must be addressed. First, we need better developer education across the board. Microservices pose a radically new way to develop apps, and developers can’t be expected to bridge such a gap without proper training. Building on that point, we need a simpler, more fail-proof microservices development environment. Current environments are too tricky and difficult to learn. Finally, we need an easier operations platform for large-scale microservices deployments.
Despite these hurdles, there’s no doubt that the mainstreaming of microservices is starting to happen now. Unrealistic expectations must be tempered and there are challenges to overcome, but those problems are beginning to be addressed. Tech leaders, both large vendors and emerging startups, are doing a good job of releasing tools to help the transition, and more big players will unveil open source projects this year. Ultimately, microservices will improve apps considerably and vastly benefit the organizations that rely on them.
Feature image via Pixabay.