The Structure of Serverless Computing

Nandhinidwaraka. S October 22, 12:50 PM Technology

Serverless offloads all management responsibility for backend cloud infrastructure and operations tasks - provisioning, scheduling, scaling, patching and more - to the cloud [1] provider. This gives [1] developers more time to develop and optimize their front-end application code and business logic. And with serverless, customers never figure 1 shown below pay for idle capacity. They pay only for the resources required to run their applications, and only when those applications are running.

Figure 1: Serverless Computing

The name notwithstanding, there are most definitely servers in serverless computing. The term 'serverless' describes the customer's experience with those servers: they are invisible to the customer, who doesn't see them, manage them, or interact with them in any way.

Serverless and function as a service (FaaS) are often conflated. But FaaS is actually a subset of serverless - it's the compute paradigm central to serverless, wherein application code or containers run only in response to events or requests. Serverless includes FaaS plus all the other associated resources and cloud services and resources supporting the code - e.g. storage, databases, networks, API gateways, authentication.

Benefits of serverless computing

  1. It is easily scalable, changing based on actual usage. [2]
  2. It is cost-effective since you only pay for the processing time you use, rather than throwing money at a fixed amount of time and resource access and potentially not using it all.
  3. Since developers don’t need to concern themselves with infrastructure, this computing model frees them up to focus on writing code.
  4. It provides a polyglot environment, meaning developers can code in whatever framework or language they’re most comfortable with (e.g., Python, Java, etc.).

Some workloads, particularly ones that need parallel processing, run faster (and hence cheaper) using this model.

Developers can enjoy a quicker turnaround since it potentially reduces time to market significantly. In addition, there is no need to endure a complicated deployment process when rolling out new features and bug fixes; developers can change or add code piecemeal.

Serverless Computing Use Cases and Applications

Serverless computing has many practical uses and applications. Let’s explore a partial list of instances where it fits perfectly.

Application Programming Interface (API) Back-Ends.

You can turn any function or action on a serverless platform into an HTTP endpoint suitable for web clients. These actions, when enabled for the web, are called web actions. You can assemble web actions into a full-featured API with an API Gateway, bringing additional security and other advantages.

Data Processing.

It is ideal for working with structured audio, image, text, and video data. You can also use it to work around tasks like cleansing, enriching, transforming, and validating data. Additionally, serverless processing is perfect for audio normalization, image processing, optical character recognition (OCR), PDF processing, and video transcoding.

Microservices Support.

Serverless computing often supports microservice architectures. Microservices focuses on creating small services that perform a single task and use APIs to communicate. Although microservices can be built and run using containers or Platforms-as-a-Service (PaaS), this model has made remarkable inroads in the process.

References:
  1. https://www.ibm.com/cloud/learn/serverless#:~:text=%20Expand%20your%20serverless%20computing%20skills%20with%20these, and%20analytics.%20Create%20an%20application%20to...%20More%20
  2. https://www.simplilearn.com/what-is-serverless-computing-article
Cite this article:

Nandhinidwaraka. S (2021), The Structure of Serverless Computing, Anatechmaz, pp. 71

Recent Post

Blog Archive