Serverless computing is a category of cloud computing that is sweeping the enterprise. The main appeal of this platform-as-a-service (PaaS) is its pay-per-use and hands-off nature—meaning the user is billed only when their code is running, and there is no physical or virtual infrastructure for anybody to manage.
Organizations that benefit most from serverless computing are those running websites and apps that need backend services or analytics. Because the user is charged only when the code is run, this form of computing can prove to be very affordable for the right organizations, reported TechRepublic's Nick Heath in his serverless computing cheat sheet.
The popularity of this technology has brought a slew of serverless computing vendors to the market. "[These providers] abstract the developer from the lower level implementation details of the systems that they are building," said Jeffrey Hammond, vice president and principal analyst serving CIO professionals at Forrester.
However, a functional PaaS platform (fPaaS) isn't enough to build a complete application on its own, said Arun Chandrasekaran, distinguished vice president analyst at Gartner.
"Developers need other services, such as an API gateway, various event sources, analytic engines, content management services, persistence services, and orchestration tools to support application development," Chandrasekaran said. Cloud and serverless computing providers can combine these functionalities and present a comprehensive platform experience.
The top serverless computing providers
While countless serverless computing providers have surfaced in the enterprise, three stand out among the rest: AWS Lambda, Microsoft Azure, and Alphabet's Google Cloud Platform. All three vendors are topnotch, having similar advantages. But there are qualities that make each one special in their own right.
SEE: Serverless computing: A guide for IT leaders (Tech Pro Research)
"AWS was a pioneer in offering serverless computing through the AWS Lambda product," Chandrasekaran said.
As the first major vendor of affordable cloud services, AWS continues to build upon its services with the ebbs and flows of the industry. As serverless computing gained ground, out came Lambda, which is the backbone of its serverless offerings, Hammond said.
Among the advantages of using AWS is the prolific number of services the user can easily integrate with one another. However, there are disadvantages as well.
"Some of the disadvantages we've heard developers complain about is cold boot time," Hammond said. "One of the other challenges is that it's hard to take your Lambdas' and go run them on any other platform because they are proprietary and distinct to Amazon's Cloud."
Similar to other serverless computing providers, Azure has a usage-based billing policy, which is great for companies trying to stay on budget. For organizations that already rely on Microsoft technology, Azure can be easy to integrate and adopt, as Azure uses proprietary Microsoft technologies.
"For example, say you're already using Active Directory, and you need to migrate applications, and you still wanna use Active Directory," Hammond said. "You can start using Azure Active Directory and access that right from within the functions you write."
Microsoft Azure also "lacks upfront costs or an appreciable time delay in resource provisioning—capacity is available on demand," reported TechRepublic's James Sanders in his Microsoft Azure cheat sheet.
Google Cloud Platform
Google Cloud functions are similar to those of Azure Cloud, Hammond said. However, Google just introduced its Cloud Run service, allowing developers to write functional code in addition to the other capabilities.
"[Cloud Run] uses a project called Knative, which is a specification that allows you to run functions on top of Kubernetes clusters," Hammond said. "Even though right now they're running that in Google's Cloud, there's the promise that you can take those functions to any Kubernetes cluster, including ones that might be deployed on premises. It's still early, but that's the direction that Google is headed."
Google Cloud functions have a good lifecycle, Hammond said. The platform also has some integration with DevOps tools, making it easier to deploy them.
How to choose
When choosing which service to use, Hammond said you have to start by looking at your workload. Serverless-style platforms allow organizations to try things quickly, while not spending too much money. He suggested event-driven workloads or quick prototyping as great cases for serverless architecture.
Chandrasekaran outlined the following considerations to take when choosing a platform:
- Give preference to serverless PaaS when seeking improved operational productivity and cost-efficiency, while retaining sufficient control of application design.
- Deploy fPaaS framework software in private context if multi-cloud deployment or vendor lock-in are concerns.
- Assemble an all-serverless suite of services to gain the full effect of a serverless cloud experience.
- Avoid overdependence on the immature serverless offerings. Subject their use to scrutiny to discover limitations before they begin to manifest as problems, and be ready for technology change.
For a comprehensive side-by-side look at these three vendors, check out this vendor comparison download on Tech Pro Research (subscription required).
- Hybrid cloud: A cheat sheet (TechRepublic)
- Hybrid cloud: A guide for IT pros (TechRepublic download)
- Top cloud providers 2019: A leader's guide to the major players (Tech Pro Research)
- What is cloud computing? Everything you need to know about the cloud, explained (ZDNet)
- Best cloud services for small businesses (CNET)
- Microsoft Office vs Google Docs Suite vs LibreOffice (Download.com)
- Cloud computing: More must-read coverage (TechRepublic on Flipboard)