DC/OS 101

DC/OS 101

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

Disclaimer: Mesosphere does not support this tutorial, associated scripts, or commands, which are provided solely on a “as is” basis and without warranty. Do not use in a production environment. This is a referential example meant to illustrate how this solution could be done with DC/OS. Before using a similar solution in your environment, you would need to adapt, validate, and test.

The tutorial is designed to provide users and applications developers an overview of the DC/OS basics. This tutorial discusses basic recipes for developing and orchestrating applications for a distributed landscape. To provide hands-on experience, you 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:

  1. First Steps
  2. Installing Package
  3. Deploying Your First App
  4. Connecting Apps and Service Discovery
  5. Deploying Native Apps
  6. Exposing Apps Publicly
  7. Understanding Resources
  8. Load-Balancing

First Steps

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

    Installing First Package

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

      Deploying First Application

      You now have a working persistence layer -redis- running in your cluster. In this section you deploy the first app connecting to redis. Note that this tutorial deliberately choose to focus on the principles and to deploy a very simple app with no further logic than connecting to redis.

        Service Discovery

        Your application in the previous part used redis.marathon.l4lb.thisdcos.directory:6379 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, you will learn about DC/OS service discovery by exploring the different options for service discovery for apps in DC/OS.

          Native Applications

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

            Exposing Apps Publicly

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

              Load-Balancing

              In this final session, you will scale your application to multiple instances and learn how internal and external services choose which instance to use once the application has been scaled.

                Understanding Resources

                In this section you will learn how to monitor and understand your resource utilization, how resource limits are enforced, and how to debug resource management issues.