In May 2019, we released a paper that discussed the various challenges of multi-cloud application platforms and how the concept of a cloud runtime can address those challenges. Today, we are releasing a follow-up to that paper to expand on the concept of cloud runtime. A cloud runtime is a concept of common application services connectivity with various resiliency and geographic manageability functions. The concept begins with a premise: regardless of where your application runs, the cloud runtime must provide a set of OSI Layer 7 application platform resiliency and manageability services that improve the overall quality of service — and ultimately — the user experience.
As an application owner, you should be able to trace the overall performance of user transactions in specific geographic locations, from the time a user clicks on an application to the time the transaction is completed, regardless of the number of distributed cloud services that transaction uses. More importantly, instead of contending with multiple “tuning knobs” to achieve such quality of service, the cloud runtime gives you the ability at deployment time to state the service level objectives (SLOs) and service level indicators (SLIs) you expect from the system.
The cloud runtime is then bound to adhere to your preferences. The basic principles of cloud runtime are: end-to-end traceability of application transactions from edge to cloud; geographic distribution of application services, based on capacity and proximity rules; a consistent observability perspective; various resiliency functions, such as autoscaling, circuit breaking, and cloud bursting; and a declarative model that is SLO-driven.
We refer to “cloud runtime” as a runtime because it acts as a common cloud abstraction layer for application services. Such services receive various platform-level functionality that improves ongoing deployments and the resiliency of distributed applications overall. From an abstraction perspective, we build on three main layers — Kubernetes, service mesh, and cloud runtime. Kubernetes forms the bottommost layer, service mesh is the next layer, and then cloud runtime sits on top of service mesh to offer the various quality of services functions.
Read more in our new whitepaper, “Office of the CTO Perspective: Cloud Distributed Application Runtime – An Emerging Layer for Multi-Cloud Application Services Fabric Cloud Distributed Application Runtime.”