Polyglot Sifts

We have created a platform that speaks your language (or languages). We want to give our developers the ability to leverage the best libraries in each of the languages so they can focus on building a great service, not on adapting subpar code or rewriting entire libraries.

We employ the use of Docker containers to provide the required isolated environments for each of those languages. The SDK provides this functionality by leveraging the available local Docker installation.

🚧

Non-Javascript nodes

A local Docker installation is required for all DAG implementations that have non-Javascript nodes. Pure-Javascript DAGs can also be run without Docker installed, see below for more information.

This feature depends on the underlying operating system:

  • On Linux systems, the SDK will pick up the available instance of docker
  • On OS X systems, this feature can be used only when run inside a Docker shell. You can easily open one from the GUI of Kitematic.

The SDK will automatically try to use the docker instance available in the used shell environment.

Pure-Javascript DAGs

For Sifts with pure-Javascript DAGs you do not have to run the computation node(s) within Docker containers. In fact, you do not even need a Docker installation at all. If the SDK does not find a local Docker installation it will run the pure-Javascript DAG with the Node.js version which comes with the SDK installation.

If you have Docker installed already you can opt out of using Docker containers with the --nd flag, e.g.:

redsift run -nd

📘

If you do not have Docker installed then the –nd flag is not required.

📘

MacOS & Docker

For Mac OS users Docker Machine is installed using Docker Toolbox. The containerised option is available to you when you run the SDK from inside a Docker shell. You can easily open one from within Kitematic.

🚧

VMWare Fusion users

In case you have replaced VirtualBox with VMWare Fusion, you will have to manually set up the port mappings. The default ports needed for the SDK are 7438, 35739.