Hands-On Kubernetes and Docker for Distributed Applications

Video description

Ship and run distributed applications anywhere with Docker

About This Video

  • Build secure, resilient, scalable and rapidly evolving distributed applications using Docker containers.
  • Containerize your application services and learn how to use secrets to handle sensitive data, instrument the services to monitor them, and deal with persistent data.
  • Learn how to create production ready deployments for your distributed application using Kubernetes.

In Detail

If you have a mission critical application that needs to be up and running 24/7 and each outage would cost you a lot of money and reputation then it is important that you have the right tools and processes in place to handle this requirement. Docker allow you to package the many application services that are part of your distributed application into self contained standard packages called containers. With the tool docker-compose developers can then run, scale, test and debug the application, simulating a production like environment on their development workstations.

This course shows you how Docker can be used to isolate your application services and their dependencies into a single self-contained unit that can reliably run anywhere. You will learn to build, ship and run distributed applications on any platform using Kubernetes as the orchestrator.

With Docker containers, your applications can run smoothly without you worrying about the environment where they run. This aids in improved security, better scalability, resilience and fault-tolerance, making life easier for developers and operators alike who need a standardized deployment and operations model.

By the end of this course you will be able to use Docker and Kubernetes to build distributed applications that are scalable, resilient, fault tolerant and secure. Furthermore you will be able to deploy these applications to any Kubernetes cluster running on any platform on premise or in the cloud.


This video course is for experienced DevOps and software engineers who want to use Docker and Kubernetes to solve many of the hard problems they run into with distributed applications. If you want to keep track of all you application components, orchestrate and administrate them in a consistent way, then you've come to the right place.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Containerizing a Distributed Application
    1. Course Overview
    2. Introduction to the sample application
    3. Authoring a Dockerfile for Each Application Service
    4. Develop, Test and Debug a Service Running in a Container
    5. Minimizing Docker Images Using Multi-Stage Docker Builds
    6. Using Docker Compose to Run and Troubleshoot Our Distributed Application Locally
  2. Chapter 2 : Dealing with Persistent State
    1. Stateless versus Stateful Services
    2. Why You Should Create Stateless Services at All Costs
    3. Stateful Services Are Hard - Deal with Persistent State
    4. Build Stateful Services That Are Resilient and Scalable
    5. Storage Latency versus Storage Availability, versus Storage Cost
  3. Chapter 3 : Securing Your Distributed Applications
    1. What is Sensitive Data and How to Deal with It?
    2. Using Kubernetes Secrets
    3. Dealing with Secrets in Development
    4. How to Use External Secrets Such as HashiCorp’s Vault
    5. Signing Your Docker Images
  4. Chapter 4 : Building Resilient and Scalable Services
    1. Logging the Right Way
    2. Implementing Health and Availability Checks
    3. Defensive Coding Techniques to Increase Resiliency
    4. How to Make Your Services Scalable
    5. Enabling Zero Downtime Updates
  5. Chapter 5 : Preparing Production Deployments
    1. Quick Review of Kubernetes Pods, ReplicaSets, Deployments, and Services
    2. Creating Kubernetes Deployment Templates
    3. Using Kubernetes as Orchestrator
    4. Deploying your Application On-Premise or in the Cloud
    5. Peek into Two Hosted Kubernetes SaaS Offerings by Microsoft Azure and Google Cloud

Product information

  • Title: Hands-On Kubernetes and Docker for Distributed Applications
  • Author(s): Gabriel N. Schenker
  • Release date: January 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781788994033