From Datacenter Communication to Web Communication: The Evolution of Networking for Distributed Applications
Bram Verhagen
Posted on December 12, 2023
In the early days of enterprise computing, applications were hosted on servers located in on-premises datacenters. Since these servers were in close physical proximity, the applications could communicate with low latency and high trust. Datacenters were walled gardens with limited connectivity to the outside world.
This model worked well when applications were monolithic and self-contained within a datacenter. However, as usage grew and applications needed to span multiple datacenters and are now distributed in the cloud, new networking and trust approaches were required.
The Emergence of the Internet
As the popularity of the internet grew, the need to connect datacenters and consolidate resources became evident. The first step was to connect datacenters over private wide-area networks (WANs) using technologies like virtual private networks (VPNs) and dedicated leased lines. While these connections provided a means to connect distributed environments, they came with inherent latency and were expensive for dedicated bandwidth.
Latency Over Long Distances
Stretching applications across datacenters increased latency for communications between application components. Technologies like VPNs and dedicated lines could provide security and quality of service, but they couldn't overcome the laws of physics. The physical distance imposed delays.
To cope, applications had to be re-architected using protocols better suited for high-latency environments. This drove adoption of technologies like HTTP, REST, and SOAP. These protocols exchanged structured data payloads and could tolerate occasional delays or failures. Monolithic applications were broken down into services communicating through web APIs.
Cost of Dedicated Connectivity
Maintaining dedicated leased lines between datacenters was expensive. Most enterprises could only afford a limited mesh with one or two links between locations. This constrained options for disaster recovery and load balancing across sites.
The proliferation of the internet provided a lower-cost alternative for connectivity. Direct connections were replaced with encrypted internet VPN tunnels. Rather than just linking datacenters, enterprises could now also connect branch offices and support remote workers.
The Web Protocol Takes Over
The HTTP protocol underlying the web was designed to work well over variable latency networks like the public internet. HTTP is asynchronous and stateless, overcoming many of the issues caused by latency over the WAN.
This meant web technologies could now be used to build enterprise applications that were resilient to network latency. For example, a REST API over HTTP is more tolerant of high latency than a custom RPC protocol.
As a result, enterprises started adopting web technologies internally. This allowed them to use the public internet for connectivity, reducing reliance on expensive private networks.
From VPNs to Open Internet
The shift to web protocols like HTTP enabled enterprises to connect datacenters over the open internet instead of private WANs. This significantly reduced connectivity costs while providing similar resilience to latency.
While VPNs were still useful for their security properties, they were no longer required just to interconnect datacenters. The savings from using public internet rather than leased lines more than offset the relatively low cost of internet connectivity.
Rethinking Trust Boundaries
In the early datacenter model, trust was implicit. Applications could freely interact because they were secured within the same four walls. Authentication centered around usernames and passwords for human users.
With workloads distributed across locations, a new approach was needed. Just because the same enterprise owned two application components didn't mean they could blindly trust each other. The perimeter was fuzzier.
Despite the advancements in web communication, corporate authentication and authorization mechanisms continued to rely on the concept of trust within the datacenter environment. With the expansion of distributed applications and the shift towards web communication, this approach became outdated, necessitating the development of new standards.
Standards like SAML and OAuth were developed to address these issues. Mechanisms like single-sign-on, access tokens, and certificates enabled finer-grained authentication and authorization between services. Security became more granular and context-aware.
The Path Forward
The journey from monolithic applications in isolated datacenters to distributed cloud-native architectures required rethinking network connectivity, application architecture, and security models. As enterprises adopt cloud and SaaS technologies, the transformation will continue.
Latency remains a challenge, but modern protocols, caching, asynchronous designs, and geographic distribution provide tools to minimise its impact. Trust has moved from the network layer to the application layer, with standards like OAuth replacing VPNs.
Each shift along the way required changing how networks were designed, applications were built, and security was implemented. While challenging at the time, each step ultimately enabled enterprises to build more scalable, resilient, and cost-effective systems. The next phase of the journey will likely bring its own set of transformations, but the trajectory is clear: distributed, internet-scale architectures running in the cloud.
Posted on December 12, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
December 12, 2023