Tutorial - Debugging Applications on DC/OS

Debugging application deployment issues in distributed systems

IMPORTANT: Tutorials are intended to give you hands-on experience working with a limited set of DC/OS features with no implied or explicit warranty of any kind. None of the information provided--including sample scripts, commands, or applications--is officially supported by Mesosphere. You should not use this information in a production environment without independent testing and validation.

This tutorial merely aims to provide a top-down introduction to debugging applications during and after their deployment on DC/OS™. It should not be considered an exhaustive resource for debugging on DC/OS, but rather a starting point.

Debugging application deployment issues in distributed systems is often a challenging task. While DC/OS provides a number of tools for debugging, it might be difficult to choose which tool to apply in your particular situation. You should have a working knowledge of DC/OS in order to complete this tutorial. However, if needed there are plenty of other tutorials to get you up and running.

It can be encouraging to keep in mind that failures are highly likely when working with distributed systems. Many components must be configured to precise specifications to function together as intended. This takes detailed preparation and awareness during installation and initial configuration. Fortunately, this also means that by putting extra care in the general design of the application architecture can potentially prevent many bugs from even arising:

We will first look at some potential problems you might face when deploying an application on DC/OS. Next, we will look at the standard set of tools for debugging. Then, after introducing a general strategy for using those tools, we have two concrete examples to illustrate how the strategy works in practice. We encourage you to first try debugging these challenges yourself, but we also provide detailed guidance for debugging them as well. There are even more scenarios like these in the dcos-debugging github repository. Also please feel free to contribute your own debugging scenarios to this repository.