DC/OS 101

DC/OS 101

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

Important: Mesosphere does not support this tutorial, associated scripts, or commands, which are provided without warranty of any kind. The purpose of this tutorial is to demonstrate capabilities, and may not be suited for use in a production environment. Before using a similar solution in your environment, you must 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 will deploy a simple app connecting to Redis.

        Service Discovery

        Your app in the previous part of this tutorial used redis.marathon.l4lb.thisdcos.directory as the address for connecting to Redis, with port 6379. As Redis might be running on any agent in the cluster, and potentially on different ports, how does this address resolve to the actual running Redis instance?

          Native Applications

          Earlier in this tutorial you deployed an app that operates internally in your cluster, interfacing with other applications in the cluster as opposed to interacting externally. In this part you will deploy an app which provides a GUI to users. You will also deploy this app natively, without relying on Docker as a dependency and therefore reducing 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.

              Understanding Resources

              Resource management and resource isolation between tasks are core functions of any operating system. 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.

                Load-Balancing

                In this 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.