How it works
The flow from requirement to deployment, and the control-plane architecture that runs it.
Core components
Four abstractions carry the entire flow:
- Intents: high-level specifications of infrastructure requirements (e.g., database, cache).
- Flavors: specific implementations that fulfill the Intents, represented by Terraform modules.
- Packs: Ops-curated collections of Intents and Flavors that standardise infrastructure options.
- Blueprints: product architectures created by developers using Intents and Flavors, deployable across environments.
See Core concepts for the full definitions and examples of each.
Architecture flow
The Facets architecture flow outlines the process from defining infrastructure requirements to deploying a product in the cloud.
Steps in the flow
- Building Blocks: Terraform modules (Flavors) curated by Ops, serving as reusable modules for infrastructure definitions.
- Intents and Flavors: Developers specify high-level requirements using Intents, linked to Flavors that provide the actual infrastructure implementations.
- Create a Project: A Project is your starting point. Once the project is created, users can create infrastructure (a Blueprint) and deploy it in multiple environments.
- Build your Blueprint: Developers construct a Blueprint by selecting Intents and corresponding Flavors to define the architecture of their product.
- Orchestrator (Launch and Environment): Transforms the Blueprint into deployable Terraform code.
- Managed Pipeline: Executes the generated code, deploying the product to the cloud infrastructure.

From Blueprint to deployed environment
The Orchestrator translates the Blueprint into Terraform code, and the Managed Pipeline executes the code, deploying the infrastructure to the cloud.

Architecture
The Facets control plane runs as a microservices application inside a Kubernetes cluster. From there it manages cloud resources across AWS, Azure, and GCP. It's self-deployable: the entire stack can be stood up in a customer's cloud account through an automated install (see Get your Control Plane for the install paths).


The microservices design means the control plane itself benefits from the same primitives it provisions: isolated services, declarative deployment, and a managed pipeline for upgrades.
Capabilities enabled by the architecture:
- Multi-cloud management from a single plane: one control plane can manage environments on AWS, GCP, and Azure simultaneously. Cloud credentials are stored per-environment; the control plane brokers access at release time.
- Automated setup: the entire stack is stood up through automation (CloudFormation on AWS, Deployment Manager on GCP, ARM templates on Azure). No manual cluster configuration is required.
- Self-upgrading: Facets pushes control-plane updates through the same managed pipeline the platform uses for customer workloads. Upgrades are zero-downtime rolling deployments.
- Isolated pipeline execution: Terraform runs are executed in ephemeral Kubernetes Jobs, not in long-running shared processes. State and credentials are scoped to each job and discarded after execution.
The control plane itself never touches your application workloads. It provisions the cloud infrastructure your applications run on, but your application containers and data remain entirely within the environments you define.
For the per-cloud resource breakdown of what gets stood up during install, see the AWS, GCP, or Azure install pages.