×
Community Blog What Is Serverless Computing

What Is Serverless Computing

This article introduces the definition of serverless computing and the advantages of serverless architecture applied to your business.

What Is Serverless Computing

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. serverless

Serverless computing includes the following features:

  • Serverless Computing enables Simplified DevOps One of the key advantages of serverless technology is that it enables us to build and run applications and services without thinking about servers. With serverless computing, provisioning, scaling, and management of server details are no longer necessary. Developers can forget about the management of the infrastructure over which the service is executed and concentrate on building business functionality. Serverless can be applied to nearly any type of application or backend service.
  • The second advantage of serverless computing is that it is perfectly suited for microservices-based architecture. It also provides us with a high level of decoupling between the different services, favouring the development of architectures based on microservices. This greatly facilitates the development of architectures based on continuous rollouts, in addition to simplifying the rollbacks, as needed.
  • Third, Serverless computing technology enables metered billing and we only pay for resources that are consumed. Extending that to the cost of computing, with serverless computing, we pay only for the computing resources that are used. This usually ends up at much lower costs than traditional computing methods.
  • High availability becomes automated and built-in.

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).

What Is Serverless Architecture

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.

  • To eliminate the impact of cold starts, FaaS-based serverless computing services provide the reservation feature, so they are not completely pay-as-you-go. These services include Alibaba Cloud Function Compute and AWS Lambda.
  • Some server backend services also provide serverless features, such as Amazon Aurora Serverless and Alibaba Cloud ApsaraDB for HBase Serverless Edition.

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:

  • What are my businesses?
  • Will my businesses thrive when I implement this approach?
  • If not, why should I implement this approach instead of having someone else solve the problem?
  • There is no need to fix technical issues before business issues are fixed.

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.

Static Websites to Serverless Architecture

For example, assume you are about to build a simple informational website, like online yellow pages. The following three solutions are available:

  • Solution 1: Purchase a server and have the server managed in an international data centre (IDC) run the website.
  • Solution 2: Purchase a cloud server from a cloud vendor to run the website and purchase a load balancing service and multiple servers to ensure high availability.
  • Solution 3: Build a static website with support from an object storage service, such as Alibaba Cloud Object Storage Service (OSS), and divert traffic back to OSS through the Content Delivery Network (CDN).

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:

  • Maintainability: You do not need to purchase a management server that is used to upgrade the security patches of your operating system, implement fault escalation, and ensure high availability. These tasks are completed by cloud services, such as OSS and CDN.
  • Scalability: You do not need to estimate resources or consider future scale-out. OSS is elastic, and CDN minimizes system latency, reduces costs, and improves availability.
  • Costs: You only pay for the resources you use, including storage fees and request fees. You are not charged when no requests are sent.
  • Security: In a serverless system, any server is transparent to you, and SSH login is not required. Any distributed denial of service (DDoS) attacks are handled by cloud services.

Summary

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.

Related Blog

The Past, Present, and Future of Serverless Computing

In this article, a Senior Technical Expert from Alibaba shares some views on serverless computing reviews its development and forecasts its future trends.

Getting Started with Serverless: Serverless Architectures

This article discusses how going serverless allows an organization to fix practical issues with less effort and fewer resources.

Related Product

Function Compute

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.

0 0 0
Share on

Alibaba Clouder

2,602 posts | 600 followers

You may also like

Comments