Why a new version of Coral

The previous version of Coral had some clear limitations.

  • It had a static state-machine which did not suit the diverse needs of large organizations.
  • It was coupled to internal tools at Microsoft.
  • The core of the product was not decoupled enough from the creation of resources through external services, which led to the codebase being harder and harder to maintain and test.
  • The resources created were not properly tracked, but relied heavily on conventions that were hard to guarantee/maintain.
  • The UX of Coral was too coupled to the service so way too many changes required them to change in tandem.
  • The Coral templates were located together with baseline build tools, making it harder to reuse a template.

The new version of Coral aims to remedy all of these shortcomings and hopefully make it easier for more teams to adopt it. Coral v2 unlocks more powerful scenarios like, drift, extensibility and resource management.