Throughout this course, students will learn how to structure, package, and release an application to a Kubernetes cluster, while using an automated CI/CD pipeline. Students will start by applying a suite of good development practices within an application, package it with Docker and distribute it through DockerHub. This will transition to the exploration of Kubernetes resources and how these can be used to deploy an application. At this stage, students will be comfortable using k3s to bootstrap a lightweight and functional Kubernetes cluster. Next, students will examine template configuration managers, such as Helm, to implement the parameterization of Kubernetes declarative manifests. Towards the end of the course, students will learn the fundamentals of Continuous Integration and Continuous Delivery (CI/CD) with GitHub Actions and ArgoCD and completely automate the release process for an application.
Overview
Syllabus
- Welcome to Cloud Native Fundamentals
- Evaluate the cloud native ecosystem,Explore CNCF (Cloud Native Computing Foundation) and cloud native tooling
- Architecture Consideration for Cloud Native Applications
- Choose monolith or microservice based-architecture for an application,Consider and evaluate the involved trade-offs for monoliths and microservices,Apply good development practices to an application
- Container Orchestration with Kubernetes
- Use Docker to package an application and distribute it via DockerHub,Bootstrap a Kubernetes cluster using k3s,Explore Kubernetes resources for an application deployment,Differentiate between declarative and imperative Kubernetes management techniques
- Open Source PaaS
- Understand the usage and abstracted components while using a Platform as a Service (PaaS) solution,Explore application deployment with Cloud Foundry
- CI/CD with Cloud Native Tooling
- Explain CI/CD and its benefits,Apply Continuous Integration fundamentals using GitHub Actions,Apply Continuous Delivery fundamentals using ArgoCD,Use Helm, as a configuration template manager, to parametrize declarative Kubernetes manifests,Deploy an application using ArgoCD and a Helm chart
Taught by
Katie Gamanji