Describing Kyma in Relation to Kubernetes

Objectives

After completing this lesson, you will be able to:
  • Briefly describe the open-source project Kyma and its modules
  • Compare project Kyma with SAP BTP, Kyma runtime
  • Explain how Kyma extends Kubernetes

What is Kyma?

Project Kyma was started in 2017 and is still under active development. It is hosted on GitHub and licensed under the Apache 2.0 license. SAP is the main contributor.

Kyma combines the power of Kubernetes with a set of best-in-class tools and open-source projects. These tools are provided by building blocks called Kyma modules. From a set of modules, you can choose which ones you want to add to your cluster. By selecting those that suit your needs, you create a customized setup that enables you to develop, run, and operate secure and scalable cloud-native applications.

One important aspect of Kyma is that it is based on the Kubernetes Operator pattern. When you add a Kyma module, its APIs are registered in Kubernetes as CustomResourceDefinitions (CRDs). These CRDs serve as the foundation for CustomResources (CRs), which you can create to define and manage your own custom objects. This allows you to use native Kubernetes tools like kubectl to manage Kyma resources. Furthermore, each Kyma module includes an operator that handles the management and reconciliation of the module based on the information provided in the module's CR.

Note

You can install the open-source Kyma modules in any Kubernetes cluster by following the instructions in the modules' repositories of kyma-project. However, Kyma is also available as a managed service on the SAP Business Technology Platform (SAP BTP). The managed service is called SAP BTP, Kyma runtime. For more information, see Kyma Environment.

See the overview of Kyma modules:

In fact, Kyma also comes with its own command-line interface (CLI) called Kyma CLI. However, this CLI is not used in this learning journey, since all major tasks can be done with the kubectl CLI as well.

Kubernetes Cluster with Kyma components including SAP BTP Operator, API Gateway, Istio, Serverless, Keda, Application Connector, Telemetry, Eventing, and NATS. Connected to kubectl and Kyma Dashboard.

Additional Features Provided by Kyma

Let's take a closer look at the modules that you can add to your Kyma runtime instance:

SAP BTP Operator
The SAP BTP Operator module allows you to connect SAP BTP services to your Kubernetes cluster and manage them using Kubernetes-native tools.
Istio
The Istio module is responsible for installing Istio - a service mesh that provides a uniform way to manage, connect, and secure microservices. A service mesh is a network of microservices that can communicate with each other. It is also responsible for the security of the communication between the microservices, such as your Pods or Functions. It can also provide additional features like traffic management, circuit breaking, and load balancing. Kyma uses the open-source Istio service mesh. This also comes with out-of-the-box metrics, which can be used to gather various information about your services.
API Gateway
The API Gateway module provides a single point of entry for all external communication from your Kubernetes cluster. It is also responsible for the security of the communication.
Serverless
The Serverless module of Kyma provides a set of tools to develop, run, and scale serverless Functions. Serverless or serverless computing doesn't mean that there is no server attached at all. Instead, it abstracts the server away from the developer. The developer can focus on the code and the business logic.
Eventing
The Eventing module enables users to focus on their business workflows and trigger them with events, simplifying the process of publishing and subscribing to events. With Eventing, users can implement asynchronous flows within Kyma without implementing or integrating any additional backend or protocol.
Telemetry
As a key aspect of service-oriented architecture, you may want to monitor the behaviour of a system by collecting and analyzing metrics, logs, and traces. This data is used to identify and diagnose problems in the system. The Telemetry module provides a set of tools to collect, enrich, and analyze such data. These tools are based on open-source projects like OpenTelemetry and Fluent Bit.
Application Connector
The Application Connector module simplifies and secures the connection between external solutions and Kyma. No matter if you want to integrate an on-premise or a cloud system, the integration process doesn't change, which allows you to avoid any configuration or network-related problems. The module stores and handles the metadata of external APIs, offers monitoring and tracing capabilities and provides certificate handling for the Eventing flow.
Keda
The Keda module enables you to easily install and manage the Kubernetes-based Event Driven Autoscaler (KEDA) on your Kubernetes cluster. KEDA is an autoscaler that allows you to easily scale your Kubernetes workloads based on the triggers you choose. With KEDA, you have access to a variety of scalers that help you efficiently manage your deployments.
NATS
The NATS module manages the deployment of NATS JetStream, a distributed persistence system that enhances the functionality and quality of the NATS service. The module ensures that the NATS cluster is in the desired state by observing its state and performing reconciliation. Kyma Eventing can utilize NATS as a backend to handle events and deliver them to subscribers.

Comparing Open-Source Kyma and SAP BTP, Kyma Runtime

Move the slider below to find out which features are available in SAP BTP Kyma runtime.

Project "Kyma" is a foundation of SAP BTP, Kyma runtime which is a part of SAP Business Technology Platform (BTP). Instead of setting up open-source Kyma modules on your own Kubernetes cluster, you can use the managed version provided by SAP BTP. The open-source project gives you more flexibility to customize your Kyma runtime with fewer limitations, but it also means you are fully responsible for installing and managing your cluster. With SAP BTP, Kyma runtime, you don't have to worry about installation and maintenance, so you can fully focus on developing and running your applications. On top of that, you also get service level agreements (SLAs) for the managed Kubernetes and managed Kyma environment and a centrally hosted Kyma dashboard.

Summary

After this short introductory lesson, you can briefly describe project "Kyma" and the modules that it offers. You can also compare the open-source project and the managed service SAP BTP, Kyma runtime.

Log in to track your progress & complete quizzes