CN230: Kubernetes Native Application Development

Learn how to build container-native applications and continuous integration chains powered by Kubernetes


In this Cloud Native course, developers will learn how to build containerized applications targeted for enterprise-grade production environments. You’ll explore patterns in containerized application architecture, techniques for eliminating friction in the development process, how to test and debug containerized applications, and how to instrument applications with healthchecks, monitoring tools, and common container logging patterns. After mastering these techniques, we’ll turn our attention to devops and building container-native continuous integration pipelines powered by Jenkins and Kubernetes.

Who Should Attend

This course is targeted at students with the following:

  • Motivations: Develop container-native applications, and implement fully containerized CI
  • Roles: Developers, application architects, devops

Lab Requirements

  • Laptop with WiFi connectivity
  • Attendees should have the latest Chrome or Firefox installed, and a free account at

Course Objectives

  • Container Development Environments
    • Rapid development with code mounts and automatic reloading
    • Attaching debuggers to containerized processes
    • Installing Kubernetes development environments
  • Container Lifecycle
    • Optimizing image design to take advantage of the container lifecycle
    • Runtime operations to avoid or mitigate
    • Implementing logging, resource management and healthchecks for containers
    • Handling container exit
    • Introduction to developer-driven operational control
  • Containerizing Applications
    • Migrating preexisting applications from VMs to containers
    • Refactoring applications for microservices
    • Hybrid applications (containerized + uncontainerized)
  • Container Health & Monitoring
    • Implementing container healthchecks with Kubernetes
    • Integrating Prometheus monitoring with Kube applications
  • Introduction to Containerized Continuous Integration
    • Differences between traditional and containerized continuous integration
    • Tooling choices for CI chain components
    • Recommended CI chain architecture
  • CI Agent Deployment
    • Designing access control patterns for CI agents
    • Installing and integrating Jenkins with Kubernetes
  • Building Images in CI
    • Implementing build environments
    • Designing reusable image hierarchies
  • Testing in CI
    • Unit and integration testing in containers
    • Testing pipeline design
    • Integrating security scanning in a testing pipeline
  • Releasing Containerized Applications
    • Signing images with content trust
    • Packaging applications with Helm