The Cloud Native Development workshop will cover three key technologies in the cloud native world:
Docker - a platform for containerising applications
Kubernetes - a system for automating the deployment, scaling and management of containerised applications
Helm - the Kubernetes package manager
In the workshop, attendees will be taught how to use the technologies, the best practices for using them and gain practical experience in the usage of all three cloud native tools. At the end of the workshop, an automated CI/CD pipeline making use of all three technologies will be demonstrated.
The schedule of the workshop follows a structure similar to the process you would follow when converting a legacy application into a cloud native application. We begin with Docker, the technology that is closest to the development process. Once the source code of an application has been updated, Docker is used to containerise the newly updated application. Attendees will learn how Docker works, how to use it to containerise applications and how to pass containerised applications to Kubernetes.
Once there is a new container for the application, Kubernetes comes into play as a container orchestrator. It'll automate the deployment, scaling and management of the application. Attendees will learn the key concepts of Kubernetes, how it uses Docker containers, the various Kubernetes objects that need to be deployed and how to enable the various types of automation Kubernetes can provide for applications (e.g. Self-healing, horizontal scaling, storage orchestration, etc). Once attendees figure out what Kubernetes objects need to be deployed for a basic containerised application, we introduce the Kubernetes package manager – Helm.
With Helm, attendees will be taught how to package up all the Kubernetes objects required to deploy a containerised application and be able to:
- Repeatably deploy your application with the exact same configurations for all objects
- Reliably and quickly deploy all the Kubernetes objects that make up your application to any environment
- Manage the complexity of your application by simplifying the process of deploying/maintaining/removing collections of Kubernetes objects
Once the workshop is complete, an attendee will understand the general steps required to deploy a basic application into a Kubernetes cluster and gain practical experience on how to do so by using the CLI tools for Docker, Kubernetes and Helm.
After completion of this course, you will be able to:
Use the CLI tools for Docker, Kubernetes and Helm
Understand how Docker, Kubernetes and Helm work together
Create and deploy your own containerised applications with Docker
Share and reuse containerised applications with the use of public or private Docker registries
Understand how Kubernetes uses Docker containers and common pitfalls
Understand and deploy all the necessary Kubernetes resources required to deploy a basic containerised application
Scale a containerised application in a Kubernetes cluster
Understand how Kubernetes performs rolling updates and rollbacks
Understand the issues associated with Kubernetes and how Helm solves them
Create and deploy your own Helm charts
Understand the use of public or private Helm chart repositories