The Unsung Hero of Cloud-Native Applications

Prashanth Cale
3 min readJul 13, 2021
Just like this

Enterprises can deploy and manage complex, data and network-intensive applications that were not possible nor practical at speed and scale earlier. And the whole industry is on the verge of revolutionizing their offering innovations with an “as-a-service” experience both in Retail and Enterprise ecosystems. This reality is possible largely due to the Cloud Native.

So, what is Cloud Native?

Cloud-Native, as the name suggests, is that which is developed and managed within a cloud environment. Cloud Native apps are not the ones that “can” run in a cloud but those that originate in a cloud. It is citizenship by birth not by immigration from on-premises data centers.

The basic tenets of any Cloud-Native development are Microservices, Containers, DevOps, and CI/CD. Microservices means decomposing an application as a collection of services that are loosely coupled, independently deployable and organized around business capabilities. These specialized, single-function services as individual units make up a complete application — but each one can be deployed, upgraded, and managed on its own. Whereas Containers, unlike standard virtual machines, which require an embedded operating system, are designed to run anywhere and are not reliant on any one cloud platform or specific cloud service. When packaged in a container with all of the resources (code, runtime, system tools, libraries and settings) it needs to run, a microservices can be scaled quickly and independently of other microservices. In other words, a Container is a standardised unit of Software.

All these containers with microservices are orchestrated by platforms such as Kubernetes. And DevOps is a process of developing and delivering apps in this architecture.

Now one thing that is often seen missing from the above scene is the Application Delivery Controllers (ADC). ADC is the unsung hero of this grand story. Performance, Resilience and Security are selling points of this entire CN revolution which makes Operators thrive in the XaaS economy due to ADCs at the most fundamental level.

So what are ADCs?

Understanding ADC requires quick time travel from two vantage points. In a highly abstracted system design, between a client and application servers, there are two important components: Load Balancers and Reverse Proxy servers.

Simple Network Design

Load Balancers distribute the traffic across the Reverse Proxy Servers for optimum service management. The first path would be that of Load Balancer evolution. Load Balancing was done at Layer 4 based on IP address and Port numbers till recently where it is done at Layer 7 based on HTTP header, URL, Cookies, Intent, etc. Though they kept evolving from Hardware to Virtual to Software, it’s always been a manual process to configure, bake in policies, etc. On top of that, it required third party Security Software to be loaded which demanded an additional project-time (headache) for Network Engineers. The effort tripled as the traffic doubled.

Now the second path. The Reverse Proxy Servers are network devices between Load Balancers and Application Servers. They take 75% of the responsibilities of Application Servers. They accept, forward and return the server response to LBs. In addition to HTTP authentication, SSL encryption, storing JS & HTML content, Caching and Compression, they also optimize the traffic.

Instead of managing a two sets of population of Load Balancers and Reverse Proxy Servers, architects eventually decided to consolidate the key functionalities of both Load Balancers and Reverse Proxy servers and put them into a single device. That single device is an Application Delivery Controller which saves 80% of time and resources. In short, ADCs simplify and accelerate the application delivery in multi-cloud, multi-tenant, heterogeneous environments such as Operators ecosystems. ADC delivers the application services and manages interactions by optimizing the application performance, availability, and security level.

The role of ADCs on the application delivery management in the Cloud-Native Development process is no less than that of the other celebrated components. Whenever we talk of speed, availability and resilience, you know whose courtesy it is. ADC.

(Originally published by the same author on stl.tech/blog on 21st June, 2021)

--

--

Prashanth Cale

Lives are lived in parallel and perpendicular, fathomed nonlinearly, figured not in the straight graphs of “bio" but in many-sided, many-splendored diagrams.