Docker Orchestration and Microservices, Second Edition

Video description

2+ Hours of Video Instruction

Docker Orchestration and Microservices LiveLessons, Second Edition, provides developers with key insights and best practices for how to develop and orchestrate containerized microservices.

Overview

In this video training, Charles D. Crawford starts by introducing some of the motivations behind microservices and how to properly containerize web applications using Docker. He then does a quick overview of how Docker registries can help to store artifacts from your built images. Following this, he walks you through Docker's latest tools: docker-compose, docker-machine, and docker-swarm. Specifically, Charlie covers how to use these tools to aid in both developing and deploying to a wide variety of system and container configurations. He then turns to Kubernetes, the popular container orchestration system created by Google. After watching this video, developers will have a strong understanding of modern containerized applications and microservices and will understand how these systems can benefit them.

About the Instructor

Charles David Crawford has more than ten years of software experience and five years of experience in software education. He is currently a lead instructor at Code Fellows, where he teaches full-stack web programming. He is also an active software and writing consultant and the director of marketing for Hack The People, a distributed nonprofit organization focused on fostering mentor-mentee relationships in software development. Additionally, Charlie is an active blog contributor at The New Stack, a site featuring news about and analysis of an ever-changing software development ecosystem. Prior to this, Charlie was a developer evangelist for Shippable, a SaaS that leverages Docker to provide continuous integration services. He was also a software engineer at Amazon Web Services on the Elastic Beanstalk team, where he worked on things such as the Elastic Beanstalk Ruby container, Nodejs container, and the Docker container.

Skill Level

  • Intermediate

Learn How To

  • Begin designing your web apps as microservices
  • Use Docker to containerize your microservices
  • Leverage modern Docker orchestration tools to aid in both developing and deploying your applications
  • Use Google’s container orchestration platform Kubernetes
  • Interpret the modern DevOps and container orchestration landscape

Who Should Take This Course

  • Users of Docker who are looking to move from ad-hoc setups to more formal and powerful orchestrated setups.
  • Those interested in microservice-based architectures

Course Requirements

  • Basic understanding of Docker
  • Understanding of web services
  • A programming background

Related Files

The supplemental content for this LiveLesson can be downloaded from https://github.com/CADBOT/docker-livelessons-notes.

Lesson Descriptions

Lesson 1: Thinking in Terms of Microservices

Lesson 1 covers the basics of what a microservice is, what problems it solves, and new challenges microservices bring. Also discussed is how Docker fits into microservices and how it can be a great help in developing microservice-based systems.

Lesson 2: Dockerizing Your Microservices

Lesson 2 looks at creating a basic microservice using Node.js. Next, this lesson covers how to create a Docker image containing the microservice and its dependencies.

Lesson 3: Using Registries to Store and Distribute Docker

Lesson 3 looks at using the Docker Hub service as a repository to store your custom docker images. Additionally covered is how to trigger automatic rebuilds of Docker images upon a code push to Github.

Lesson 4: Deploying Single Instance Single Container Apps with Docker Machine

Lesson 4 covers doing basic dockerized app deployments using Docker Machine. This sets the foundation for work in future lessons with Docker Compose and Docker swarm.

Lesson 5: Local Development of Microservices-Based Apps with Docker Compose

Lesson 5 explores how Docker is not only useful in a production environment, but a development one as well. One of the largest challenges of microservices is the more complex setup required for a development environment; however, Docker Compose makes local development easier than ever.

Lesson 6: Deploying Single Instance Multi-Container Apps with Docker Compose and Docker Machine

Lesson 6 is about extending Docker Compose beyond development environments to do multi-container apps on a single instance, quickly and easily.

Lesson 7: Multi­Instance Multi-Container Applications with Docker Swarm, Stack, and Compose

Lesson 7 is where we take our first look at complex multi-instance and multi-container deployments. Docker Swarm is built on the Docker API, so a lot of knowledge carries over from vanilla Docker, but there are still additional swarm constructs to learn, such as the master and slave node systems.

Lesson 8: Advanced Docker Swarm Configuration

Lesson 8 takes a deeper look into Docker Swarm and teaches you about advanced configuration options such as container affinities.

Lesson 9: Container Orchestration with Kubernetes

Lesson 9 looks at Kubernetes, which takes a different approach to orchestration than Swarm. Kubernetes brings in many new concepts such as pods, replication controllers, services, and more.

About Pearson Video Training

Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.

Table of contents

  1. Introduction
    1. Docker Orchestration and Microservices: Introduction
    2. Understand basic Docker concepts
    3. Using Dockerfiles to create images
  2. Lesson 1: Thinking in Terms of Microservices
    1. Learning objectives
    2. 1.1 Understand microservices
    3. 1.2 Understand what problems microservices solve
    4. 1.3 Understand the complexities introduced by microservices
    5. 1.4 Define an example of a microservice-based architecture
  3. Lesson 2: Dockerizing Your Microservices
    1. Learning objectives
    2. 2.1 Understand how Docker can benefit a microservice architecture
    3. 2.2 Create a Docker container for each app
    4. 2.3 Configure your apps for both production and development
  4. Lesson 3: Using Registries to Store and Distribute Docker Images
    1. Learning objectives
    2. 3.1 Define a Docker registry
    3. 3.2 Configure your Docker image to be pushed to Docker Hub
    4. 3.3 Configure your Docker image to be rebuilt upon code pushes to Github
  5. Lesson 4: Deploying Single Instance Single Container Apps with Docker Machine
    1. Learning objectives
    2. 4.1 Understand how Docker Machine works
    3. 4.2 Use Docker Machine to simulate deployment with a VM
    4. 4.3 Use Docker Machine to deploy to a cloud provider
    5. 4.4 Understand the basics of multi-container apps
  6. Lesson 5: Local Development of Microservices-Based Apps with Docker Compose
    1. Learning objectives
    2. 5.1 Define application topologies with Docker Compose
    3. 5.2 Connect a local test DB with Docker Compose
    4. 5.3 Define the right sub­topology for each microservice's local development
  7. Lesson 6: Single Instance MultiContainer Apps with Docker Compose
    1. Learning objectives
    2. 6.1 Configure a new Docker Compose file for production
    3. 6.2 Use a .env file to securely use env vars
    4. 6.3 Use Compose and Machine together to deploy the application
  8. Lesson 7: Multi-­Instance Multi-Container Applications with Docker Swarm, Stack, and Compose
    1. Learning objectives
    2. 7.1 Create a Docker Swarm cluster
    3. 7.2 Create a Swarm stack with one type of replicated container
    4. 7.3 Create a Swarm stack with multiple types of replicated containers
  9. Lesson 8: Advanced Docker Swarm Configuration
    1. Learning objectives
    2. 8.1 Spin down a Docker Swarm
    3. 8.2 Scale a Swarm up or down
  10. Lesson 9: Container Orchestration with Kubernetes
    1. Learning objectives
    2. 9.1 Understand Kubernetes concepts
    3. 9.2 Run Kubernetes locally
    4. 9.3 Define your first pod
    5. 9.4 Use Kubernetes labels
    6. 9.5 Understand and use Kubernetes replication controllers
    7. 9.6 Use the Kubernetes Services construct
  11. Summary
    1. Docker Orchestration and Microservices: Summary

Product information

  • Title: Docker Orchestration and Microservices, Second Edition
  • Author(s): Charles David Crawford
  • Release date: January 2018
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 0134670809