Serverless Networking: The next step in Serverless Evolution
Unlock the full power of Serverless applications with Serverless Tech’s peer-to-peer networking.
Serverless is one of the fastest growing movements in our industry, and it’s changing how developers and companies alike approach delivering business value using the public cloud. But until today Serverless functions like AWS Lambda have been missing a critical ingredient needed to unlock their full potential: peer-to-peer networking. Without it, many important use cases such as streaming content to or from a function, sharing files and in-memory objects among two or more functions, harvesting the results of an asynchronously invoked function, prewarming capacity, and more are either impossible to achieve or require so much heavy lifting as to place them out of the range of most application developers. Without these capabilities, companies either struggle to adapt Lambda to their needs or simply forego the benefits of Serverless architectures for compute-dense distributed algorithms or those with demanding communication topologies, such as genetic algorithms, video transcoding, Monte Carlo simulations, and more.
The launch of Serverless Networking fills this gap by making it easy to connect two Lambda functions to each or to connect a server-based implementation to a Lambda with two lines of code. Serverless Networking isn’t just easy to connect, it’s easy to use, with high-level Python 3 language bindings that make it easy to send and receive strings, byte buffers, memory buffers, files, and streams. Pausing a function to create prewarmed capacity, performing barrier synchronization, harvesting asynchronously invoked child function results, and other simple orchestrations are now as easy as sending and receiving messages. Serverless Networking takes care of the heavy lifting by creating a reliable UDP-based transport using one of the fastest known approaches, udt. All the painful details of sliding windows, retransmissions, ACK/NACK transmission, flow control, and more are abstracted away, allowing developers to focus on the job to be done rather than how to dependably ship bits over the wire. Serverless Networking complements Lambda’s existing TCP/IP and UDP outbound networking capabilities without requiring any changes to the code you already have.
To enable communication between two Lambda functions, or between a Lambda function and a server-based implementation, Serverless Networking also offers NAT Punching-as-a-Service: A scalable, multi-tenanted service that replaces the heavyweight STUN and TURN servers typically used to connect or relay UDP traffic among media servers. The Serverless Networking NAT Punch service employs a Serverless mullet architecture that exploits the latest capabilities in AWS managed services to achieve scalability at low cost. The NAT Punching service is free to use during the beta and has a perpetual free tier so that anyone can experiment with Serverless Networking without needing to sign up or deploy a server. Premium and enterprise subscribers can take advantage of low-cost pay-per-use or pre-paid volume discount pricing or deploy their own service.
The Serverless Networking framework is distributed as a public AWS Lambda layer, so you can start using it with just a few clicks. It’s also open source, with an enterprise-friendly BSD license that makes it easy to adopt, use, and enhance for any organization. You can download a sample app from the AWS Serverless Application Repository to see a running example in your AWS account in just a few minutes. The beta is open to everyone and is currently available for AWS Lambda functions in the us-east-1 region. To get started, check out the docs. Check out the code on git and learn more about the open source effort to build the world’s best serverless networking stack and how you can participate. You can also learn more about how reliability is created on top of UDP sockets by checking out the udt project.
I can’t wait to see the amazing new innovations developers will create with the advent of Serverless Networking!
Serverless Networking: The next step in Serverless Evolution was originally published in A Cloud Guru on Medium, where people are continuing the conversation by highlighting and responding to this story.