Chapter 4 Tools
Tools are the part of the MatrixDS platform where all the magic happens. Every tool mounts the same shared file system described in the previous section. However, every tool is independent and has its own compute resources (CPU and Memory).
4.1 Creating and Opening
Making new tools is simple. From the project view select the tool tab and click new tool, a drop down list will appear. Select an option from the list, and a short description is displayed. Next click Create and the system will build a new tool ready for your use. One important point is that some tools create files in the file system for sharing libraries and other dependencies within project users.
Tools should only take a few minutes to build. Once built clicking Open launches the tool in a new browser tab ready for use.
A couple of things to keep in mind. Files will persist, but the tool will only be ‘active’ by default for 6 hours. This is a beta feature to help us control costs. After six hours the tool will stop (AKA shutdown) and must be restarted. Any unsaved work will be lost. The terminal tool is not shell access to any of the other tools but its own entity. If a tool has shell access built in (like Jupyter), you can access it from there.
4.2 Stopping, Starting and Deleting
You have the control of stopping tools (shutting them down) to save resources while a tool is not in use by clicking the Stop button in the tool detail. Once a tool is stopped, either manually or timing out, you can start it back up by using the Start button. Tools can be permanently deleted from a project if they are no longer needed. Click the Delete button on the tool detail page.
4.3 Tool Detail
Each tool is a separate Docker container, and there are some global variables which you can manipulate. However, for the MatrixDS provided tools, it is advisable to use the default options. The following is a brief description of the options.
- Application: The name of an application
- Port: The port where the application UI will be presented
- Docker Image: The location of the docker image used for the tool
- Mount Path: The location on the docker container to mount the project file structure
- Health Check: An optional health check for the container
There are some other system generated values that are useful when projects require tools to interact.
One of the most significant options is making a tool Public. Doing this will make the tool URL available to anyone on the internet. If an analytics project requires public output (like a web app, blog or API) just check the public option.
4.4 Launching A Docker Hub Tool
The tool service can build and present any existing docker image. The most common repository of docker images is Docker Hub. You can use any container image path here for the custom tool option. The following is an example of building a Superset tool (for dashboarding).
Using any docker container creates quite a bit of flexibility for adding cutting edge tools to your analytics project. Each tool has a host name in the detail pannel for connectivity purposes. A word of caution is to pay close attention to where you put the mount path for each tool as that is where you will be able to access project files.