Now that many enterprise IT organizations are starting to employ microservices at scale, a number of them are starting to encounter many of the same networking challenges as web-scale companies such as Twitter. But the same approach many of those web-scale companies used to solve that problem is now accessible to anyone who cares to download it from the Cloud Native Computing Foundation (CNCF).
Based on the Finagle code originally developed by engineers working for Twitter, Linkerd creates a service mesh that eliminates the need to build logic to handle functions such as load balancing and service discovery management into every application. As a commercial entity that has been created to provide commercial support for Linkerd, Bouyant Inc. is making a case for using Linkerd to network together clusters based on the open-source Kubernetes container orchestration engine.
Like most container orchestration engines, Kubernetes provides a means to weave microservices on the same cluster. William Morgan, founder of the Linkerd project and CEO of Bouyant, says Linkerd provides a more efficient way to network multiple Kubernetes clusters in a way that doesn’t require developers to rely on a network overlay implemented and managed by a dedicated IT operations team. In fact, proponents of Linkerd claim it already has been employed to process more than 100 billion production requests around the world.
The rise of containers is bringing a longstanding networking agility issue to a head. In general, networking professionals have been investing in network virtualization overlays alongside software-defined networking (SDN) to make networking more responsive to the need of application workloads running on virtual machines. But there is a growing segment of the networking community that is making a case for an approach to networking that is more developer-centric. By employing service meshes or other programmable networking technologies, developers can access the networking resources they need without any intervention from an IT operations team required. In fact, one of the reasons so many containers are deployed on a public cloud is because most cloud service providers have found a way to expose networking APIs directly to developers.
The Linkerd project obviously expects to play a major role in developing container networking standards. In the absence of those standards, many enterprise organizations are going to be hesitant to replace any of their existing networking platforms. Most enterprise IT organizations are conservative when it comes to networking infrastructure; they are content to let developers embrace containers to make it possible to deliver applications faster. But once that shift starts to have any implications for the IT infrastructure they’ve already invested in, any decision to replace that infrastructure becomes an elongated conversation.
Naturally, some policy guardrails would be needed to prevent developers from consuming all the available networking resources at any given time. But the days when developers had to wait weeks for network administrators to provision network resources on their behalf are coming to a merciful end.