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

Docker Orchestration and Microservices

Video Description

Nearly 3 Hours of Video Instruction

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

Description

In this video training, Charlie 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.

Related Files

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

About the Instructor

Charles Crawford III 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 non-profit organization focused on fostering mentor-mentee relationships in software development. Additionally, Charles 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, Charles 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

What You Will Learn

  • How to begin designing your web apps as microservices
  • How to use Docker to containerize your microservices
  • How to leverage modern Docker orchestration tools to aid in both developing and deploying your applications
  • How to use Google's container orchestration platform Kubernetes
  • A strong understanding of 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

New Player Enables Streaming and Download Access

Now you can stream and download videos for unlimited 24/7 online/offline access and ownership.

  • Streaming Watch instantly as the video streams online in real time; after purchase, simply click Watch Now to get started.
  • Download Download video files for offline viewing anytime, anywhere; after purchase, simply click the Download icon within the player and follow the prompts.

Plus, enjoy new player features that track your progress and help you navigate between modules.

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

Lesson 2: Dockering Your Microservices
Lesson 2, “Dockerizing your Microservices,” 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, “Using Registries to Store and Distribute Docker,” 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, “Deploying Single Instance Single Container Apps with Docker Machine,” 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, “Local Development of Microservices-Based Apps with Docker Compose,” 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, “Deploying Single Instance Multi-Container Apps with Docker Compose and Docker Machine,” 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
Lesson 7, “Multi-Instance Multi-Container Applications with Docker Swarm,” 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, “Advanced Docker Swarm Configuration,” 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, “Container Orchestration with Kubernetes,” 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 LiveLessons Video Training

The LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons.

Table of Contents

  1. Introduction
    1. Docker Orchestration and Microservices: Introduction 00:03:09
  2. Docker Fundamentals
    1. Understand basic Docker concepts 00:12:48
    2. Using Dockerfiles to create images 00:06:32
  3. Lesson 1: Thinking in Terms of Microservices
    1. Learning objectives 00:00:37
    2. 1.1 Understand microservices 00:03:09
    3. 1.2 Understand what problems microservices solve 00:02:36
    4. 1.3 Understand the complexities introduced by microservices 00:02:06
    5. 1.4 Define an example of a microservice-based architecture 00:01:36
  4. Lesson 2: Dockerizing Your Microservices
    1. Learning objectives 00:00:50
    2. 2.1 Understand how docker can benefit a microservice architecture 00:02:39
    3. 2.2 Create a Docker container for each app 00:10:37
    4. 2.3 Configure your apps for both production and development 00:01:15
  5. Lesson 3: Using Registries to Store and Distribute Docker Images
    1. Learning objectives 00:00:39
    2. 3.1 Define a Docker registry 00:03:03
    3. 3.2 Configure your Docker image to be pushed to Docker Hub 00:01:42
    4. 3.3 Configure your Docker image to be rebuilt upon code pushes to Github 00:02:42
  6. Lesson 4: Deploying Single Instance Single Container Apps with Docker Machine
    1. Learning objectives 00:01:10
    2. 4.1 Understand how Docker Machine works 00:02:15
    3. 4.2 Use Docker Machine to simulate deployment with a VM 00:06:51
    4. 4.3 Use Docker Machine to deploy to a cloud provider 00:03:50
    5. 4.4 Understand the basics of multi-container apps 00:01:30
  7. Lesson 5: Local Development of Microservices-Based Apps with Docker Compose
    1. Learning objectives 00:00:59
    2. 5.1 Define application topologies with Docker Compose 00:13:23
    3. 5.2 Connect a local test DB with Docker Compose 00:09:39
    4. 5.3 Define the right subtopology for each microservice's local development 00:06:30
  8. Lesson 6: Deploying Single Instance Multi-Container Apps with Docker Compose and Docker Machine
    1. Learning objectives 00:00:44
    2. 6.1 Configure a new Docker Compose file for production 00:01:43
    3. 6.2 Use a .env file to securely use env vars 00:03:57
    4. 6.3 Use Compose and Machine together to deploy the application 00:04:11
  9. Lesson 7: Multi-Instance Multi-Container Applications with Docker Swarm
    1. Learning objectives 00:00:42
    2. 7.1 Understand the basics of a cluster 00:02:22
    3. 7.2 Configure your swarm to use a service discovery system 00:01:07
    4. 7.3 Use Swarm to create your first cluster 00:02:20
    5. 7.4 Run Docker containers on your Swarm cluster 00:01:32
  10. Lesson 8: Advanced Docker Swarm Configuration
    1. Learning objectives 00:00:27
    2. 8.1 Understand the various provided scheduling strategies 00:01:02
    3. 8.2 Configure your Swarm to use labels 00:00:46
    4. 8.3 Understand how to use constraints, affinities and dependence filters 00:03:15
  11. Lesson 9: Container Orchestration with Kubernetes
    1. Learning objectives 00:00:35
    2. 9.1 Understand Kubernetes concepts 00:06:10
    3. 9.2 Configure Kubernetes 00:03:08
    4. 9.3 Define your first pod 00:06:06
    5. 9.4 Use Kubernetes labels 00:07:10
    6. 9.5 Understand and use Kubernetes replication controllers 00:08:19
    7. 9.6 Use the Kubernetes Services construct 00:07:37
  12. Summary
    1. Docker Orchestration and Microservices: Summary 00:01:10