On Prem or In the Cloud: Highlighting Top Serverless Options
Serverless computing is poised to be one of the major new technology trends of 2018. So where can you find serverless computing solutions?
Serverless computing is a paradigm in which parts of an application (often referred to as functions) are executed on-demand in the cloud.
To use a serverless service, you need only to upload the code that you want to execute. There is no need to maintain a complete server environment or install an operating system. (The server still exists, but it is managed by someone else; that’s where “serverless” gets its name.) Nor do you have to pay for infrastructure on an ongoing basis. Most serverless services charge only for when you are actually executing code. This feature makes serverless computing a cost-efficient solution for workloads (such as resizing images) that require a large amount of compute resources on a fluctuating basis.
For MSPs, serverless architectures pose new challenges. They require MSPs to think creatively in order to add value for clients using serverless computing solutions. Thinking creatively starts with understanding the serverless services out there, and how they differ.
Understanding Serverless Computing Options
Today, serverless computing options fall into two main categories:
Public Cloud Serverless Computing Services
The best known serverless computing solutions are based in the public cloud.
Lambda, available as part of the AWS cloud, is probably the most famous serverless platform available today. Lambda was not the first serverless solution to appear, but it was the first to gain widespread acceptance after its introduction in 2014.
After Lambda made serverless computing popular, other public cloud providers followed AWS’ lead by developing serverless platforms of their own. These include Azure Functions on the Microsoft Azure Cloud, and Cloud Functions on Google’s cloud.
Cloud-based solutions of this type can vary. Some are based on open-source platforms; others are proprietary. (The difference between open source and closed-source platforms arguably does not matter much in the cloud, where users can’t control their software in any case.) The pricing varies between the various platforms, of course. Perhaps most important, not all of the platforms support all of the same programming languages. Some can only execute functions written in a handful of languages; others are more expansive.
Aside from that, all cloud-based serverless computing services offer the same type of service and value: the ability to execute code quickly and on demand, in a cost-efficient way.
On-Premises or Private Cloud Serverless Computing
Cloud-based serverless computing services are the standard approach to implementing serverless functions for most organizations.
However, a growing list of serverless platforms also are available to support on-premises serverless computing. This architecture can be advantageous for organizations whose applications can benefit extensively from serverless functions, and that don’t want to pay a cloud provider to host the serverless functions for them.
On-premises serverless platforms include Fission.io. Fission can host serverless functions on any Kubernetes cluster, whether it runs on premises or in the cloud.
OpenWhisk is another serverless framework that can be set up to run in a private cloud using on-premises infrastructure.
The list of on-premises, private cloud-compatible serverless computing platforms is smaller. But as demand for serverless increases and organizations look for solutions that don’t require them to use the public cloud, on-premises and private-cloud serverless computing are likely to grow in popularity.
It will also likely become an area where MSPs can add value. They could manage private-cloud serverless frameworks for customers who can’t use public serverless solutions because of compliance or security concerns, but who want to take advantage of the power and flexibility of serverless computing.