“We’re going to see the mainstreaming of microservices over the next year or two”
What’s next for microservices? We spoke with Ankur Singla, CEO, Volterra about the relationship between Kubernetes and microservices, the rise of multi-cloud approaches, and what will help make microservices adoption more mainstream.
JAXenter: Microservices have been a very hot topic for a few years now, whether breaking down monoliths or looking for ways to reduce dependencies between microservices. What’s next for microservices, in your opinion?
Ankur Singla: We’re going to see the mainstreaming of microservices over the next year or two. Microservices have generated lots of buzz over the past few years, but it’s really only been larger developer teams at select enterprises that have adopted the practice. It’s hard to debug and maintain microservices-based apps. Plus, there’s a massive learning curve for developers trying to take on this radically new approach, as is the case for any major technological shift. But that’s beginning to change for several reasons – namely, the dominance of Kubernetes, large tech players launching open source projects to make it easier to use microservices, the continuing trend toward APIs and SaaS, and the growth of multi-cloud.
JAXenter: Kubernetes has become a byword for microservices, will we continue to see Kubernetes dominate in this arena?
Right now, there is no container orchestration system close do displacing Kubernetes, but things can change fast in five years.
Ankur Singla: Kubernetes and microservices aren’t synonymous but they are closely tied to one another. Kubernetes is the most popular option for container orchestration, and it leads by a wide margin. Containers essentially popularized the concept of microservices in the mid-2010s – containers were designed to support the emerging microservices-based approach to distributed app development rather than the old monolithic approach to app development (although containers can still technically support monolithic apps). So if you’re using containers to deploy or support an app, it’s likely that app is built using microservices. Any containerized apps being managed using Kubernetes are thus typically microservices-based.
Kubernetes will keep experiencing surging adoption for the foreseeable future, and it will continue to be strongly associated with microservices. Right now, there is no container orchestration system close do displacing Kubernetes, but things can change fast in five years.
JAXenter: Would you mind briefly explaining what “multi-cloud” means, and then telling us about what the rise of multi-cloud means for microservices?
Ankur Singla: There are a couple of ways the term “multi-cloud” is being used today. For most organizations who say they’re taking a multi-cloud approach, it simply means that they are leveraging more than one public cloud – for example, using both AWS and Azure. This broad sort of multi-cloud adoption is common as most enterprises have deployed apps in more than one public cloud. It’s a very siloed approach and doesn’t maximize the value of the public cloud.
True multi-cloud means stretching an individual app across multiple clouds – putting certain components of that app in one cloud and other components of the same app in another cloud.
However, this is not what I would consider true multi-cloud. True multi-cloud means stretching an individual app across multiple clouds – putting certain components of that app in one cloud and other components of the same app in another cloud. This approach allows organizations to better leverage the particular benefits of each cloud, improves app availability and provides compliance benefits. Moreover, this strategy dovetails perfectly with a microservices approach. It enables organizations to optimize an individual component of a given app in whatever cloud platform best serves that component, rather than having to support the entire app in just one cloud. This is what microservices is all about – optimizing each part of an app rather than treating it as a monolith. True multi-cloud will continue to catch on, and it’ll accelerate microservices adoption.
JAXenter: The use of microservices is not necessarily “mainstream” yet. Is anything happening in the field that might help make microservices more accessible to the majority of users?
Ankur Singla: That’s correct, microservices aren’t mainstream quite yet but I expect that they will be within the next couple years. There are really two big factors driving this transition. The first is Kubernetes. Kubernetes has rapidly grown in popularity to become the de facto option for managing containers, and most organizations are now using the technology. Kubernetes was designed with microservices at its core – containerized apps managed by Kubernetes are almost always developed and deployed using microservices. Thus, the rise of Kubernetes is naturally leading more developer teams to adopt microservices.
The second major factor is the increasing efforts by big tech incumbents to launch open source projects that address the common challenges associated with microservices (such as debugging and maintaining apps) and ultimately enable other organizations to properly adopt them. For example, Microsoft has put a lot of resources behind its Dapr project. Dapr delivers 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.” There are other factors, but these are probably the two biggest drivers that are accelerating microservices adoption in the near future.
JAXenter: What about the tooling to debug and maintain microservices – are they evolving to match this changing landscape?
Expect to see more startup-led efforts to simplify microservices adoption take off soon.
Ankur Singla: Slowly but surely. Again, major tech incumbents are making good headway in releasing open source frameworks and toolkits to address the challenge of debugging and maintaining microservices-based apps – and so are many young, innovative startups. If you’re an infrastructure software startup that launched in the past year or two, it’s very likely that your platform is designed to support microservices-based apps, and it’s equally likely that you also developed your own technology using microservices. So these startups understand the core microservices challenges, like debugging and maintaining apps. It’s in their business interest to help developers in general solve them. Expect to see more startup-led efforts to simplify microservices adoption take off soon.