O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

The code bundle for this video course is available at - https://github.com/PacktPublishing/Hands-On-Kubernetes-and-Docker-for-Distributed-Applications-V-

Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

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