Serverless computing, also referred to as FaaS (Functions as a Service) or Backend As A Service, enables the execution of an application via ephemeral and stateless containers; The containers are created right at the moment an event occurs and triggers a need for action. Thus, it is event-driven. Applications, bundled as one or more functions, are uploaded to a platform and then executed, scaled, and billed in response to the exact demand needed at the moment. Serverless does not mean “without a server.” Rather, infrastructure orchestration details are hidden from the user and managed by the serverless platform provider.
The serverless computing community is growing very fast and we see many web, mobile, and data processing backends that are being built using serverless components. Common use cases that fundamentally leverage serverless approaches include chatbots, BigData computing, machine learning, and internet of things (IoT).
According to the definition of serverless computing provided by the Cloud Native Computing Foundation (CNCF), serverless architectures are designed to fix issues by using a function as a service (FaaS) and backend as a service (BaaS). This definition clarifies the nature of serverless, but it causes confusion and arguments.
To meet emerging needs and keep pace with technological developments, industry participants have launched non-FaaS serverless computing services, such as Google Cloud Run and Alibaba Cloud Serverless App Engine (SAE) and Serverless Kubernetes. Based on serverless technology, these services provide auto-scaling capabilities and support pay-as-you-go billing. They enrich the scenarios of serverless computing.
The emergence of these services blurs the boundaries of serverless computing. Many cloud services are evolving toward the serverless form. But how can we fix business issues based on a vague concept? One design goal of serverless has remained unchanged: to focus on business logic no matter what types of servers, auto-scaling capabilities, or pay-as-you-go billing methods are used.
Ben Kehoe, a famous serverless expert, describes serverless as a state of mind. Consider the following things when you conduct businesses:
When you build a serverless architecture, focus on your business logic instead of spending time choosing cutting edge services and technologies to fix technical pain points. Once you understand your business logic, it is easier for you to select suitable technologies and services and figure out a workable plan to design an application architecture. Going serverless allows you to fix practical issues while focusing on your businesses. This means less work and fewer resources because you can transfer some work to others.
The following section explains how serverless architectures are applied to common scenarios. We will look at architecture design from the perspectives of computing, storage, and message transmission. We will also weigh the pros and cons of architectures in terms of maintainability, security, reliability, scalability, and costs. To make the discussion more practical, I will use specific services as examples. You can also try out other services because these architectures are universal.
For example, assume you are about to build a simple informational website, like online yellow pages. The following three solutions are available:
Going from Solution 1 to Solution 3 takes you into the realm of serverless. In other words, you migrate your businesses to the cloud and do away with managed servers. What changes do you experience when you go serverless? Solution 1 and Solution 2 require a series of tasks to be completed, including budgeting, scale-out, high availability, and manual monitoring. This was not what Jack Ma wanted when, in the early days, he just wanted to build an informational website to introduce China to the world. This was his business logic. So, go serverless if you just want to focus on your business. Solution 3 builds a static website based on a serverless architecture. It has the following advantages over the other two solutions:
This article introduces the definition of serverless computing and common scenarios of serverless architectures. Serverless architecture allows you to focus on your businesses and the core competitiveness of your products without having to deal with servers, server loads, and other details that are not related to your businesses.
In this article, a Senior Technical Expert from Alibaba shares some views on serverless computing reviews its development and forecasts its future trends.
This article discusses how going serverless allows an organization to fix practical issues with less effort and fewer resources.
Alibaba Cloud Function Compute is a fully managed, event-driven compute service. Function Compute allows you to focus on writing and uploading code without having to manage infrastructure such as servers. Function Compute provides compute resources to run code flexibly and reliably. Additionally, Function Compute provides a generous amount of free resources. No fees are incurred for up to 1,000,000 invocations and 400,000 CU-second compute resources per month.
Alibaba Cloud Serverless - February 17, 2023
Alibaba Clouder - September 24, 2020
Alibaba Cloud Serverless - February 17, 2023
Alibaba Clouder - June 23, 2020
Alibaba Cloud Native - February 5, 2021
Alibaba Developer - March 3, 2022
Alibaba Cloud Function Compute is a fully-managed event-driven compute service. It allows you to focus on writing and uploading code without the need to manage infrastructure such as servers.Learn More
Visualization, O&M-free orchestration, and Coordination of Stateful Application ScenariosLearn More
Serverless Application Engine (SAE) is the world's first application-oriented serverless PaaS, providing a cost-effective and highly efficient one-stop application hosting solution.Learn More
Customized infrastructure to ensure high availability, scalability and high-performanceLearn More
More Posts by Alibaba Clouder