Understanding Releases, Resources and Services

Releases

Releases are how you make changes to an environment. A release can involve launching the complete product for the first time or simply deploying a new build for one of the services.

Services (Facets Module Pack)

Services are an abstraction over deployments, not to be confused with Kubernetes Services. They represent either microservices or monolithic applications. These are managed using a specially designed Helm chart that handles:

  • Horizontal Pod Autoscaling (HPA)
  • IAM (Identity and Access Management)
  • Monitoring
  • Node management
  • Blue-green deployments

Resources

Resources are representations of what you need to deploy. There are various types of resources, with services being one of them. We continuously add new resource types to enable broader use cases. Each resource type can have several flavors, allowing you to switch implementations as needed, either per environment or per resource.

How It Works

Facets provides a unified interface for each resource, ensuring consistent outputs. This allows you to wire resources together seamlessly, regardless of their implementation. Each resource is backed by a Terraform module written and tested by our team to cover a wide range of scenarios, including security, cost management, and observability.

Custom Resource Types and Flavors

In our Enterprise version, we offer customers the ability to create custom resource types and flavors by integrating their own Terraform modules.