Track B: Kubernetes/OpenShift
9 steps to awesome with Kubernetes/OpenShift
Everybody seems to be rocking with Kubernetes from the Cloud Native Computing Foundation (cncf.io) as it has become the defacto standard for hybrid cloud portable application architecture. Even your favorite open source repositories at GitHub are running on top of it. Microservice architecture adoption continues to boom and Kubernetes/OpenShift is the ideal solution for deploying and managing the dozens of microservices that your organization crafting.
This live hands-on session is for any developer who is interested in Linux containers and cloud-native application architecture. Our examples will primarily be in Java, as there is some special “care and feeding” related to Java in a container, but the lessons are applicable to any programming language.
Sail into cloud :: Introduction to Istio
The first generation of microservices was primarily shaped by Netflix OSS and leveraged by numerous Spring Cloud annotations all throughout your business logic. The next generation of microservices will leverage sidecars and a service mesh. In this session, we will give you a taste of Envoy and Istio, two open source projects that will change the way you write cloud-native Java applications on Kubernetes.
Service mesh alleviates most of the common distributed computing pain points like smart routing, traffic splitting, canaries, etc. In this session, we will explore on how to download, set up Istio on your local laptop, and deploy Java microservices as part of the Istio service mesh with Istio sidecar proxy.
Istio proxy sidecars will spice up cloud-native applications with ability for splitting traffic between various version of services, smart routing using request headers, doing chaos engineering, and much more—all without code redeploys.
Kubernetes serverless application architecture
The first generation of microservices was primarily shaped by Netflix OSS, for example, Spring Cloud annotations all throughout business logic. As a result of few constraints and difficult experiences with the previous generation, the next generation of microservices leveraged on sidecars and a service mesh.
A service mesh offers consistent discovery, security, tracing, monitoring, and failure handling without the need for a shared asset such as an API gateway or ESB. A typical implementation involves lightweight reverse-proxy processes deployed alongside each service process, perhaps in a separate container.
Using serverless architectures has become one of the common approaches in organizations that want to be more effective in DevOps and optimize their IT resources. This adds further flexibility to the next generation of microservices to be more agile (i.e., serve on-demand). Knative helps running your microservices’ serverless workloads on Kubernetes/OpenShift be more agile and effective.
Cloud-native integration patterns: Kubernetes and Camel K
Starting in 2019, we saw "serverless" taking center stage in all application architectures. Enterprise integration is no exception. Apache Camel has been the de facto platform for performing application and service integrations in the enterprise integration world. In this session, we will learn how to apply common Enterprise Integration Patterns (EIP) with Apache Camel and Kubernetes/OpenShift.
We will see the new Camel K framework and how it helps in deploying Camel DSL code as "integrations" in Kubernetes/OpenShift. We will dive deeper by making them serverless and "on-demand" using Knative.
Plumbing Kubernetes CI/CD with Tekton
Now that Kubernetes/OpenShift has become the de facto Linux container orchestration platform, it has still missed one crucial feature of in-cluster build of the container images. This missing feature made continuous integration and delivery inside of a Kubernetes cluster more challenging. The market had various solutions to solve the problem, but 99% of the solutions missed something: being Kubernetes native.
In this session, I will introduce you to Tekton, Kubernetes’ native way of defining and running CI/CD. The session explores the characteristics of Tekton: cloud native, decoupled, and declarative. This demo-filled session will show how to stitch various building blocks of Tekton to do in-cluster build and deploy (Tasks and Pipelines) a cloud-native application.