Ensemble is a service orchestration tool that couples provisioning and configuration to deploy and manage distributed applications and services. It uses "formulas" written in YAML to define relationships between components. Formulas are simple to write and review. Ensemble makes assumptions explicit rather than burying them in code or configuration. It provides a way to declaratively model and manage complex, interdependent systems.