Share on

Introduction

Article header

The introduction of serverless capabilities into the developer landscape has transformed the way a lot of people work with their data and build their applications. In order to best understand using serverless architecture, it is important to understand the terminology that one can come across.

This glossary aims to house the common terminology used in the serverless community and provide definitions and context to help you familiarize yourself with serverless.

This glossary is a living document and a work in progress. We intend to update it with new topics while also refining existing entries over time. We have an initial starting point of terms we are going to cover, but if you have anything you'd like us to talk about, please open a GitHub issue to add your suggestions.

Terminology

API gateway
An application programming interface (API) gateway is an API management tool that sits between and the backend services. In a serverless deployment, the API Gateway operates as a proxy that handles routing to backend services required to fulfill the request and returns the appropriate result.
Backend as a Service (BaaS)
BaaS is a cloud service model that allows developers to outsource all of the backend, behind-the-scenes, aspects of their application. This puts the main focus of the developer on maintaining the frontend and delegates things like database management, cloud storage, user authentication and other tasks to their BaaS provider.
Cold start
In computing, a cold start refers to a problem where a system or one of its parts experiences some latency when it is created or rebooted resulting in it experiencing a delay before executing.
Connection pooling
Connection pooling is the caching of database connections so that the connections can be reused in the future when new requests to the database are required. They are used to enhance performance of executing command on a database.
Container
In computing, a container refers to a unit of software that packages up code and all of its dependencies to improve application performance. Container code can be executed in an isolated namespace that avoids collisions with system and other container resources.
Edge computing
Edge Computing is a distributed computing paradigm that brings computation and data storage closer to the sources of data with the expectation that this will improve response times and save bandwidth.
Event-driven architecture
Event-driven architecture uses events to trigger and communicate between distributed services and is common in microservice applications. An event can be any change in state such as an update or occurrence of an identifier. The three main components of *event-driven architecture* are event producers, event routers, and event consumers.
Functions as a Service (FaaS)
FaaS is a type of cloud computing service that allows you to execute functions without managing the infrastructure typically involved in building microservice applications. FaaS allows developers to have their code executed in response to events.
Latency
Latency is the time it takes for a packet of data to be captured, transmitted, and processed through a device and then received at its destination and decoded.
Polyglot systems/teams/evironments
A polyglot system/team/environment is the practice of allowing an engineering team responsible for a certain service to decide the stack they want to work with. This is common in microservices architecture and potentially leads to higher developer motivation and productivity. Serverless computing enables polyglot development by supporting many languages and decomposing application functionality into discrete actions.
Prisma Accelerate
The Prisma Accelerate is an intermediary between an application and a database. It maintains a database connection pool, so that traditional databases can be reliably used in serverless environments.
Serverless computing
Serverless computing is a cloud computing execution model in which a cloud provider allocates machine resources in response to current demand. The cloud provider takes care of the servers on behalf of the customers.
Serverless databases
A serverless database is any database that embodies the key principles of the serverless computing model:
  • No manual server management
  • Automatic, elastic usage scaling
  • Built-in resilience and fault tolerance
  • High availability and instant access
  • Consumption based billing

The concept behind them is the separation of the data storage responsibility from the data processing tasks.

Stateful database connection
A stateful database connection is a connection in which an application or process performs with the context of previous transactions. Current transactions may be affected by what happened from previous transactions.
Stateless serverless function
A stateless process or function happens in isolation of previous requests. There is no stored knowledge of previous requests, so current requests are not affected and function as if made from scratch.
Vendor lock-in
Vendor Lock-In is what occurs when a software application's architecture is made up of components that are designed according to specific cloud providers or tool offerings. The result is a cost to switching to another cloud provider or adopting different tools.
About the Author(s)
Alex Emerich

Alex Emerich

Alex is your typical bird watching, hip-hop loving bookworm that also enjoys writing about databases. He currently lives in Berlin, where he can be seen walking through the city aimlessly like Leopold Bloom.