Serverless is a deployment model that allows you to build and run applications without requiring deep insight into the underlying infrastructure. The idea is that the platform is ubiquitous and simply works. Developers can focus on writing code and determining where it needs to run without worrying about the infrastructure.
An event-driven serverless deployment makes it possible to run code and provision infrastructure only when necessary. That allows the application to be idle when it isn’t needed. A serverless application will automatically scale up based on event-triggers in response to incoming demand, and is then able to scale to zero after use.
The serverless model further unlocks the innovative power of Red Hat OpenShift. Serverless helps organizations innovate faster because the application is abstracted from the underlying infrastructure. Applications are packaged as OCI compliant containers that can be run anywhere, regardless of how they are written.
The capability to run any container in a serverless fashion is possible by using upstream Knative. Knative (pronounced “Kay - Native”) extends Kubernetes to provide a set of components for deploying, running and managing modern applications using the serverless methodology. Using Knative means your serverless applications can be deployed and run on any Kubernetes platform, limiting your potential for vendor lock-in.
Compared to Functions, a Serverless container can be built around any runtime. Your code can be packaged in a container along with the appropriate runtimes, and the serverless functionality will start the application containers when they are called by an event. The containers can also scale to zero, eliminating resource consumption when not in use. Applications can be triggered by a variety of event sources, such as events from your own applications, cloud services from multiple providers, Software as a Service (SaaS) systems and other services.
You can use any of these event triggers to run the application on demand. This structure makes it possible to deconstruct your monolithic application into individual containers, and let the application logic trigger each container, using incoming events to determine when to launch your application.
Developers can use Red Hat OpenShift Serverless to build, deploy and run event-driven applications that will start based on an event trigger, scale up resources as needed, then scale to zero after resource burst. With the power of Knative, Red Hat OpenShift Serverless applications can run anywhere Red Hat OpenShift is installed - on-premises, across multiple public cloud locations, or at the edge - all using the same interface.
Managing all aspects of deploying any container in a serverless fashion is built directly into the OpenShift interface. Developers can visually identify which events are driving the launch of their containerized applications, with multiple ways to modify the event parameters.
A wide range of supported event sources gives you choice and control over the triggers that start and scale containers, and scale them back to zero when not in use.
Serverless capabilities are fully integrated into the Red Hat OpenShift platform, so it’s easier for operations teams to manage the implementation of serverless capabilities while also making it easier for developers to manage event-driven deployments. Operations teams can harness the alignment of resource allocation to application use and optimize availability across a hybrid set of compute targets. Developers can quickly identify how their code is triggered by highlighting the incoming event sources that are defined to start individual services.
The result is a framework for bringing operational capabilities to how applications can be deployed with Red Hat OpenShift.
What is OpenShift Serverless and why should you consider it as your next platform for your serverless workloads?
Learn more about how Event-Driven Architecture can help your business move forward.
With more than 60 practical recipes, this cookbook helps you solve these issues with Knative–the first serverless platform natively designed for Kubernetes.