Project

A Project is your workspace in Facets: one blueprint and the environments deployed from it. When to create a project, when not to split one, and how Facets keeps large projects manageable.

A Project is your workspace in Facets. It holds one Blueprint, your application's map of resources, and the Environments deployed from that Blueprint onto your cloud. You create a Project from a Project Type, which sets the modules it can use, then build its Blueprint and deploy it across environments.

When to create a new project

Create a project around a functional or operational boundary, not by default:

  • Distinct business capabilities. A recommendation engine and an e-commerce platform serve different purposes and run independently, so they belong in separate projects.
  • Operational independence. Systems that run in silos, with little interaction, are good candidates for separate projects.

Why not split one product into many projects

Splitting a single product across projects usually adds complexity without benefit. Before you split:

  • For access control, use resource groups, not a split. If RBAC is the reason, Resource Groups give logical separation and fine-grained access without splitting the project.
  • Size is not a reason. Facets abstracts Terraform state management and optimizes it for scale, so a large blueprint does not need splitting.

Handling large projects

Facets is built to keep a single project manageable at scale:

  • Abstracted state management automates Terraform state, reducing operational overhead.
  • Performance optimizations keep deployments efficient even for large environments.
  • Unified project knowledge gives one view of every resource and dependency, so you see relationships clearly and avoid redundant configuration.