- Himanshu Neema
Serverless VPN is a fusion of two concepts: Serverless Computing and VPN. To understand, lets dive into the idea behind Serverless Computing and how it can be applied to VPN.
Serverless Computing is a method of using Servers efficiently. Yes, there are Servers still used.
Modern cloud providers host powerful servers in data centers around the world. To efficiently utilize each physical server, its resources are sliced into smaller units called Virtual Machines, or VMs in short.
Every physical resource is virtualized - storage, CPU, memory and even network. This way, many Virtual Machines with different Operating Systems can run simultaneously on same physical server with isolation from each other for security.
Cloud providers offer these VMs to their customers via an API (An API, in this context, enables a computer to communicate with another computer via the Internet). The API facilitates the on-demand creation of a Virtual Machine when needed and the deletion of it when not in use – effectively releasing any physical server resources it was consuming. This way, you only pay for the computing resources that the VM used during the time it was running.
This concept of creating a "slice" and customizing the configuration of the "slice" in the form of virtual server (or in the form of container - another lightweight virtualization technology) from a physical server on-demand and releasing its resources on-demand is foundational for Serverless Computing.
Applying Serverless Computing to VPN
The process of connecting to VPN and disconnecting from it indicates that a VPN server is only required for the duration of a VPN connection.
UpVPN leverages this connection boundary to seamlessly provision a VPN server when a user requests to connect to VPN, and deprovision the server when the user request to disconnect from the VPN.
This process of selecting a location and connecting to VPN, followed by disconnection after usage, constitutes a single VPN session.
UpVPN is the first commercial product to leverage Serverless Computing for the duration of a VPN session, giving birth to the world's first Serverless VPN!
Serverless Computing in other Domains
Serverless as a term became more popular when the cloud provider AWS launched the AWS Lambda product in 2014, allowing applications to run without managing servers. Many tools, called "Function as a Service", have emerged, applying the Serverless model of computing to run application code. The Serverless model has also been applied to databases, leading to serverless databases.
Benefits of Serverless VPN
By efficiently utilizing servers, the cost benefit is passed on to consumers through inexpensive pricing models such as pay as you go pricing model.
Serverless VPN, like UpVPN, is a fully managed VPN service. Consumers can get an on-demand VPN server with a single click, single tap, or a single command line on the terminal. This saves time for technical consumers who like to run their own VPN servers, eliminating the hassles of managing their own servers and VPN configurations.
Serverless VPNs, like UpVPN, leverage multiple cloud providers to offer numerous locations and can expand them in a short time. And relies on cloud provider APIs to scale available VPN servers on-demand.
Cold or Warm Location
In computing, a 'cold start' or 'cold boot' is a term used to refer to the booting of a computing resource, such as a VM or container.
For a fully serverless VPN location (referred to as a cold location), the "cold start" manifests as a longer wait time before a server is ready for the consumer to connect to the VPN. Even though it takes more time, the consumer benefits from getting a dedicated VPN server along with a dedicated IP.
Alternatively, when server capacity at a location is immediately available (referred to as a warm location), a consumer can connect to the VPN immediately!
By applying Serverless Computing model to VPN, UpVPN has created a new kind of VPN and passed down its cost savings and time-saving benefits to consumers!