Architecture

Learn about the high level architecture of Skyramp

Docker Architecture

Docker Architecture

There are three main components that form the core of Skyramp:

  1. Skyramp Library
  2. Skyramp Worker
  3. Skyramp Clients

Skyramp Library

Skyramp exposes all the key abstractions needed for distributed testing through the Skyramp Library on the client side. The Skyramp Library interacts with the Skyramp Worker deployed in-cluster to implement service mocking and testing, available as Mocker and Tester respectively.

In addition to Mocker and Tester, there is a separate client side abstraction exposed by the Library — Deployer. Deployer allows you to deploy a subset of your application given a Helm Chart.

For inner dev loop testing you can access the functionality of the library through our Clients. Alternatively, you can directly use the libraries in your CI pipelines to create custom testing solutions.

Skyramp Worker

The Skyramp Worker implements the core functionality of Mocker and Tester. It is deployed via Docker Compose into your cluster. You can communicate with the Worker either directly via the Library or by using Skyramp Clients. The Worker provides several management features that are useful for testing and development including running and managing mocks, generating load for tests, managing and visualizing tests and more.

Skyramp Clients

Skyramp provides a Terminal client and a VSCode Extension for inner dev loop testing.

Terminal Client

The Terminal Client has a comprehensive list of CLI Commands you can use in ad-hoc testing. To install, visit the Install Client page.

VSCode Extension

The VSCode Extension is a visual way to interact with Skyramp right from your development environment. For more info, visit the VSCode Extension page.

Cluster Orchestration

Skyramp supports Docker Compose for orchestration as shown in the architecture diagram.