Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Containerization Fast Track

Course Summary

The Containerization Fast Track training course is designed to provide students with the knowledge required to use a supplied Docker base image and initial Kubernetes resources in order to build, store, and deploy applications.

The course begins with a review of the concepts and methodologies driving the adoption of containerized applications and microservices. Next, students will use Docker and Linux to understand how images are created, function, and how to ensure application/container(s) are small, secure, robust, and self-healing. The course concludes with exploring more advanced topics - including the purpose of and a deep dive into Kubernetes.

Purpose
Learn the skills required to build, store, and deploy containers using Docker and Kubernetes.
Audience
Developers and System Administrators with varying degrees of exposure to concepts such as infrastructure as code and microservices looking to expand their understanding of containerization.
Role
Data Engineer - DevOps Engineer - Q/A - Software Developer - System Administrator - Web Developer
Skill Level
Intermediate
Style
Fast Track
Duration
5 Days
Related Technologies
Docker | Kubernetes

 

Productivity Objectives
  • Evaluate the challenges of building and running distributed applications and different approaches; Monolithic vs Microservice
  • Apply best practices for secure, resilient, and self-healing Docker containers that are ready for production
  • Explain the Docker core components and architecture and how it integrates with Kubernetes
  • Apply Kubernetes system architecture and declarative approach to services, applications, storage, and networking
  • Deploy an application on Kubernetes in a local development environment, and in the cloud (AWS)

What You'll Learn:

In the Containerization Fast Track training course, you'll learn:
  • Demystifying and Defining Distributed Systems, Cloud Native, and Infrastructure as Code
    • What are microservices? What is a Monolith?
    • Why does the cloud favor stateless applications for predictable and easy scaling?
    • Modern approaches to application development and design principles
    • What does it mean for a technology to be "cloud-native"?
    • Infrastructure as code and the difference between provisioning and configuration management
    • Thriving DevOps models using code reviews
  • Introduction to Containerization, Docker, and Linux
    • What is a container and how is it different from a virtual machine?
    • Container ecosystem
    • Setup and manage a Docker development environment
    • The Dockerfile and best practices for building Docker image
    • Layers to form an image and efficient artifact storage using Docker
    • Tools and techniques for troubleshooting and fixing common issues
    • Linux concepts, how a running container interacts with the system, and how to inspect information about your environment.
  • Diving Deeper into Docker and Containers
    • Beginner to advanced Docker image construction (consume, extend, custom design)
    • Workflows for developing applications locally using Docker, including dependant applications such as databases
    • Creating efficient, small images - Alpine Linux, Ubuntu 18.04, Debian slim, and other distributions.
    • CI pipeline for building, testing and pushing Docker images to a registry
    • Testing your images using scanning, security tools as a part of your CI pipeline
    • Code challenge: Design a Dockerfile for a simple Python web application
    • Use-cases behind volumes and managing state inside containers.
    • Consequences of running as root inside a container and how to mitigate
    • Docker Compose as a tool for development
    • Docker and Kubernetes application bootstrapping tool and the resources it creates as a base for a new Node.js application
    • Open Container Initiative, competing container runtimes, and advanced Docker concepts such as multi-stage builds
  • Introduction to Kubernetes and Container Orchestration
    • Kubernetes overview and design principles
    • What is an orchestrator? What is a scheduler? Why are they needed?
    • Kubernetes systems architecture and core components
    • What is a Kubernetes resource/manifest? How Kubernetes manages the application state.
    • Challenges of managing distributed applications and how Kubernetes tries to address these challenges, e.g. modern DNS, service discovery through the Kube-proxy, and dynamic container networking configuration
    • Kubernetes Pods, probes, configuration and design patterns for multi-container pods
    • How can ConfigMaps be used instead of standard environment variables in the Pod definition for providing runtime configuration?
    • How Secrets provides access to sensitive information for Pods
  • Diving Deeper into Kubernetes
    • Kubernetes services, service types and internal (cluster) vs. external access considerations
    • Deploying and scaling Pods using the Deployment resource
    • Options for routing external traffic
    • The Ingress Controller and more full-featured alternatives (Envoy, Istio, Traefik, etc)
    • Deployment strategies and how to achieve either rolling or blue/green deployments
    • Creating canary pods for testing and verification in production.
    • Alternate pod deployments with Jobs, Cron Jobs and DaemonSets
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.