In this Cloud Native course, developers will learn how to build containerized applications targeted for enterprise-grade production environments. Student will 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.
Content
- Rapid development with code mounts and automatic reloading
- Attaching debuggers to containerized processes
- Installing Kubernetes development environments
- 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
- Migrating preexisting applications from VMs to containers
- Refactoring applications for microservices
- Hybrid applications (containerized + uncontainerized)
- Implementing container healthchecks with Kubernetes
- Integrating Prometheus monitoring with Kube applications
- Differences between traditional and containerized continuous integration
- Tooling choices for CI chain components
- Recommended CI chain architecture
- Designing access control patterns for CI agents
- Installing and integrating Jenkins with Kubernetes
- Implementing build environments
- Designing reusable image hierarchies
- Unit and integration testing in containers
- Testing pipeline design
- Integrating security scanning in a testing pipeline
- Signing images with content trust
- Packaging applications with Helm