Tutorials

Tutorials

This is a collection of tutorials about using DC/OS. Learn how to run services and operate services in production.


ArangoDB

ArangoDB is a distributed, multi-model database featuring JSON documents, graphs, and key/value pairs. It has a unified query language (AQL) that allows you to mix all three data models and supports joins and transactions.

    Cassandra

    Apache Cassandra is a decentralized structured distributed storage system. Cassandra clusters are highly available, scalable, performant, and fault tolerant. DC/OS Cassandra allows you to quickly configure, install, and manage Apache Cassandra. Multiple Cassandra clusters can also be installed on DC/OS and managed independently, so you can offer Cassandra as a managed service to your organization.

      Autoscaling

      You can use autoscaling to automatically increase or decrease computing resources based on usage so that you’re using only the resources you need. Here are some examples to show you how to implement autoscaling for your services.

      Chronos

      Chronos is the “cron” for your Mesosphere DC/OS. It is a highly-available distributed job scheduler, providing the most robust way to run batch jobs in your datacenter. Chronos schedules jobs across the Mesos cluster and manages dependencies between jobs in an intelligent way.

      Deploying WordPress and MySQL

      In this tutorial you will learn how to deploy a WordPress and MySQL installation on a DC/OS cluster and stop worrying about network management.

        Docker Service

        In this tutorial, a custom Docker app is created and added to Marathon.

          Jenkins

          Jenkins is a popular, open source continuous integration (CI) automation server and framework with hundreds of plugins (GitHub, Docker, Slack, etc) available. Running Jenkins on DC/OS allows you to scale your CI infrastructure by dynamically creating and destroying Jenkins agents as demand increases or decreases, and enables you to avoid the statically partitioned infrastructure typical of a traditional Jenkins deployment.

            Kafka

            Apache Kafka is a distributed high-throughput publish-subscribe messaging system with strong ordering guarantees. Kafka clusters are highly available, fault tolerant, and very durable. DC/OS Kafka gives you direct access to the Kafka API so that existing producers and consumers can interoperate. You can configure and install DC/OS Kafka in moments. Multiple Kafka clusters can be installed on DC/OS and managed independently, so you can offer Kafka as a managed service to your organization.

              Marathon

              We have some excellent material for you to get started with Marathon and further explore the many features it offers:

              NGINX

              NGINX is a high-performance HTTP server, reverse proxy, and an IMAP/POP3 proxy server. NGINX is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption. DC/OS allows you to quickly configure, install and manage NGINX.

                Public Services

                DC/OS agent nodes can be designated as public or private during advanced or cloud installations. Public agent nodes provide public access to your DC/OS applications. By default apps are launched on private agent nodes. To launch an app on a public node, you must create a Marathon app definition with the "acceptedResourceRoles":["slave_public"] parameter specified.

                  Spark

                  Apache Spark is a general-purpose data processing engine. It supports batch and stream processing and comes with built-in APIs for SQL, machine learning and graph workloads. Spark is storage-layer agnostic, meaning it doesn’t come with its own storage system but provides connectors to read data from and write data into, for example, the local filesystem, HDFS, Kafka, Cassandra, Elasticsearch, and HBase.

                    Tomcat

                    Apache Tomcat provides implementations of Servlet, JSP, EL and WebSocket from the Java EE Web Application Container specification.

                      Labeling Tasks

                      This tutorial illustrates how labels can be defined using the Marathon web interface and HTTP API, and how information pertaining to applications that are running can be queried based on label value criteria.

                        Listing Nodes

                        You can view of all of the nodes that are used across your cluster by using the CLI or UI.

                          Listing Tasks

                          The DC/OS CLI allows you to easily view completed tasks.