Serverless applications are faster and easier with OpenShift

Red Hat OpenShift Serverless is a collection of event-driven Kubernetes-specific components for microservices, containers, and Function-as-a-Service (FaaS) implementations.







This out-of-the-box solution includes security and traffic routing and combines Red Hat Operators, Knative, and Red Hat OpenShift to run stateless and serverless workloads on the OpenShift platform in private, public, hybrid and multi-cloud environments.



OpenShift Serverless allows developers to focus entirely on building next-generation applications by offering a wide range of programming languages, frameworks, development environments, and other tools to build and deploy disruptive business products.



Key features of Red Hat OpenShift Serverless:



  • Wide range of programming languages ​​and runtime components for serverless applications. You can choose exactly the set of tools that is right for you.
  • Automatic horizontal scaling based on demand or event-driven for efficient resource management based on real, not speculative, needs
  • Fully integrated with OpenShift Pipelines, a Tekton-based Kubernetes-based continuous build and delivery (CI / CD) system
  • Red Hat Operator, ,
  • community-, Knative 0.13 Serving, Eventing kn ( CLI Knative), – Red Hat, OpenShift


In addition, Red Hat is working closely on Serverless technologies with a number of partners, as well as with Microsoft on Azure Functions and KEDA (see details here ). In particular, TriggerMesh already has a certified OpenShift operator , and we recently partnered with Serverless.com so that Serverless Framework can work with OpenShift Serverless and Knative. These partnerships can be seen as a sign of serverless maturity and the beginning of an industry ecosystem.



If you have previously installed the Red Hat OpenShift Serverless pre-release version, you can upgrade to the general availability GA version. In this case, for the Technology Preview version, you will need to reconfigure the OLM Subscription Update Channel, as shown in Fig. 1.





Fig. 1. Updating the subscription channel.



The subscription channel must be updated to match the OpenShift Container Platform version either 4.4 or 4.3.



Knative Services - top class service



OpenShift 4.4 greatly simplifies the deployment of applications with OpenShift Serverless functionality, allowing you to effortlessly deploy Knative Services directly from the Developer mode of the OpenShift web console.



When adding a new application to the project, it is enough to specify the Knative Service resource type for it, thereby instantly activating the OpenShift Serverless functionality and including scaling to zero in standby mode, as shown in Fig. 2.





Fig. 2. Selecting Knative Service as the resource type.



Easy installation using Kourier



As we already wrote in the announcement of the OpenShift Serverless 1.5.0 Tech Preview , the use of Kourier allowed us to drastically reduce the list of requirements when installing Serverless on OpenShift, and in the GA version these requirements became even less. All of this reduces resource consumption, speeds up cold startup of applications, and also eliminates the impact of conventional, non-serverless workloads running in the same namespace.



In general, these improvements, as well as improvements in OpenShift 4.3.5, speed up the creation of applications from a pre-built container by 40-50%, depending on the size of the image.

How everything happens without using Kourier can be seen in Fig. 3:





Fig. 3. Time of application creation in cases when Kourier is not used.



How this happens when Kourier is used can be seen in Figure 4:





Fig. 4. Application creation time when using Kourier.



TLS / SSL in automatic mode



OpenShift Serverless can now automatically create and deploy TLS / SSL for the OpenShift Route of your Knative Service so that you don't get distracted by implementing and maintaining these features while working on your application. In other words, Serverless relieves the developer of the complexity associated with TSL, while maintaining the high level of security that everyone has come to expect from Red Hat OpenShift.



OpenShift Serverless Command Line Interface



In OpenShift Serverless, it is called kn and is available directly in the OpenShift console on the Command Line Tools page, as shown in Fig. five:





Fig. 5. OpenShift Serverless command line interface download page.



When you download from this page, you get a MacOS, Windows or Linux version of kn that has been verified by Red Hat and is guaranteed to be free of malware.



In Fig. 6 shows how in kn you can deploy a service with just one command in order to create an application instance on the OpenShift platform with access by URL in a matter of seconds:





Fig. 6. Using the command line interface kn.



This tool allows you to fully manage Serverless Serving and Eventing resources without having to look at or edit any YAML configurations.



Improved Topology View in Developer Mode Console



Now let's see how the revised Topology view makes it easier to manage Knative Services.



Knative Service – centered visualization



Knative Services on the Topology view page are displayed as a rectangle containing all revisions, as shown in Figure 7:





Fig. 7. Knative Services on the Topology submission page.



Here you can instantly see the current percentage of Knative Service traffic distribution, and group Knative Services within an application group to easily visually control what is happening within the selected group.



Collapse OpenShift Knative Services Lists



Continuing the topic of grouping, I must say that in OpenShift 4.4, you can minimize Knative Services within an application group for easier viewing and service management when more complex applications are deployed in a project.



Knative Service in detail



OpenShift 4.4 also improves the sidebar for Knative Services. It now has a Resources tab, where service components such as Pods, Revisions and Routes are displayed. These components also provide a quick and easy transition to the individual pod logs.



The Topology view also shows the traffic allocation percentages and even allows for quick configuration changes. Thus, you can quickly find out the real-time traffic distribution for the selected Knative Service by the number of pods running for a given revision, as shown in Fig. 8.





Fig. 8. Distribution of traffic Knative Service.



A deeper look at Serverless Revisions



Also, the Topology view now allows you to look much deeper inside the selected revision, for example, to quickly see all of its pods and, if necessary, view their logs. In addition, in this view, you can easily access the deployments and configurations of a revision, as well as the sub-route that points directly to this revision, as shown in Fig. nine:





Fig. 9. Resources associated with revisions.



We hope that the innovations described above will be useful for you when creating and managing serverless applications, and in the next versions there will be even more useful features for developers, for example, the ability to create event sources and others.



Are you interested?



Try OpenShift!



Feedback is important to us



Tell us what you think about serverless. Join our OpenShift Developer Experience Google Group for Office Hours discussions and workshops to partner with us to provide feedback and suggestions.



additional information



Learn more about developing OpenShift applications using the following Red Hat resources:






All Articles