* [Topics](/en/topics "Topics")
* [Application development and delivery](/en/topics/application-modernization "Application development and delivery")
* What is serverless?
What is serverless?
===================
Updated  March 3, 2025•*5*-minute read
Copy URL
Jump to section
---------------
What is serverless?Serverless computing and architectureAdvantages and disadvantagesFaaS and cloud provider's roleWhat is Knative?Why choose Red Hat?
What is serverless?
-------------------
Serverless is a [cloud-native](/en/topics/cloud-native-apps) development model that allows developers to build and run applications without having to manage servers. The term “serverless” doesn’t mean there are no servers. It means the servers are abstracted away from application development. A [cloud provider](/en/topics/cloud-computing/what-are-cloud-providers) handles the routine work of [provisioning](/en/topics/automation/what-is-provisioning), maintaining, and scaling the server [infrastructure](/en/topics/cloud-computing/what-is-it-infrastructure).
With serverless, developers package their code in [containers](/en/topics/containers) for deployment. Once deployed, serverless apps respond to demand and [automatically](/en/topics/automation) scale up or down as needed. Serverless offerings from [public cloud](/en/topics/cloud-computing/what-is-public-cloud) providers are usually metered on demand using an [event-driven](/en/topics/integration/what-is-event-driven-architecture) execution model. As a result, when a serverless function is sitting idle, it doesn’t cost anything.
[Explore Red Hat OpenShift Serverless](/en/technologies/cloud-computing/openshift/serverless)
What’s the difference between serverless computing and serverless architecture?
-------------------------------------------------------------------------------
Serverless computing and serverless architecture are often used interchangeably, but they are different concepts. Serverless computing refers to the application development model, while serverless architecture refers to the design approach of an application.
#### Serverless computing
Serverless computing differs from other [cloud computing](/en/topics/cloud-computing) models in that the cloud provider is responsible for managing both the [cloud infrastructure](/en/topics/cloud-computing/what-is-cloud-infrastructure) and the scaling of apps. Instead of provisioning and maintaining servers, applications run on automatically managed computing resources provided by cloud providers. Serverless computing is event-driven, scales automatically, and typically follows a pay-as-you-go pricing model. Serverless apps are deployed in containers that automatically launch on demand when called.
Under a standard [Infrastructure-as-a-Service (IaaS)](/en/topics/cloud-computing/what-is-iaas) cloud computing model, users prepurchase units of capacity, meaning you pay a public cloud provider for always-on server components to run your apps. It’s the user’s responsibility to scale up server capacity during times of high demand and to scale down when that capacity is no longer needed. The cloud infrastructure necessary to run an app is active even when the app isn’t being used.
##### Types of serverless computing
Serverless computing can fall into one of several categories:
* **Function-as-a-Service (FaaS):** [FaaS](/en/topics/cloud-native-apps/what-is-faas) runs event-driven functions in short-term containers. There’s no need to manage server instances, and it executes only when triggered.
* **Backend-as-a-Service (BaaS):** BaaS offers fully managed backend services that handle authentication, databases, messaging, and storage. It’s often used in mobile and web applications.
* **Serverless databases:** Serverless databases scale automatically and don’t require infrastructure management.
* **Serverless containers:** Serverless [containers](/en/topics/containers) run without manual provisioning and scale dynamically.
* **Serverless edge computing:** Serverless [edge computing](/en/topics/edge-computing/what-is-edge-computing) runs code closer to users for lower latency.
#### Serverless architecture
Serverless architecture describes a design approach in which apps are launched only as needed. When an event triggers app code to run, the public cloud provider allocates resources for that code. The user stops paying when the code finishes executing. Serverless also frees developers from tasks associated with app scaling and server provisioning. Routine tasks such as [managing](/en/topics/management) the operating system and file system, [security patches](/en/topics/management/what-patch-management-and-automation), load balancing, and capacity management are all offloaded to a cloud services provider. It’s possible to build an entirely serverless app, or an app composed of both serverless and traditional [microservices](/en/topics/microservices/what-are-microservices) components.
Serverless architecture that uses microservices components is called serverless microservices. With serverless microservices, serverless architecture allows the developer to write code, while microservices break down the application into smaller, manageable components. This combination can result in faster development and deployment.
Understanding cloud computing
-----------------------------
[Learn more about this topic](/en/topics/cloud-computing "Learn more about this topic")
What are the advantages and disadvantages of serverless?
--------------------------------------------------------
#### Advantages
* **Offloading of server management tasks:** Without the need to provision, maintain, or scale servers, developers have more time to focus on their apps.
* **Cost-efficiency:** With pay-per-use, you only pay for the actual execution time of functions, reducing idle resource costs.
* **Faster development and deployment:** [Developer productivity](/en/products/developer-productivity) increases with less infrastructure management and deployments that require minimal setup.
* **Automatic scaling:** Functions and services scale up or down automatically based on demand.
* **Built-in security:** Security updates and patches are managed by the provider, reducing risks associated with misconfigured servers.
#### Disadvantages
* **Complexity in architecture:** Event-driven workflows can become complex with multiple functions interacting asynchronously.
* **Interaction constraints:** Cloud providers may impose limits on how you can use their components, which can reduce your flexibility.
* **Vendor lock-in:** Serverless services that are tightly integrated with cloud provider ecosystems can make migration difficult.
### What are some serverless use cases?
Serverless architecture is ideal for asynchronous, stateless apps that can be started instantaneously. It is a good fit for use cases that see infrequent, unpredictable surges in demand.
Think of a task like batch processing of incoming image files, which might run infrequently but also must be ready when a large batch of images arrives all at once. Or a task like watching for incoming changes to a database and then applying a series of functions, such as checking the changes against quality standards, or automatically translating them.
Serverless apps are also a good fit for use cases that involve incoming data streams, chat bots, scheduled tasks, or business logic.
Some other common serverless use cases are back-end [application programming interfaces (APIs)](/en/topics/api/what-are-application-programming-interfaces) and web apps, [business process automation](/en/topics/automation/whats-business-automation), serverless websites, and integration across multiple systems.
What is FaaS and the cloud provider’s role?
-------------------------------------------
In a serverless model, a cloud provider runs physical servers and allocates their resources on behalf of users who can deploy code straight into production.
FaaS, the more common serverless model that focuses on event-driven functions, allows developers to write custom server-side logic that is deployed in containers fully managed by a cloud services provider. These containers are:
* [Stateless](/en/topics/cloud-native-apps/stateful-vs-stateless), making [data integration](/en/topics/integration) simpler.
* Ephemeral, allowing them to be run for a very short time.
* Event-triggered, running automatically when needed.
* Fully managed, so you only pay for what is used.
With FaaS, developers have a greater degree of control and can call functions through APIs, managed by the cloud provider through an [API gateway](/en/topics/api/what-does-an-api-gateway-do).
Major cloud providers offer FaaS solutions, including [AWS](/en/partners/aws) Lambda, [Azure](/en/partners/microsoft) Functions, [Google](/en/partners/google) Cloud, and IBM Cloud Functions. Some companies use open source platforms like [Red Hat® OpenShift® Serverless](/en/technologies/cloud-computing/openshift/serverless) (based on [Knative](/en/topics/microservices/what-is-knative)) to run their own FaaS environments.
You can contrast FaaS with its backend services counterpart, BaaS, which gives developers access to third-party services like authentication, encryption, and databases, usually through APIs. BaaS simplifies backend tasks but offers less control over custom application logic.
[Learn more about FaaS](/en/topics/cloud-native-apps/what-is-faas)
What is Knative?
----------------
[Kubernetes](/en/topics/containers/what-is-kubernetes) is a popular platform for managing containerized apps, but it doesn’t natively support serverless workloads. Knative is an [open source](/en/topics/open-source/what-is-open-source) project that adds the necessary components to deploy, run, and manage serverless apps on Kubernetes.
[Knative](/en/topics/microservices/what-is-knative) enables serverless environments by letting you deploy code on Kubernetes platforms like [Red Hat OpenShift](/en/technologies/cloud-computing/openshift). With Knative, you package your code as a container image, and the system automatically starts and stops instances based on demand.
Knative has 3 main components:
* Build: Converts source code into containers.
* Serving: Deploys and scales containers automatically based on request-driven demand.
* Eventing: Manages events from various sources, such as apps, [cloud services](/en/topics/cloud-computing/what-are-cloud-services), [Software-as-a-Service (SaaS)](/en/topics/cloud-computing/what-is-saas) systems, and [streams for Apache Kafka](/en/technologies/jboss-middleware/amq), to trigger functions.
Unlike traditional serverless solutions, Knative supports a wide range of workloads, from monolithic apps to microservices and small functions. It can run on any Kubernetes-enabled platform, including on-premise environments.
Knative delivers key benefits, including:
* Supported microservices and serverless workloads: You can deploy event-driven, stateless functions within Kubernetes. You can also deploy long-running microservices that scale dynamically without having to maintain server instances manually.
* Optimized cost and resource use: Unlike traditional microservices where pods may always be running, Knative supports scale-to-zero—meaning if no requests come in, it deallocates resources, reducing costs.
* Standardized APIs and flexibility: Knative follows Kubernetes-native patterns and can work across cloud providers.
Knative brings the power of serverless computing to Kubernetes, simplifying deployment and management of serverless workloads.
[Build a serverless architecture with Knative](https://developers.redhat.com/topics/serverless-architecture)
Why choose Red Hat?
-------------------
[Red Hat OpenShift Serverless](/en/technologies/cloud-computing/openshift/serverless) helps you build and deploy serverless applications faster without having to worry about managing infrastructure details. It provides an enterprise-grade serverless platform that brings portability and consistency across hybrid and multicloud environments.
With OpenShift Serverless, developers can create cloud-native, source-centric applications using a series of Custom Resource Definitions (CRDs) and associated controllers in Kubernetes. And for operations teams, OpenShift Serverless offers a simplified experience because it installs easily on Red Hat OpenShift, has been tested with other Red Hat products, and comes with access to [award-winning support](https://access.redhat.com/recognition).
OpenShift Serverless delivers a complete serverless app dev and deployment solution by integrating apps with other [Red Hat OpenShift Container Platform](/en/technologies/cloud-computing/openshift/container-platform) services, like [Red Hat OpenShift Service Mesh](/en/technologies/cloud-computing/openshift/what-is-openshift-service-mesh) and cluster monitoring. Developers benefit from being able to use a single platform for hosting their microservices, legacy, and serverless applications. Apps are packaged as Linux® containers that can be run anywhere.
[Create an OpenShift Serverless function](https://developers.redhat.com/learn/openshift/create-openshift-serverless-function)
Cloud-native meets hybrid cloud: A strategy guide
-------------------------------------------------
This step-by-step guide includes insights about hybrid cloud, cloud-native app technologies, and the importance of IT systems to organizational success.
[Keep reading](/en/engage/cloud-native-meets-hybrid-cloud-strategy-guide "Cloud-native meets hybrid cloud: A strategy guide")
Red Hat OpenShift Serverless
----------------------------
Red Hat® OpenShift® Serverless simplifies the development of hybrid cloud applications.
[Keep reading](/en/technologies/cloud-computing/openshift/serverless "Red Hat OpenShift Serverless")
Keep reading
------------
### Stateful vs stateless applications
The difference between stateful and stateless applications is that stateful applications save past and present information while stateless applications don’t.
[Read the article](/en/topics/cloud-native-apps/stateful-vs-stateless "article | Stateful vs stateless applications")
### What is application migration?
Application migration is a process that can improve workloads by moving an application from one environment to another.
[Read the article](/en/topics/cloud-native-apps/application-migration "article | what is application migration")
### What is an application development platform?
An application development platform is a set of integrated technologies that enable teams to build software applications efficiently.
[Read the article](/en/topics/cloud-native-apps/what-app-dev-platform "article | what is an application development platform?")
Application development and delivery resources
----------------------------------------------
### Featured product
* #### [Red Hat OpenShift](/en/technologies/cloud-computing/openshift)
  A unified application development platform that lets you build, modernize, and deploy applications at scale on your choice of hybrid cloud infrastructure.
[See all products](/en/technologies/all-products "See all products")
### Related content
* Blog post
  [Streamline your work with the new learning drawer in the migration toolkit for virtualization](/en/blog/streamline-your-work-new-learning-drawer-migration-toolkit-virtualization)
* Blog post
  [SAS Viya Platform with Red Hat OpenShift – Part 1: Reference Architecture and Deployment Considerations](/en/blog/sas-viya-on-red-hat-openshift-part-1-reference-architecture-and-deployment-considerations)
* Case study
  [[node:rh-smart-meta-title]](/en/resources/holcim-digital-center-case-study)
* Blog post
  [SAS Viya Platform with Red Hat OpenShift – Part 2: Security and Storage Considerations](/en/blog/sas-viya-on-red-hat-openshift-part-2-security-and-storage-considerations)
### Related articles
* [Red Hat OpenShift for developers](/en/technologies/cloud-computing/openshift/developers)
* [What is blue green deployment?](/en/topics/devops/what-is-blue-green-deployment)
* [Linux for cloud computing](/en/topics/linux/linux-for-cloud-computing)
* [What is CI/CD?](/en/topics/devops/what-is-ci-cd)
* [What is application lifecycle management (ALM)?](/en/topics/devops/what-is-application-lifecycle-management-alm)
* [What is cloud migration? And how can automation help?](/en/topics/automation/what-is-cloud-migration)
* [Why run Linux on AWS?](/en/topics/linux/linux-on-aws)
* [What is hybrid cloud?](/en/topics/cloud-computing/what-is-hybrid-cloud)
* [What is Istio?](/en/topics/microservices/what-is-istio)
* [What is a CI/CD pipeline?](/en/topics/devops/what-cicd-pipeline)
* [Stateful vs stateless applications](/en/topics/cloud-native-apps/stateful-vs-stateless)
* [Why choose Red Hat Enterprise Linux on Azure?](/en/technologies/linux-platforms/enterprise-linux/why-choose-red-hat-enterprise-linux-on-azure)
* [What's the difference between cloud and virtualization?](/en/topics/cloud-computing/cloud-vs-virtualization)
* [Why choose Red Hat Enterprise Linux on AWS?](/en/technologies/linux-platforms/enterprise-linux/why-choose-red-hat-enterprise-linux-on-aws)
* [What is application migration?](/en/topics/cloud-native-apps/application-migration)
* [What is CloudOps?](/en/topics/automation/what-is-cloudops)
* [Linux on Azure](/en/topics/linux/linux-on-azure)
* [Why run Linux on Google Cloud?](/en/topics/linux/linux-on-google-cloud)
* [What is application integration?](/en/topics/cloud-native-apps/application-integration)
* [Shift left vs. shift right](/en/topics/devops/shift-left-vs-shift-right)
* [Why choose Red Hat Enterprise Linux on Google Cloud?](/en/technologies/linux-platforms/enterprise-linux/why-choose-red-hat-enterprise-linux-google-cloud)
* [Why are financial services slow to adopt the cloud?](/en/topics/financial-services/why-financial-services-are-slow-to-adopt-cloud)
* [What is Cloud Foundry?](/en/topics/application-modernization/what-is-cloud-foundry)
* [What is the role of the cloud in embedded finance?](/en/topics/financial-services/the-role-of-cloud-in-embedded-finance)
* [OpenShift vs. OpenStack: What are the differences?](/en/technologies/cloud-computing/openshift/openshift-vs-openstack)
* [Why choose Red Hat for a DevOps Platform?](/en/topics/devops/why-choose-red-hat-for-devops)
* [Cloud services for financial services](/en/topics/financial-services/cloud-services-for-financial-services)
* [Kubernetes vs OpenStack](/en/topics/openstack/kubernetes-vs-openstack)
* [What is DevSecOps?](/en/topics/devops/what-is-devsecops)
* [What is telco cloud?](/en/topics/cloud-computing/what-is-telco-cloud)
* [What is cloud orchestration?](/en/topics/automation/what-is-cloud-orchestration)
* [What is cloud governance?](/en/topics/automation/what-is-cloud-governance)
* [What is public cloud?](/en/topics/cloud-computing/what-is-public-cloud)
* [What is an application development platform?](/en/topics/cloud-native-apps/what-app-dev-platform)
* [Cloud vs. edge](/en/topics/cloud-computing/cloud-vs-edge)
* [Why build a Red Hat cloud?](/en/topics/cloud-computing/why-choose-red-hat-cloud)
* [What is multicloud?](/en/topics/cloud-computing/what-is-multicloud)
* [Security in the software development lifecycle](/en/topics/security/software-development-lifecycle-security)
* [What is cloud architecture?](/en/topics/cloud-computing/what-is-cloud-architecture)
* [What is cloud automation?](/en/topics/automation/what-is-cloud-automation)
* [Types of cloud computing](/en/topics/cloud-computing/public-cloud-vs-private-cloud-and-hybrid-cloud)
* [What are cloud applications?](/en/topics/cloud-native-apps/what-are-cloud-applications)
* [What is agile methodology?](/en/topics/devops/what-is-agile-methodology)
* [What is cloud-based digital banking?](/en/topics/cloud-computing/what-is-cloud-based-digital-banking)
* [Do banking APIs benefit from cloud technology?](/en/topics/api/banking-api)
* [How to deploy Red Hat OpenShift](/en/technologies/cloud-computing/openshift/deploy-red-hat-openshift)
* [Kubernetes-native Java development with Quarkus](/en/technologies/cloud-computing/openshift/quarkus)
* [What is deployment automation?](/en/topics/automation/what-is-deployment-automation)
* [What is payments infrastructure?](/en/topics/financial-services/what-is-payments-infrastructure)
* [What is an SDK?](/en/topics/cloud-native-apps/what-is-SDK)
* [What is multitenancy?](/en/topics/cloud-computing/what-is-multitenancy)
* [What is a Java runtime environment (JRE)?](/en/topics/cloud-native-apps/what-is-a-Java-runtime-environment)
* [Why choose the Red Hat build of Quarkus?](/en/topics/cloud-native-apps/why-choose-red-hat-quarkus)
* [What is an application architecture?](/en/topics/cloud-native-apps/what-is-an-application-architecture)
* [What is Quarkus?](/en/topics/cloud-native-apps/what-is-quarkus)
* [What are Java frameworks?](/en/topics/cloud-native-apps/what-is-a-Java-framework)
* [What is private cloud?](/en/topics/cloud-computing/what-is-private-cloud)
* [What is IT infrastructure?](/en/topics/cloud-computing/what-is-it-infrastructure)
* [What is cloud infrastructure?](/en/topics/cloud-computing/what-is-cloud-infrastructure)
* [Hybrid cloud security](/en/topics/security/what-is-hybrid-cloud-security)
* [What is an IDE?](/en/topics/platform-engineering/what-is-ide)
* [What is cloud storage?](/en/topics/data-storage/what-is-cloud-storage)
* [What is cloud security](/en/topics/security/cloud-security)
* [What is cloud management?](/en/topics/cloud-computing/what-is-cloud-management)
[More about this topic](/en/topics/application-modernization "More about this topic")