Serverless Integrations on Kubernetes/OpenShift
May 2019 • Presentation
This presentation explains how to build cloud-native serverless applications on Kubernetes in general, using Camel K as a reference implementation.
Software Engineering Institute
This presentation was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.
Apache Camel K is lightweight cloud integration platform based on Apache Camel. The "K" is a reference to Kubernetes but also to Knative. Knative provides tools to support development and CI/CD toolchains, but most interestingly it provides the capability for serverless (scale-to-zero) workloads. This presentation provides a blueprint on how to build cloud-native serverless applications on Kubernetes in general, using Camel K as a reference implementation.
The easiest way to create a Camel K runtime integration application is to use the Syndesis/Fuse Online design time. Syndesis is a cloud-native open source IPaaS that lets users build integrations using a GUI. Syndesis includes AtlasMap for data transformation between components. Under the hood, the deploy step creates a container with a Camel K-based integration application and deploys it to OpenShift/Kubernetes. I will discuss the Syndesis architecture and how it interacts with the Camel K integration runtime.
The presentation includes a demo of Camel K runtime to update a simple integration and a demo of Syndesis/Fuse Online design time.
- You will learn how to define and use Kubernetes Custom Resource Definitions (CRD).
- You will learn about Custom Controllers called Operators, a method of packaging, deploying, and managing a Kubernetes application.
- Brief introduction to Istio Open Source Service Mesh leveraged by Knative
- Introduction to Knative: Provides support for Build, Serving, and Events; lets developers focus on writing code; and allows applications to be scaled to zero.
- Introduction to the Camel K runtime, Syndesis/Fuse Online IPaaS
- Discussion about initial response time when scaled-to-zero
Prerequisites: Some basic knowledge of Kubernetes and Containers