As you start to learn more about the SAP Cloud Platform Extension Factory you will start to hear about Kyma being described as a Kubernetes runtime. We’re frequently asked why would I use Kyma and not just use the standard Kubernetes cluster? In this blog I’ll answer this question by explaining what exactly Kyma is.
Before I can explain Kyma, I need to explain Kubernetes since Kyma runs on top of it. Kubernetes provides a framework, to run distributed systems based on containers. You can think of a container as a very lightweight virtual machine containing a small piece of software, which serves some larger application, aka a micro-service. With this, Kubernetes provides a number of components that are used to manage the lifecycle of the containers, however it leaves the choice of application dependencies such as messaging buses, monitoring, logging, etc. up to you.
To address these needs numerous projects have been developed by the open source community. With this flexibility comes a lot of choices to be made to determine what project should be used for each purpose. These choices also involve a lot of time in determining what best fits the need, how do I install the project, how do I integrate it with other projects I have chosen, which translates into a lot of investigations, learnings and frustrations. This of course intrigues some people to put this effort in to learn all of this and figure out how to integrate all of the pieces together and more importantly how to keep it running smoothly. Additionally, the operational aspects are quite large and involve challenges to address how each project can be tweaked to run efficiently and dealing with issues that each project can potentially bring to the table. This becomes an ongoing effort as the projects and Kubernetes get updated with new features, fixes, etc.
Getting back to the original question on what Kyma is. Kyma is an open source project built on top of Kubernetes which is comprised of a collection of projects united together to simplify the extension, and integration of monolithic software. All of the investigations, learnings and frustrations of what projects to use and how to integrate them together have been performed as well as ongoing maintenance and improvements, providing you the opportunity to quickly connect and extend applications. The project itself was originally started by SAP, but has been donated to the open source community, allowing more contributions ultimately benefiting us all.
The chosen projects of Kyma address the needs related to a micro-service architecture, event consumption, authentication, logging, tracing, monitoring and alerting. Additionally, the service catalog allows for easy consumption of cloud services available by the hyperscalers using open service brokers as well as the services you have connected to Kyma using the application connector. The application connector allows you to easily connect any application and expose its APIs and Events in a secure manner.
Not having the worry about any of the application dependencies, a developer can utilize the Events of a connected application to trigger serverless functions or microservices to extend a business function. The APIs of the connected system can be used to provide integration between different systems or additional information related to an Event flow. Both the serverless functions and the microservices can also be easily exposed to other applications.
In short, the mission of Kyma is to provide all of the necessary components needed to easily connect and extend monolithic applications.