image
Container Orchestration: Using Marathon to manage containers with DC/OS

Contents

Intro
1
Introduction
PREVIEW3m 28s
2
Overview
PREVIEW3m 6s
Deploying Containers
Orchestration
7
8
Pods
3m 27s
10
Scenario Demo
13
Wrap Up
14
Summary
4m 28s
Introduction
Difficulty
Beginner
Duration
1h 11m
Students
153
Ratings
4.4/5
starstarstarstarstar-half
Description

Container orchestration is a popular topic at the moment because containers can help to solve problems faced by development and operations teams. However, running containers in production at scale is a non-trivial task. Even with the introduction of orchestration tools, container management isn’t without challenges. Container orchestration is a newer concept for most companies, which means the learning curve is going to be steep. And while the learning curve may be steep, the effort should pay off in the form of standardized deployments, application isolation, and more.

This course is designed to make the learning curve a bit less steep. You'll learn how to use Marathon, a popular orchestration tool, to manage containers with DC/OS.

Learning Objectives

  • You should be able to deploy Mesos and Docker containers
  • You should understand how to use constraints
  • You should understand how to use health checks
  • You should be familiar with App groups and Pods
  • You should be able to perform a rolling upgrade
  • You should understand service discovery and load balancing

Intended Audience

  • Sysadmins
  • Developers
  • DevOps Engineers
  • Site Reliability Engineers

Prerequisites

To get the most from this course, you should already be familiar with DC/OS and containers and be comfortable with using the command line and with editing JSON.

Topics

Lecture What you'll learn
Intro What to expect from this course
Overview A review of container orchestration
Mesos Containers How to deploy Mesos containers
Docker Containers How to deploy Docker containers
Constraints How to constrain containers to certain agents
Health Checks How to ensure services are healthy
App Groups How to form app groups
Pods How to share networking and storage
Rolling Upgrades How to preform a rolling upgrade
Persistence How to use persistent storage
Service Discovery How to use service discovery
Load Balancing How to distribute traffic
Scenario Tie everything together
Summary How to keep learning

If you have thoughts or suggestions for this course, please contact Cloud Academy at support@cloudacademy.com.

Transcript

Container orchestration is a popular topic at the moment because containers can help to solve problems faced by development and operations teams. However, running containers in production at scale is a non-trivial task. Even with the introduction of orchestration tools, container management isn't without challenges.

Container orchestration is a newer concept for most companies which means the learning curve is going to be steep and while the learning curve may be steep, the effort should pay off in the form of standardized deployments, application isolation, and more. Welcome to DC/OS container orchestration. In this course we'll take a look at how to manage containers with DC/OS.

I'm Ben Lambert and I'll be your instructor for this course. A bit about me. I'm a DevOps engineer with a passion for security as well as a passion for container orchestration and I've been looking forward to this course since I started using DC/OS. Now, there are a lot of great features in DC/OS and while we won't get to cover all of them, I think the lessons are gonna cover enough to get you started.

This course is a follow up to the DC/OS Fundamentals course and it focuses on managing your containers. Now, if you're a system administrator, a DevOps engineer, developer, site reliability engineer, or in a similar role, then this course is for you. Now, as always, I've made some assumptions about what you should know before taking this course.

First, I assume that you're at least familiar with containerization and DC/OS. If you haven't already watched DC/OS Fundamentals, then I recommend checking it out. Now because the course is targeted at engineers, I'm assuming that you're comfortable on the command line and able to at least understand JSON.

When creating this course I had some learning objectives in mind. By the end of the course, you should be able to deploy Mesos and Docker containers. You should understand how to use constraints and while you may not know what this means yet, you will by the end of the course. You should be able to understand how to use health checks, you should be familiar with app groups and pods Again, if these terms are new to you, don't worry, they'll become clear as we progress.

You should be able to perform a rolling upgrade. You should understand service discovery and load balancing. So that's the minimum that I hope that you'll get out of this course. Now, to meet these learning objectives, here's a look at the lesson plan. First up is a an overview of container orchestration.

Then a lesson demonstrating deploying Mesos containers. After that, a lesson on Docker containers. Then we'll look at the constraints. After that we'll take a look at health checks, we'll take a look at app groups after that followed by pods and then we'll be perform a rolling upgrade to some containers.

We'll look at persistent volumes. We'll take a look at service discovery. We're going to look at layer four and layer seven load balancing and then we're going to tie everything together with a scenario. So, before getting started, you may want to adjust the speed of this video and you can edit it in the player settings. I like to watch through on two X, but you may have your own preference, so feel free to play around with the settings. Also, I love hearing from you all. So if you want to reach out to me, you can reach me at support@cloudacademy. com. You can also reach me on Twitter @sowhelmed. Good or bad, all of the feedback helps to create better courses, so I hope to hear from you.

All right, if you're ready to start learning, then I'll see you in the first lesson.

About the Author
Students
99899
Labs
34
Courses
45
Learning Paths
55

Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.