Projects: Your Central Workspace in FastDeploy

A Project in FastDeploy serves as your top-level organizational workspace. It's designed to bring together all the essential elements of your cloud infrastructure — services, environments, and deployment configurations — into a structured and modular unit. Think of it as the foundational container for everything you build and deploy.


Why Projects? Projects provide critical isolation and organization. By grouping related components, you ensure clear boundaries between different applications or initiatives, simplify access control, and streamline management of your cloud resources.

Services: The Building Blocks of Your Application

Within each Project, a Service represents an individual, deployable application component. Whether it's a mission-critical API, a dynamic frontend, a robust background job, or a simple static site, each service is an independent piece of your larger application.

  • Git Repository Integration: Services can be seamlessly connected to a Git repository, enabling continuous deployment workflows.
  • Configurable Builds: Each service defines its own specific build settings and runtime environment (e.g., Node.js, Python, Go).
  • Independent Deployments: Services are deployed independently, allowing for agile updates without affecting other parts of your project.
  • Shared Environment Configuration: While independent in deployment, services within the same project share common environment configurations, ensuring consistency.

Environments: Isolated Instances of Your Application

An Environment is a completely isolated instance of your project's services and their associated deployments. They provide dedicated spaces for different stages of your application's lifecycle, ensuring that testing, staging, and production activities don't interfere with each other.

Common examples include:

  • prod: Your live, public-facing application.
  • dev: For ongoing development and rapid iteration.
  • staging: A pre-production environment for final testing and review.
  • qa: A dedicated environment for quality assurance and bug fixing.

Warning: Complete Isolation It's crucial to understand that all environments are completely isolated from each other. This means separate resources, data, and network configurations, providing a safe sandbox for development and testing without impacting live users.


Deployments: Orchestrating Your Services

Deployments are the detailed definitions of your services, outlining how they should interact, their desired state, and how they are ultimately provisioned and managed within a specific environment.

They leverage "deployment files" (often in formats like YAML or JSON) that describe:

  • Service Interactions: How different services communicate with each other (e.g., API endpoints, database connections).
  • Resource Allocation: Specifications for CPU, memory, storage, and networking for each service.
  • Scaling Rules: How services should automatically scale up or down based on demand.
  • Runtime Configuration: Environment variables, secrets, and other settings specific to the deployment.
  • Health Checks & Monitoring: Definitions for ensuring service availability and performance.

Figure 1: Conceptual Diagram of a FastDeploy Project. A Project contains multiple Services (e.g., Frontend, Backend API, Database) and various Environments (Dev, Staging, Prod). Each Environment then hosts Deployments of those Services, showing their isolated but interconnected nature.

© 2025 FastDeploy.AI, All Rights Reserved