Modern development - Volterra: why microservices are going mainstream
This is a guest post for the Computer Weekly Developer Network written by Volterra CEO and founder Ankur Singla — Volterra provides a distributed cloud platform to deploy, connect, secure and operate applications and data across multi-cloud and edge sites.
This series is devoted to examining the leading trends that go towards defining the shape of modern software application development.
As we have initially discussed here, with so many new platform-level changes now playing out across the technology landscape, how should we think about the cloud-native, open-compliant, mobile-first, Agile-enriched, AI-fuelled, bot-filled world of coding and how do these forces now come together to create the new world of modern programming?
Asserting that microservices have an increasingly important role to play in the immediate future shape of software application development, Singla says that the surge seen with Kubernetes adoption and a selection of other factors are the reason microservices will become more mainstream in 2020 and onwards.
Singla writes as follows…
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 because cloud-native apps are a natural fit for microservices. But before that, the first phase led to a couple of clear benefits: first, it improved the scalability and reliability of applications — second, it increased productivity of large software development teams. However, microservices did not see widespread adoption during this time and mostly only 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.
It’s still difficult to debug and maintain apps designed via microservices… and developers face a steep learning curve to master this radically new approach.
But, having said all this, several shifts are occurring that will lead to the mainstream adoption of microservices this year.
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. Moreover, with the rise of Kubernetes, tech players are 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, which is (to use Microsoft’s own definition) a portable, event-driven runtime that makes it easy for developers to build resilient, microservice stateless and stateful applications that run on the cloud and edge and embrace the diversity of languages and developer frameworks. There are also some newer startups ramping up efforts to address these issues as well.
The trend toward APIs and SaaS will only continue to accelerate and it will keep pushing more organisations to microservices. But there are other major shifts that will factor in, too.
First, the growing distribution of apps and infrastructure to multi-cloud and edge environments will further boost microservices adoption. The highly distributed nature of multi-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 a more reusable and agile alternative to monolithic app architectures.
The rise of ‘true’ multi-cloud will also lead to more microservices adoption. But what does true multi-cloud 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 multi-cloud 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. Organisations will eventually realise the benefits of this approach, as it allows them to better leverage the unique best-in-class innovation of each cloud provider, improves app availability and provides compliance benefits. Once organisations start embracing true multi-cloud, it will drive them to further embrace microservices, and those microservices will become more impactful to their business.
The mainstreaming of microservices is starting to happen now.
There are certainly challenges to overcome, but they 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 and customers that rely on them.