Cloud Native Fundamentals
About this Course
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, …
Cloud Native Fundamentals
About this Course
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.
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.
[‘Cloud native architecture allows for more fluidity, resiliency, and scalability, making it appealing to organizations around the world. However, the demand for cloud native architects exceeds the current supply. Thus, learning these fundamental skills can be a stepping stone towards a high-paying role at a top company.’]
lesson 1
Welcome to Cloud Native Fundamentals
Evaluate the cloud native ecosystem
Explore CNCF (Cloud Native Computing Foundation) and cloud native tooling
lesson 2
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
lesson 3
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
lesson 4
Open Source PaaS
Understand the usage and abstracted components while using a Platform as a Service (PaaS) solution
Explore application deployment with Cloud Foundry
lesson 5
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