Key Concepts
Understanding these core concepts will help you make the most of Quant Cloud:
-
Applications: An Application is the highest-level organizational unit in Quant Cloud. It typically represents a complete software project, product, or a major service you are building. For example,
WebPortal
orDrupalWebsite
could be Applications. -
Environments: Within each Application, you can create multiple Environments. An Environment is an isolated instance of your application with its own configuration, resources, and state. Common environments include:
production
: For your live, user-facing deployment.staging
: For pre-production testing, QA, and demos.development
: For active development and testing by your team. Each environment allows for different settings, scaling rules, and data, ensuring separation and safety.
-
Compose Definition: The Compose Definition is the blueprint for how your application’s services are configured and run within a specific Environment. It’s a JSON structure, conceptually similar to a
docker-compose.yml
file, that outlines:- The containers (services) that make up your application.
- Their settings (image, ports, environment variables, CPU/memory allocation, etc.).
- Container health checks
- Overall task-level settings for the group of containers.
You can often import an existing
docker-compose.yml
file, which Quant Cloud will translate into this internal format, or define it directly in the portal.
-
Containers/Services: These are the individual, runnable components of your application as defined in your Compose Definition. Each Container (often referred to as a Service in a broader sense) typically runs a specific part of your application, such as:
- A web server (e.g., Nginx, Apache).
- An application backend (e.g., a Node.js, Python, or PHP application).
- A worker process.
- A database proxy or a supporting utility. Quant Cloud manages the lifecycle of these containers based on your Compose Definition.
-
Volumes/Persistent Storage: To store data that needs to persist beyond the lifecycle of a single container (like database files, user uploads, or application logs), Quant Cloud provides Volumes or Persistent Storage. This is typically a shared filesystem that your containers can read from and write to. You define these logical volumes and then mount them into your containers at specific paths.
-
Scaling: Scaling refers to how your application adjusts its capacity to handle varying loads. Quant Cloud supports:
- Manual Scaling: You explicitly set the number of running instances (containers) for your services within an environment.
- Auto-Scaling: You define rules based on metrics like CPU utilization or requests per second, and Quant Cloud automatically increases or decreases the number of instances to meet the demand and your configured targets.
-
Internal Image Registry: Quant Cloud includes an Internal Image Registry, a private and secure place to store your custom Docker images. When you build your application into a Docker image, you can push it to this registry. Your Compose Definitions can then refer to these internal images, ensuring that your deployments use your specific, versioned application code.
-
Service Configuration: The Service Configuration is the complete, detailed specification that Quant Cloud uses to run your application in a particular environment. It’s derived from your Compose Definition and includes all the resolved settings for tasks, containers, networking, storage, and more. While you primarily interact with the Compose Definition, the Service Configuration is what the platform ultimately deploys.