This DC/OS 101 tutorial will guide you through the steps necessary to get started using DC/OS.

The tutorial is designed to provide users and applications developers an overview of the basic pieces of DC/OS. We will discuss basic recipes for developing and orchestrating applications for a distributed landscape. To provide hands-on experience, we will develop and deploy multiple applications (including stateful, dockerized, and non-dockerized) on an actual cluster during each step of the tutorial. To provide even more rationale and background information the tutorial also includes optional deep dives into relevant topics.

The DC/OS 101 tutorial includes the following sessions:

First Steps

Welcome to part 1 of the DC/OS 101 Tutorial.…Read More

Install First Package

Welcome to part 2 of the DC/OS 101 Tutorial.…Read More

Deploying your First Application

We now have a working persistence layer -redis- running in our cluster. In this section we deploy the first app connecting to redis. Note that we deliberately choose to focus on the principles and to deploy a very simple app with no further logic than connecting to redis.…Read More

Connecting Apps/Service Discovery

Our application in the previous part used as the address for connecting to redis. As redis might be running on any agent in the cluster (and furthermore on different ports), how does this address link to the actual running redis instance? In this section, we will learn about DC/OS service discovery by exploring the different options for service discovery for apps in DC/OS.…Read More

Deploying native Applications

We already deployed an app which is running internally in our cluster (i.e., it is not targeted to users directly). Next, will deploy an app which provides a web UI to users. We want to deploy this app natively, i.e., not relying on Docker (which is third-party dependency and hence adds complexity).…Read More

Exposing Apps using Edge Router

In this section we will make app2 available from outside the cluster by running it on a public agent node with Marathon-LB.…Read More


In this final session, we will scale our application to multiple instances and learn how internal and external services choose which instance to use once the application has been scaled.…Read More

Understanding Resources

In this section we will learn how to monitor and understand our resource utilization, how resource limits are enforced, and how to debug resource management issues.…Read More