Salad Container Engine (SCE)

Containers provide a portable and immutable format for packaging, deploying, and managing cloud-native applications at scale. Salad Container Engine (SCE) offers fully managed container orchestration, dynamically distributes workloads to optimal hardware cohorts in accordance with technical requirements, and features 3D-accelerated GPU processing on every available node instance.

It's the fastest, simplest, and most affordable way to run containerized workloads—without managing virtual machines or underlying compute infrastructure.

Supported Workflows

Salad Container Engine is designed to integrate into your existing workflows. To schedule your first SCE deployment, you'll simply need to call into the Salad API, either directly within a build pipeline or through one of our convenient developer productivity tools.

Salad Web Portal

Create and manage your organization within a simple, browser-based navigator. Migrate container images hosted in an existing registry and deploy to Salad's distributed infrastructure within minutes.

Salad Control Tool (SCTL)

For developers who need real-time monitoring and elastic scaling on demand, the Salad Control Tool (SCTL) command line interface offers more granular methods for configuring, deploying, and managing container groups.

Salad API

Develop or update your own build pipeline integrations with Salad's securely exposed API endpoints. The SaladCloud API follows OpenAI specifications to offer straightforward templates and out-of-the-box compatibility.

Defining Workloads

In the Salad Container Engine lexicon, container deployments are known as Workload Definitions. Once you have migrated a container image and selected your technical requirements, you'll simply determine how many Container Instances will be required in your Container Group.

Container Instances

A Container Instance represents a single instantiation of a container on a dedicated host connected to the Salad network. Each time a container is deployed to a Salad machine node, a new Container Instance is created with a unique id and discrete logs.

Container Groups

A Container Group is defined as a container image, any required hardware resources, and a predetermined number of replicas to be maintained at any given time.

Container Groups can be used to ensure that a specified number of identical containers are running across the Salad network. Once a Container Group has been defined, Salad Container Engine automatically creates or purges Container Instances as needed to reach the desired replica count.

Container Groups can be started, stopped, or scaled via the Salad API, giving you direct control over your workloads before and after deployment.

Compute Environment

Salad leverages hardware-native virtualization and industry-standard container runtimes to standardize the compute environment across a distributed network of heterogeneous hardware.

Once a container image has been deployed, Salad Container Engine instantiates replicas on a predetermined number of available physical devices as stateless processes within virtual Linux subsystems. Locally hosted instances of the Salad desktop client report machine availability to the Salad network to be placed in a priority queue for rapid container deployments.

Host Environment

901901

All SCE container instances deploy to consumer-owned hardware running modern Windows NT operating systems (Windows 10 or later). This requirement allows the Salad desktop client to leverage Microsoft Hyper-V virtualization features, manage and monitor workloads as localhost processes, and boot true Linux kernels from the Windows Subsystem for Linux (WSL2).

Upon receiving directives from Salad Container Engine, the Salad desktop client initiates a node agent called Salad Bowl, which creates, monitors, and communicates with a containerd runtime that is sandboxed in a parallel Linux subsystem. Running containers may only access a restricted subset of necessary machine resources from host devices.

Stateless Execution

Active SCE container instances are treated as stateless workloads. Whenever the virtual execution context closes (through downscaling, batch job termination, or failure), the container image is purged from the host machine's local memory. While running, the Salad container orchestrator uses heartbeat monitoring to assess potential interruptions or other failures, and determine when and how best to dynamically fail over to another dedicated node with 100% actual resource availability.

Open-source Dependencies

Salad incorporates time-tested and incrementally developed tooling for reliable performance and replicable results. The SaladCloud API conforms to OpenAPI specifications and generates templates in various coding languages to facilitate testing and development. When deployed from SCTL or the SaladCloud Portal, SCE container instances are automatically executed in the latest stable version of the open-source containerd container runtime.

Use Cases

Salad's affordable infrastructure is as versatile as your imagination. Here are just a few examples of what you can build with Salad Container Engine (SCE):

  • proxy video-streaming requests for virtual private networks
  • conduct long-running data processing queues
  • execute hyper-threaded, parallelized workloads
  • distribute 3D rendering or VFX queues
  • procedurally-generated mapping simulations
  • access low-latency servers for P2P gaming

Additional Considerations

Developers interested in using Salad Container Engine should be aware of these additional considerations.

Cold-start Overhead

If the Windows Subsystem for Linux utility is not installed on the best available host machine, the Salad Bowl daemon must install it before running container workloads within Salad's Linux distribution. This design pattern can introduce modest overhead in terms of cold-start time, but should not impact performance or reliability.

Data-sensitivity Compliance

Customers in specialized industries may be legally obligated to protect sensitive data such as medical records or private financial information. While Salad takes precautions to secure every workload on our network, we cannot guarantee that our solutions are considered compliant with requirements outlined by select regulatory commissions or legislative authorities (including but not limited to HIPAA and the Financial Modernization Act of 1999).

Scaling Container Groups

While Salad Container Engine does maintain a stable replica count within a given Container Group, SCE deployments do not currently up-scale Container Groups based on performance. Container Groups must be scaled up or down on demand through SCTL, the Salad Web Portal, or by direct request via the Salad API.

Autoscaling features are on our product roadmap for 2023. Salad Container Engine is also compatible with a number of third-party monitoring toolkits.


Did this page help you?