What to Expect in This Course

Let's go through a brief introduction about the intended audience and why this course is important.

Overview

Businesses are modernizing their applications and adopting hybrid and multi-cloud approaches to deliver services. This shift in application deployment has given rise to containerization and Kubernetes being used to deploy, manage, and scale containerized applications.

With the adoption of Kubernetes, many IT divisions now build custom tools and platforms for their developers to deploy and run code with little to no infrastructure management.

This course is aimed at two kinds of software engineers. The first kind is engineers who are already building and deploying applications on Kubernetes but want to ease their development and release process by building an internal developer platform. The other is software engineers who are familiar with Kubernetes and the Cloud Native landscape but want to learn how to use and integrate the different technologies used in this course.

What does it cover?

The course introduces serverless computing and shows us how to build serverless applications using Knative. It teaches CI/CD using Tekton and shows us how to build pipelines that are triggered by GitHub events. We’ll also create a pipeline that builds container images using Build and, later, Cloud Native Buildpacks.

In the last chapter, we’ll build a web application that integrates with GitHub using a GitHub App and triggers application build and deployment in response to GitHub events.

Prerequisites

This course requires knowledge of Kubernetes and a basic understanding of CI/CD.

Course learning outcomes

This course shows us how to build a platform to deploy and manage serverless applications on Kubernetes. It will be a platform that works similarly to Heroku or Google Cloud Run but with minimal features.

We’ll learn how to install Knative and deploy serverless applications on it. Afterward, we’ll configure a continuous integration and deployment pipeline that will take source code from Git, autodetect the application, build a secure OCI-compliant image, push the image to a container registry, and deploy the application on Knative.

By the end, we’ll have a thorough understanding of the following:

  • What serverless computing is
  • How to build serverless applications using Knative
  • What CI/CD with Tekton is
  • How to create a Tekton Pipeline
  • How to listen for events from GitHub
  • How to build pipelines that are triggered by GitHub events
  • What Cloud Native Buildpacks are
  • How to use Buildpacks in the Tekton Pipeline