What is serverless?
Serverless is a cloud architecture pattern for building scalable, event-driven applications from small discrete functions — without managing infrastructure.
Serverless is a software architecture pattern using event-driven code execution powered by cloud managed services. Developers build massively scalable, cost-efficient applications composed of small discrete functions without designing for underlying infrastructure.
The term emphasises an architecture where developers focus on business logic rather than infrastructure management.
Serverless business logic means developers concentrate solely on application functionality. Every application uses servers, but serverless architecture abstracts infrastructure concerns entirely from the development process.
Serverless is the next evolution of architectural design from monolith, to microservices, to functions as Adrian Cockcroft explains in this video.
Serverless and FaaS (Functions as a Service) are often used interchangeably, but this is inaccurate. Serverless is an overarching architectural pattern that incorporates FaaS alongside other cloud managed services.
What is FaaS?
FaaS is a specific service type enabling developers to deploy individual functions. Examples include AWS Lambda, Google Cloud Functions, and Azure Functions. FaaS handles function execution without requiring server provisioning.
How does FaaS fit into serverless architecture?
FaaS provides the compute layer within serverless architecture. Other serverless architecture-managed services handle storage, databases, queuing, and messaging. Together, these components form a complete serverless application.
Serverless computing removes infrastructure management requirements. Several core attributes define how serverless architecture operates. To better understand how this works, below are some of the core attributes that define serverless architecture:
Small, discrete units of code
Often services written using serverless architecture are comprised of a single function.
Event-based execution
The infrastructure needed to run a function doesn't exist until a function is triggered. Once an event is received an ephemeral compute environment is created to execute that request. The environment may be destroyed immediately, or more commonly stays active for a short period of time, commonly 5 minutes.
What does scale to zero mean?
Once a function stops receiving requests the infrastructure is taken down and completely stops running. This saves on cost since the infrastructure only runs when there is usage. If there's no usage, the environment scales down to zero.
What scale to infinity mean?
The FaaS takes care of monitoring load and creating additional instances when needed, in theory, up to infinity. This virtually eliminates the need for developers to think about scale as they design applications. A single deployed function can handle one or one billion requests without any change to the code.
Use of managed services
Often serverless architectures make use of cloud provided services for elements of their application that provide non-differentiated heavy lifting such as file storage, databases, queueing, etc. For example, Google's Firebase is popular in the serverless community as a database and state management service that connects to other Google services like Cloud Functions.
Here is a chart of with examples of managed services from AWS, Google Cloud, and Azure along with their open source counterparts.
| Service | Open Source | AWS | Google Cloud | Azure |
|---|---|---|---|---|
| FaaS | Knative | Lambda | Cloud Functions | Azure Functions |
| Storage | Minio | S3 | Cloud storage | Azure storage |
| SQL DB | MySQL | RDS | Cloud SQL | Azure SQL Database |
| NoSQL DB | MongoDB, Cassandra, CouchDB | DynamoDB | Cloud Datastore | Cosmos DB |
| Message queue | Kafka, Redis, RabbitMQ | SQS, Kinesis | Google Pub/Sub | Azure Queue Storage |
| Service mesh | Istio | App Mesh | Istio on GKE | Azure Service Fabric Mesh |
GitLab Serverless allows businesses to deploy their own FaaS on Kubernetes.
How does serverless Increase development speed?
Developer productivity increases when teams focus solely on business logic. Removing infrastructure concerns accelerates the pace of innovation and reduces time to deployment.
How does serverless improve stability?
Serverless provides greater stability and resiliency. Managed infrastructure reduces downtime risk and associated revenue loss compared to self-managed servers.
How does serverless handle scale?
Serverless software automatically keeps pace with business demand. Applications scale without manual intervention or capacity planning.
How does serverless reduce cost?
Compute billing occurs only when services are active. Serverless provides significant cost savings versus always-on infrastructure that bills continuously regardless of usage.
How does serverless avoid vendor lock-in?
No vendor lock-in. Organizations can choose who they want to run their compute. In any cloud that supports Kubernetes, or even on-premises servers.
How does serverless integrate with development workflow?
Your FaaS is part of the same workflow as the rest of your software lifecyle with a single appliction from planning and testing, to deployment and monitoring.
How does serverless simplify deployment?
Deploying functions is greatly streamlined and simplified vs using Knative directly.
Frequently Asked Questions
Frequently Asked Questions
Traditional cloud computing often requires provisioning and managing servers, even when usage is low. Serverless computing, on the other hand, abstracts away infrastructure management, compute resources are automatically allocated and scaled based on demand, and you're only charged when your code runs.
Not exactly. Serverless doesn't eliminate servers; it simply means developers don't have to manage them. The infrastructure is fully managed by a cloud provider and is abstracted away so developers can focus solely on writing business logic.
FaaS is a subset of serverless computing. Serverless refers to the broader architectural pattern that includes FaaS along with other managed services like databases, queues, and storage. FaaS specifically focuses on deploying individual functions that run in response to events.
Serverless offers benefits like lower operational costs, automatic scaling, faster time to market, and improved developer productivity. It enables teams to build scalable, event-driven applications without managing infrastructure or worrying about idle resources.
While serverless is ideal for event-driven, stateless applications, it's not always the best fit for long-running processes or applications requiring persistent connections. It's most effective when paired with managed services and designed with modular, function-based logic.
Start building faster today
See what your team can do with the intelligent orchestration platform for DevSecOps.




