By more measures than one would like, 2020 was a transformative year. Whereas we may have entered it with the question, “How do we do Digital Transformation?” (and maybe “What is it in the first place?”), we’re now living it, and the question has become, “How can we keep up the momentum now that it is a reality?”
As a result, 2021 will be all about maintaining that fast-paced, forward motion that we achieved this past year. Here are our five predictions for how this will manifest across the complex world of today’s cloud-native environments.
Containers and microservices have allowed development teams to deliver focused and well-bounded services quickly and with ease. Through re-use, these turn quickly into capabilities that the business can rapidly re-compose to implement new products, services and processes. This is the primary means through which the business can accelerate time to market. It also drives a shift from self-contained, stand-alone microservice applications to a landscape of connected services.
We predict 2021 will be the year in which microservice applications decompose into services that, in turn, form a service landscape. This spells the end of the traditional, stand-alone application and its development and operations models.
As applications turn into a landscape of services, we will see the end of traditional architecture. Because businesses want the speed that agile, organic service composition affords and because every service has an API, developers and architects will no longer be able to predict who will call a given service tomorrow or a week from now. As a result, they can no longer architect and design systems up-front. Of course, if we can no longer plan or predict ahead of time, we need to control at runtime.
That’s why, with the emergence of service landscapes, 2021 will also be the year in which architecture—the process of designing how systems compose and interact—becomes a real-time function. Architecture will become real-time interaction management.
The bulk of functionality in a service landscape is always provided by dependencies. At the same time, utilization—that is, demand from dependent services—is often unpredictable. As a result, and unlike in traditional architectures, bugs in code rarely play more than a marginal role in incidents. They are also relatively easy to diagnose and fix. In contrast, systemic behaviors—noisy neighbors, feedback loops, random ripple effects and cascading failures—are difficult to diagnose and impossible to fix in code. Systemic behaviors always occur unexpectedly, caused by a confluence of factors. This is why the story of every outage is always the same. Outages happen due to systemic interaction behaviors, which are fundamentally unpredictable.
Controlling systemic behaviors in service landscapes will be the defining problem of 2021. We predict that testing and staging will “shift left” towards the pre-deployment stages and focus narrowly on unit and load testing of individual services. Operational control, on the other hand, will “shift right” and focus on managing systemic behaviors at runtime, as they occur. Operational control will concern itself not just with performance monitoring but with real-time performance management.
This, in turn, enables not just Digital Experience Monitoring but Digital Experience Management: the shaping of interactions across the service landscape instead of local performance optimization. Shaping how systems interact across the landscape allows for much more flexible, predictable, direct, and real-time control than attempting to improve the performance of individual services.
Another way of putting this is that the industry will shift from passive observability to active control, thus closing the gap between passive data and active doing.
Observability today focuses narrowly on producing in-depth data. In-depth metrics, logs, traces and events are useful for managing either complex (but static) or dynamic (but simple) environments. However, with today’s complex and dynamic service landscapes, collecting ever more in-depth data is counterproductive. What matters in service landscapes is rapid detection and rapid remediation of systemic behaviors. This requires much less observability and much more control.
Because observability is no longer enough with today’s complex and dynamic environments, we predict 2021 to be the year in which the industry will shift from passive observability to active control. This will leave traditional observability to serve the local concerns of developers, while runtime control will address the global concerns of operators.
The promise of DevOps is to deliver software directly and robustly by integrating development and operations tightly. This integration is apparent in the phases of the DevOps lifecycle, which cover the planning, writing, building, testing, releasing, deploying, configuring and monitoring of code. Of course, this only works in a world where production issues can be controlled “in code.” With organically evolving service landscapes, however, this is no longer the case. Production issues in service landscapes are no longer due to defects in code that could be diagnosed, fixed and re-deployed rapidly. They are due to unpredictable systemic behaviors that need to be controlled at runtime.
As a result, we predict that 2021 will see runtime control become the “9th phase” of the DevOps lifecycle and thus realize the promise of DevOps in a world of connected services. We’ve watched DevOps accelerate the deployment of services that increasingly interact with each other in unpredictable ways. By bringing these interactions under control, DevOps will break down not just the wall between development and operations but also the wall between development, operations and the business. This will enable businesses to develop more quickly and better meet the demands of their users.
We believe the surge of Digital Transformation in 2020 will drive a fundamental shift toward rapidly expanding and rapidly evolving service landscapes in 2021. Because these service landscapes treat applications as connected services, they spell the end of the stand-alone, self-contained application as we know it. Due to the dynamic nature of service landscapes, architecture will become increasingly a runtime function: it will become interaction management. Due to the complex nature of service landscapes, systemic behaviors will matter overwhelmingly more for their stability and security than defects in code. This will necessitate a shift from passive observability to active control: the chaos needs to be controlled in real-time, not after hours of “root cause” analysis. Traditional observability will serve local developer concerns while runtime control addresses the global operations concerns. Active control, finally, will allow DevOps to fully support an agile operating model, thus enabling BizDevOps.
There you have it. Our five predictions of how cloud-native environments will fundamentally change in 2021. Here’s to an exciting and promising year!