A co-founder and CTO of Netifi, where he is working to lay the groundwork for the next generation of cloud-native applications, Ryland Degnan was a member of the Netflix Edge Platform team that created RSocket, Hystrix and RxJava.
With more than 12 years of building scalable distributed systems at organizations like Netflix, Skydeck, and Cisco under his belt, Ryland is speaking at Reactive Summit in Montreal about Reactive Microservices using RSocket – an open-source network protocol developed in collaboration with Netflix, Facebook, and Pivotal that was designed to handle complex networks of microservices.
What is your background and what sparked your interest in distributed systems?
I came to reactive systems from a functional programming background. My first exposure to Reactive was via Functional Reactive Programming (FRP) in languages like Haskell and OCaml. There are some fascinating implementations within this space. Some deal with discrete events, others use continuous-time semantics, some allow operations over historical events while others work only on contemporaneous values. For the most part, however, they are designed to operate on a single machine and within the constructs of the implementation language. It wasn’t until I came to Netflix and worked on a Reactive application at a massive scale and spanning many languages that I realized the value of Reactive for building distributed systems.
What problems do you solve as a part of your day-to-day job at Netifi?
As a CTO at a tech startup, I get to do a little of everything, from designing load balancing and cluster membership algorithms to hacking on build scripts. My favorite part about the role, however, is interacting with engineers, whether on my own team or through collaborations with other companies on things like open source software or specifications, especially RSocket! I am constantly intrigued at how people from different backgrounds think about problems in different ways. In my experience, the best solutions are rarely designed in a vacuum but emerge through a process of collaboration, and being a part of and shaping that process is something I find incredibly exciting.
Reactive is a new buzzword for many traditional developers. What is your prediction for its importance in application development over the next couple of years?
What is the biggest challenge companies deploying distributed Reactive systems are facing?
I spent the early part of my career in the video conferencing industry, which by necessity has devoted a lot of effort to evolving a set of standard protocols. As a result, you have near-perfect interoperability between systems built by different vendors. Companies building distributed systems, by contrast, have placed relatively little emphasis on standards and interoperability, and as a result, end up having to write a lot of glue code to connect the different pieces of their application. Engineers end up solving the same problems again and again in different ways, frequently resulting in systems that not only do not interoperate but fail in surprising and unpredictable ways. I think this is the source of a lot of the complexity and brittleness that people experience building distributed systems today.
What is the best solution to this challenge?
RSocket! RSocket is an open-source network protocol developed by Netifi in collaboration with Facebook, Netflix, Pivotal and others that were designed to handle the challenges of communication between complex networks of services both within the data center and over the internet – extending to mobile devices and browsers. In addition to ultra-low latency bi-directional streaming and flexibility in the underlying transport layer, RSocket provides solutions at the network level to a host of problems common to all distributed applications, including session resumption, application flow control and predictive load balancing to protect both client and server resources from being overwhelmed.
What is your most ambitious professional dream that you hope to achieve one day?
I would love to see a modern network protocol like RSocket replace HTTP as the lingua franca of the web and distributed systems. The technology that is available to build distributed systems today has evolved beyond all recognition from the early days of the web, yet applications are still being built to work around the constraints of a decades-old protocol that was designed to send textual information in one direction. Applications today are built at a larger scale and are distributed more widely than ever before, while at the same time users expect a greater degree of real-time interactivity. With Moore’s Law now conclusively a thing of the past, we can no longer rely on increases in hardware performance to address these new demands. Instead, we must start to look at new approaches to networking for distributed applications in order to make more efficient use of the resources we have. That is why I think reactive networking is such a fertile ground for innovation right now, and why I’m so excited about the future of RSocket.
Who should attend your talk at Reactive Summit and what will they learn?
Anyone who is building distributed systems that span many languages, device types or geographical regions, or is moving to the cloud but concerned about the networking implications of cloud-native architectures. For developers, anyone who finds themselves continually writing code to solve problems such as service discovery, fault tolerance, load balancing, security, caching and coordination across network boundaries. Find out how RSocket can simplify the way enterprises build and operate cloud-native applications, dramatically reducing operational overhead and speeding development velocity by allowing developers to focus on their product instead of their network infrastructure.