Tech Specs

Details of the Saturn Cloud Platform

Languages supported by Saturn Cloud

Saturn Cloud is totally compatible with any language that can be run in Linux.

Python

Run Python code with built-in support for installing packages with pip, conda and mamba.

R

Use R with packages installed from CRAN, GitHub etc.

Julia

Start an instance with full Julia support in seconds.

Other Languages

Any language that can be installed in Linux environment can be run in Saturn Cloud.

IDEs supported by Saturn Cloud

JupyterLab

JupyterLab is built into Saturn Cloud for working with Python. JupyterLab enables you to work with Jupyter notebooks, terminals, and Dask clusters. You can also use JupyterLab for other languages.

R Server

Use R Server to interact with Saturn Cloud when writing R code. R Server lets you use R scripts, RMarkdown files, and more. You can also call Python from within R with `reticulate`.

VSCode/PyCharm

VSCode/Pycharm can connect to resources using the `Remote - SSH` plugin. VSCode will connect from your machine directly to the resource, bypassing JupyterLab or R server.

Direct SSH terminal

Resources can be directly connected to from local terminals via SSH connections.

Hardware Support

  • Memory: 4GB RAM - 4TB RAM
  • GPU: None, T4 GPU, or V100 GPUs (including multiple GPUs per machine)
  • Hard Disk Space: 10GB - 1TB

Admin Tools

  • Logging: record your resource activity
  • Utilization: dashboards for the resource and Dask
  • Control: limit users and modify running resources

Accessing Data

  • AWS Platforms

    Connect your data stored in any AWS resource to Saturn Cloud via AWS credentials. You can also connect to other database platforms like MongoDB, Atlas, or Firebase.

  • Snowflake

    Query your data in Snowflake and pull into Saturn Cloud through the Snowflake Connector for Python.

  • ODBC

    Access databases by setting up a start script for installing unixODBC for R or pyodbc for Python jobs.

  • Kaggle

    Add Kaggle API key information to your Saturn Cloud secrets page and download Kaggle dataset to your current path.

  • Local Files

    Load local files by uploading JupyterLab or the R IDE, or via SSH.

Saturn Cloud Backend

Cloud Deployment

Users can use Saturn Hosted for Cloud Deployments. Also users can deploy Saturn in their own AWS environment with Saturn Cloud Enterprise , in which case we use the AWS Marketplace to install and manage the deployment.

Container Management

Saturn Cloud runs as a deployment inside Amazon’s Elastic Kubernetes Service (EKS). EKS is a fully-managed Kubernetes service and is certified Kubernetes conformant. Each resource is deployed as a Docker container with the Kubernetes service.

Backup and Disaster Recovery

The Saturn Cloud application is automatically backed up nightly. This is preconfigured for all deployments and cannot be altered.

Resources Types

  • Jupyter Server
    Resources with JupyterLab built in for running Python code as well as other languages.
  • RStudio Server
    Resources with RStudio Server built in for writing and running R code
  • Jobs
    Set and execute a job on Saturn Cloud manually, on schedule or via an API.
  • Deployment
    Run tasks continuously in Saturn Cloud. Deploy data pipelines, models, dashboards, and web applications.
  • Dask Clusters
    Dask clusters are groups of worker machines for distributed computing in Python to scale data science tasks. They must be connected to other resources, such as Jupyter Servers or Deployments. They can be created/destroyed via the UI or programmatically from Python code.
  • Prefect Flows
    Prefect is an open source workflow orchestration tool made for data-intensive workloads. Saturn Cloud supports two different tools in the Prefect ecosystem:
    • Prefect Core, which is an open source library users can install.
    • Prefect Cloud, which is a fully hosted cloud service which you can purchase.
  • Resource limitations

    • Unlimited resources - have as many resources as you want.
    • Unlimited concurrent running resources - a user may have as many resources running at the same time as they want.
    • Pay as you go - only pay for what you use.

    Resource features

    • Isolation - each resource is totally independent of the others
    • Scalability - resource size can be adjusted based on need
    • Connected Clusters - Dask clusters can be connected for distributed computing

    Images

    An image contains instructions that explain all the libraries and tools you want installed before you start work. Saturn Cloud has a standard CPU image as well as GPU instances with different sets of libraries like RAPIDS or PyTorch.

    Python Images

    Base CPU image, plus GPU images for TensorFlow, PyTorch, and RAPIDS

    R Images

    Base CPU image and bioconductor images, plus GPU images for Torch and TensorFlow

    Julia Images

    Base CPU image, plus GPU image

    Collaborating with colleagues

    Clone Resources

      Duplicate resources between colleagues so you can immediately run the same code.

    Group Ownership

    Use groups to manage who has access to shared resources like production deployments.

    Recipes

    Use recipes (a special kind of JSON file) to save resource specifications and keep code reproducible.