A Study on the Landscape of Serverless Computing: Technologies and Tools for Seamless Implementation

A Study on the Landscape of Serverless Computing: Technologies and Tools for Seamless Implementation

Copyright: © 2024 |Pages: 23
DOI: 10.4018/979-8-3693-1682-5.ch016
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

This chapter explores serverless computing, a transformative paradigm that revolutionizes application development, deployment, and management. It provides an overview of the core principles and advantages driving its adoption in contemporary technological ecosystems, including function as a service (FaaS) offering, orchestration tools, and serverless frameworks. These technologies enable developers to focus on code execution, abstracting infrastructure management complexities, and serve as a guide for elucidating the efficacy and scalability of serverless architectures. This narrative delves into the evolution of serverless technologies, from early frameworks to sophisticated tools, emphasizing their significance in scalability, operational efficiency, and resource optimization, providing a guide for technologists, developers, and researchers.
Chapter Preview
Top

1. Introduction

Serverless computing is a significant shift in modern technology, allowing developers to focus on writing code and executing functions without managing servers. This approach enhances agility, scalability, and cost-effectiveness in application development. The foundation of serverless computing is Function as a Service (FaaS), which enables developers to create discrete, independent functions triggered by specific events or requests. These functions execute in stateless, ephemeral containers, dynamically scaling based on demand without manual intervention. This allows developers to respond more rapidly to changes, only paying for the resources consumed during function execution, rather than maintaining continuously running servers (Cassel et al., 2022).

Serverless computing offers several advantages, including the abstraction of infrastructure complexities, which traditional architectures require. This allows developers to focus on application logic, improving productivity and allowing more time for innovative features. Serverless architectures also promote a pay-per-execution billing model, charging users based on actual resource usage, typically measured in milliseconds of function execution and the number of executed functions. This results in cost efficiency, especially for applications with variable workloads, as resources are allocated and billed only when functions are triggered, minimizing idle time and reducing overall infrastructure costs (Shafiei et al., 2022).

Serverless computing faces challenges such as “cold starts” and managing state in a stateless environment, which can impact real-time or latency-sensitive applications. Developers must address design and architectural challenges to effectively orchestrate complex workflows across multiple functions. Serverless computing is a significant advancement in cloud-native application development, offering flexibility, scalability, and cost-efficiency. It abstracts infrastructure complexities and uses a pay-per-execution model, allowing developers to innovate faster and respond to changing demands. This model redefines traditional infrastructure provisioning and management, fostering a more event-driven and reactive programming style. Developers design applications in small, discrete functions triggered by events like HTTP requests, database changes, or file uploads, promoting modular, scalable, and loosely coupled application design, promoting flexibility and agility (Wen et al., 2023).

The shift to serverless architecture offers a new level of scalability, allowing applications to handle sudden spikes in demand. This elastic scalability aligns with modern workloads, providing a responsive and efficient solution. Serverless computing also fosters a microservices-oriented approach, allowing developers to decompose monolithic applications into smaller, specialized functions or microservices. This allows teams to work on discrete components, promoting faster development cycles, easier maintenance, and the ability to update specific functionalities without impacting the entire application (Li et al., 2022). Serverless architectures offer a cloud-agnostic solution, allowing organizations to deploy them in multi-cloud or hybrid environments, reducing vendor lock-in and allowing them to leverage services from different providers. However, these architectures are not suitable for all use cases, especially long-running processes or high-utilization applications. Additionally, security, monitoring, and debugging concerns in distributed and event-driven environments require specialized attention and robust tooling for comprehensive application management.

Complete Chapter List

Search this Book:
Reset