Hands-On Kubernetes and Docker for Distributed Applications

Hands-On Kubernetes and Docker for Distributed Applications

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 3h 25m | 549 MB

Build, ship and run scalable, resilient, fail-safe and secure distributed applications anywhere using Docker and Kubernetes

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 takes a step-by-step approach and focuses on how to use Docker and Kubernetes to package their application services with all their dependencies into standardized units of deployment. These units are easy to deploy and run on any platform on premise and in the cloud.

What You Will Learn

  • Build resilient, scalable and highly available distributed applications running on any platform on premise or in the cloud.
  • Secure your distributed applications by using container’s built in security features and Kubernetes secrets to protect confidential data such as passwords and certificates.
  • Monitor and troubleshoot your application running in production and allow the application to self heal.
  • Update any service of your application at any time without causing downtime using rolling updates, blue-green deployments or canary releases.
  • Avoid cascading failures in your highly distributed application by anticipating failure and coding defensively.
  • Use Docker Compose to simulate a production like environment on your personal development laptop or workstation.
  • Develop, test and debug code while it is running inside a container.
Table of Contents

01 Course Overview
02 Introduction to the sample application
03 Authoring a Dockerfile for Each Application Service
04 Develop, Test and Debug a Service Running in a Container
05 Minimizing Docker Images Using Multi-Stage Docker Builds
06 Using Docker Compose to Run and Troubleshoot Our Distributed Application Locally
07 Stateless versus Stateful Services
08 Why You Should Create Stateless Services at All Costs
09 Stateful Services Are Hard – Deal with Persistent State
10 Build Stateful Services That Are Resilient and Scalable
11 Storage Latency versus Storage Availability, versus Storage Cost
12 What is Sensitive Data and How to Deal with It
13 Using Kubernetes Secrets
14 Dealing with Secrets in Development
15 How to Use External Secrets Such as HashiCorp’s Vault
16 Signing Your Docker Images
17 Logging the Right Way
18 Implementing Health and Availability Checks
19 Defensive Coding Techniques to Increase Resiliency
20 How to Make Your Services Scalable
21 Enabling Zero Downtime Updates
22 Quick Review of Kubernetes Pods, ReplicaSets, Deployments, and Services
23 Creating Kubernetes Deployment Templates
24 Using Kubernetes as Orchestrator
25 Deploying your Application On-Premise or in the Cloud
26 Peek into Two Hosted Kubernetes SaaS Offerings by Microsoft Azure and Google Cloud