The Linkerd community went deep with the latest update of its service mesh platform in a move to drive further efficiencies for developers and service owners and to more tightly integrate with the growing Kubernetes ecosystem. The update also provides a bit of breathing room for Linkerd in the increasingly crowded service mesh space.
William Morgan, CEO of Bouyant and one of the initial developers of Linkerd, said the most important aspects of the 2.0 release involve a complete re-write of its base and a greater focus on easing service mesh deployments.
The re-write involved moving the control plane from the JVM programming language to the Go programming language. Morgan said the move makes Linkerd 2.0 “orders of magnitude smaller and faster” compared to its previous iteration.
In addition to performance benefits, the move to Go also aligns Linkerd closer to the Kubernetes ecosystem. “Most of our users are in the Kubernetes camp so we wanted to address that early on,” Morgan said.
Morgan explained that in addition to meshing with the Kubernetes ecosystem, the Go programming language is “easier to pick up” and will driver greater innovation in the platform. Linkerd and Kubernetes are also both part of the Cloud Native Computing Foundation (CNCF) ecosystem.
The platform also has a new service sidecar design that allows the platform to run on just a service, providing automatic observability, reliability, and runtime diagnostics without configuration or code changes.
Morgan explained that this approach is counter to current service mesh platforms that require an “all or nothing proposition.” He noted that route is a tall task for deployment, especially considering the cloud native space is often very new to end users.
“This is a big chunk of technology that takes a lot to learn, and you have to jam it onto technology you have also just learned,” Morgan described of the current process. “This is not great for adoption.”
This hurdle is taller for service owners that lack the technical credentials of cloud native engineers or thought leaders. “These people don’t care about Kubernetes, Docker, or a service mesh. They just want it to work,” Morgan said.
With Linkerd 2.0, Morgan said these service owners can use the sidecar aspect to start with a single service to ease the transition. “Service owners get reliability, visibility, and debugging that allows for them to be productive in the day and to sleep soundly at night,” he said.
Morgan said that the Linkerd update allows for installation on a service in just a couple of seconds, which is a “pretty stark contrast from other service mesh” platforms.
Service Mesh Space
That contrast is needed as the service mesh space has seen increased attention from new offerings. Istio is perhaps the most formidable, having spawned from the likes of Google, IBM, and Lyft. That platform in July received its general availability (1.0) release.
Istio, obviously considering its parentage, has official support from Google Cloud Platform, but still lacks official ties to Amazon Web Services (AWS) and Microsoft Azure. It also relies heavily on the Envoy service proxy platform that is part of CNCF.
Brian Harrington, product manager for Istio at Red Hat, recently explained to SDxCentral that Istio differs from Linkerd in that it acts as the control plane for management of a service mesh. It can handle the deployment of Envoy sidecars – where Envoy sits next to a running container pod – and coordinate that deployment through the container orchestration layer working with platforms like Kubernetes or Apache Mesos.
“It’s through this process of traffic interception that Istio is able to perform its ‘magic’ of automatically connecting components of a service together,” Harrington added.
The Linkerd community had previously added support that allows users to run both Linkerd and Istio. This involves using Istio as a control plane across Linkerd instances.
The Linkerd focus is also similar to one touted by HashiCorp for its Consul service mesh platform. Mitchell Hashimoto, founder and Co-CTO at HashiCorp, recently told SDxCentral that Consul does not require a user to accept all the components to form a service mesh, providing organizations with more options when compared with Istio. “Istio makes it easier in Kubernetes. Consul works globally,” Hashimoto said.
Morgan said that despite the growing list of service mesh options, the Linkerd community remains focused on increasing the platform’s usability. He noted that the platform itself continues to draw interest because of that focus and that he expects it to migrate from an “incubating” project at CNCF to a full-blown “graduated” project “sooner rather than later.”
“For us the need has always come from the user community behind it,” Morgan said. “That remains the primary concern.”