Kubernetes Native Application Development | CN230

Content
6 modules

Difficulty
Intermediate

Course Length
16 hours

Instructor
On Demand

Released
16 Dec 2022

Description

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

Course Prerequisites

  • CN120 course and prerequisites therein, or equivalent experience

    • Familiarity with the Bash shell 

      • Filesystem navigation and manipulation

      • Command line text editors like vim or nano

      • Common tooling like curl, wget and ping

  • Familiarity with YAML and JSON notation 

  • Basic familiarity with common software development patterns and tools like version control, testing, continuous integration and logging.

Recommended Follow Up Courses

  • Bundle Up: Cloud Native Development Bootcamp | CN252

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

Badges

{{ badge.name }}

{{ vm.helper.t('lup.gamification.value') }}

{{ badge.points }} {{ vm.helper.t('lup.gamification.points') }}

{{ vm.helper.t('lup.gamification.achieved_for_selected_score_and_over')}}

{{ badge.name }}

{{ vm.helper.t('lup.gamification.value')}}

{{ badge.points }} {{ vm.helper.t('lup.gamification.points') }}

{{ vm.helper.t('lup.gamification.achieved') }}

{{ vm.helper.t('lup.gamification.learning_awards.on_course_completion') }}
1.
How to Access Your Videos and Labs
{{ vm.helper.t('reports.module') }}
2.
Welcome Checklist
{{ vm.helper.t('courses.survey') }}
3.
Lab Account Verification
{{ vm.helper.t('reports.module') }}
4.
Lesson and Labs | CN230
{{ vm.helper.t('courses.scorm') }}
5.
Course Completion Exam
{{ vm.helper.t('courses.exam') }}
6.
Share Your Experience
{{ vm.helper.t('courses.survey') }}

Shopping Cart

Your cart is empty