Cloud computing is all the rage and has been for quite some time. In comparison, Serverless is a relatively new entrant to the landscape. However, it is no feeble buzzword. It has gained considerable momentum in a relatively short span of time.
The notion of ‘Serverless’, has harvested the interest of industry seniors and novices, alike. The likes of Amazon Web Services (AWS) have spoken far and wide about the benefits of the architecture. The architecture has been given credit and has been hyped at meetups, on social media, in blogs, and at events and conferences. But it is not mere hype. Serverless offers the possibility of robust implementations, on budget.
When Serverless is brought up in technical circles, AWS Lambda springs to mind. Yes, Google Cloud Functions was released in 2016 as a response to AWS Lambda. And yes, Microsoft also joined the race with Azure Functions. So, the Serverless space is swarming up.
The Serverless Confusion
The common confusion though is that Serverless must mean cloud based Serverless. The benefits of cloud based Serverless are palpable. The cloud allows Serverless architecture to thrive by letting businesses run unlimited numbers of functions, that too on-demand. Furthermore, the commercial arrangement is extremely efficient because it is based on services consumed rather than perpetual contracts that run over years.
Most of the conversation, when it comes to Serverless, is about cloud based Serverless. However, we now see considerable dialog in the media and within businesses circles around deploying Serverless platforms On-Premises, on traditional virtualised infrastructure or in a private cloud landscape.
Pertinent questions to ask are; does Serverless on servers in the organisational data centre make sense? Hosting Serverless in your DC – does it defeat the purpose of ‘Serverless’? It is important to take a deep look at Serverless, through both lenses: public cloud services and On-Premises? Not all Serverless architectures live in the cloud. For instance; Fission can be deployed On-Prem. It is a framework for Serverless functions on Kubernetes. Similarly, Apache OpenWhisk too can be deployed On-Prem. It is an open source, distributed Serverless platform that executes functions in response to events at any scale. OpenWhisk manages infrastructure and servers using Docker containers.
Why would an organisation wish to deploy Serverless On-Prem? And what factors and variables must be considered when embarking on the Serverless On-Prem journey?
The Serverless Distinction
To begin with, it is imperative that we note the distinction between On-Prem based Serverless and cloud-based Serverless.
On-Prem Serverless: In an On-Premises Serverless setup, the Serverless functions are not run as a hosted service in the cloud. Rather, they are hosted on local infrastructure. The application code is deployed on to servers within the local infrastructure environment and is invoked to run a specified event. On-Prem Serverless does not have to be adopted in one manifestation either. It is available in various flavours and can be availed in different forms by organizations, depending on the use case they seek. Organisations leverage cloud management solutions such as Platform9 to deploy managed Serverless platforms layered on top of their managed cloud. Providers such as Platform9 offer a multi-tenant cloud service architecture. They allow users to run their workloads On-Premises. Similarly, providers such as OpenWhisk and Fission are also deployable On-Premises, however, organizations, use particular providers to suit specific use-cases.
Cloud-based Serverless: With cloud-based Serverless architecture, the application code is deployed to a cloud provider. Cloud providers such as AWS (with Lambda), Microsoft (with Azure functions) and Google (with Google Cloud Functions) allow for the application code to be deployed to their environment. Cloud-based Serverless architecture is useful because it reduces costs through pay-as-you-use features.
So why is On-Prem Serverless an alternative to the cloud-based Serverless? I am not suggesting that cloud based Serverless does not have its benefits. It sure does. Not having to manage physical servers alone warrants the benefit of cloud based Serverless. Add to it the plausibility of virtually unlimited scale and now you have a winner on your hands. So, there is no denying that cloud based Serverless has significant benefits associated with it.
So why consider On-Prem Serverless as an option?
Running a workload, especially a computing intense one, on a dedicated local server is often less expensive than running the same in a cloud environment.
On-Prem Serverless reduces under-utilization of infrastructure in cases where application code is run intermittently (since it’s more efficient to run multiple applications on only a few servers).
For companies that handle very sensitive data, a cloud-based solution may not be optimal. Most service providers are multi-tenants, which means that they run software for different customers on the same physical server. Even if workloads are isolated through virtual workloads or containers, any security flaws or failures in neighbour applications may negatively affect the availability and general performance of your application code. Running your workload on a local On-Premises server reduces these risks and ensures that your data is safe.
With cloud based Serverless, your application is completely dependent on a third-party provider, which means that you are counting on that provider’s continued availability, and accounting for their costs (which might be subject to change). Changing your provider would almost certainly result in major changes to your application. With an On-Premises implementation, however, the risk that comes from vendor lock-in is reduced as the workload is run locally.
While On-Premises Serverless architectures might not receive as much attention as cloud-based Serverless deployments, once your IT team has the expertise to build and operate a Serverless platform, it’s a viable option that should be considered, based on the needs of your organization. So, when you’re planning your Serverless strategy, don’t limit yourself to the cloud; instead, consider whether you might be able to reap security and cost benefits from choosing an On-Premises Serverless deployment.
At LimePoint, we specialise in guiding Enterprise cloud strategy, including shaping decisions in regards to whether infrastructure should remain On-Prem, in the Cloud, or both. If you would like to discuss your On-Prem vs Cloud Serverless infrastructure with an experienced team, please contact us for a free consultation.