As more companies transition to a microservice-centered stack for their infrastructure, the needs of one’s workflow to adapt and scale remains critical. At Buoyant, the process of getting started with microservices began with its CEO William Morgan’s work at Twitter alongside Chris Aniszczyk, the current acting chair of the Cloud Native Computing Foundation.
As a result of the trial-and-error brought about by the “Fail Whale” times at Twitter, Morgan helped develop the open source tool linkerd, based on the JVM (Java Virtual Machine) for developers to help improve communications among microservices. It is based on Twitter’s Finagle library for utilizing Remote Procedure Calls (RPCs).
Breaking Down Communications
Through utilizing RPC, linkerd allows a microservice to request services from a program located on another network without having to input its network details. As calls are sent and received between the local and remote machines, runtime programs will then execute their requests and return results. It also provides offer developers the ability to identify single points of failure between services attempting to connect with one another.
By utilizing multiple threads to send RPC requests, microservices can send requests concurrently rather than having to wait for a single request to finish.
“I treat RPC calls as something that I can iterate over and apply functions to. It has an operational model which is in terms of things like load balancing and connection pooling, kind of the difficult mechanics of how to do service to service communication,” Morgan said.
As Twitter continued to grow, so did Finagle. After implementing Finagle throughout its stack, Twitter was then able to address a variety of operational concerns. In particular, service discovery tools such as linkerd are crucial for companies transitioning from a legacy software approach to adopting microservices.
“We knew that they were going to hit the same problems that Twitter did, and so we wanted to avoid the situation where everyone had to reinvent the wheel from scratch the entire time and instead that you’ll leverage the existing value that Finagle already had,” Morgan said.
It’s All About Resiliency
Creating resiliency when working with a microservice-based infrastructure has been something at the front of many organizations focused on working with applications at scale. Another company, Datawire, recently announced the release of its open source tool Datawire Connect, which adds resilient RPC in the form of circuit-breaking, timeouts, and load-balancing to one’s existing microservices.
In contrast to traditional load-balancing, Buoyant’s linkerd and Datawire Connect stand apart due to how both approach traffic routing, and end-to-end communication throughout one’s infrastructure.
“You want to be able to operate in terms of what’s my application level SLA, not what’s the SLA at every single point or what’s my application-level latency, not what is my latency at every hop throughout the application topology,” Morgan went on to explain.
By implementing session controls at Level 5 in the OSI model of networking, linkerd can make its routing decisions based on not only latency but cross-region or cross-service failovers. By abstracting this layer of control between services, Buoyant aims for linkerd to provide developers additional flexibility when implementing service discovery at scale without having to reinvent the wheel.
As enterprises move toward a microservice-based approach to their infrastructure, understanding service discovery when operating at scale can mean the difference between success and failure. With linkerd, Buoyant offers a strong solution for developers working with JVM when considering how best to connect their services together. Datawire Connect is another strong contender in this space, offering another open source alternative for developers to put the power of RPC to use in creating a more resilient and responsive microservice architecture for their stack.
Listen to an interview with William Morgan here:
TNS Editor-in-Chief Alex Williams contributed to this story.
Feature image via Pixabay.