[Virtual Event] Spacelift Product Roundup: the quarter's top Spacelift releases in one session.
Software Development

commercetools enables companies to flexibly customize, tailor, and scale shopping experiences across markets with its headless, API-first, multi-tenant SaaS commerce platform. Infrastructure automation and deployment are fundamental to commercetools’ SRE organizational processes. However, the SRE teams had to grapple with the challenges of managing Terraform modules and applying Terraform configuration across multicloud environments.
We spoke to commercetools Sr. SRE Chuka Durugo about how Spacelift helped commercetools transform its cumbersome Terraform management approach into a streamlined infrastructure automation engine for developers.
Before adopting the Spacelift platform, commercetools operated a labor-intensive module release workflow. This is what it involved:
And these are the stages of the Terraform apply workflow:
Not surprisingly, an SRE could spend an entire workday attending to developers’ PR requests, and this effort could even spill over to the next day because of apply failures, new fixes, and retries. Such an intensely manual delivery process was hugely cumbersome, inefficient, and ultimately unsustainable for the SRE teams. “Delivery timelines for developers were not guaranteed because every opened PR fell into a queue to be actioned by an SRE, and, unless it was urgent, this work usually took days,” recalls Chuka.
The process may have achieved the desired end result, but a far simpler solution was required to accelerate module releases, leverage module versioning, and automate infrastructure deployments. The teams needed a way to alleviate the pain of manual intervention and give developer teams the autonomy to manage their releases themselves.
Spacelift was not the only IaC management solution that commercetools considered. They also evaluated Semantic Release and Terraform Enterprise:
Chuka outlines the following criteria for the ideal commercetools solution:
Spacelift works smoothly with commercetools’ current Terraform IaC configuration. It manages:
Spacelift also comes with a private module registry, which neatly solves the problem of module versioning and accelerates releases across all its references. Teams can now leverage the Terraform versioning syntax “version = ~> 1.0.0”, and they no longer have to manually update all references after a module patch version update.
With Spacelift, delivery timelines for developer teams have been slashed. Deployment times that previously extended into days have been reduced to mere minutes. Chuka explains that this is largely because teams no longer depend on SRE teams for deployment: “What contributed to the long wait time was the dependency on SRE availability. With Spacelift, that dependency is no longer there, thereby reducing deployment time to minutes.” Developers have the autonomy to manage their own deployments. They simply get their PRs merged to trigger the stack workflow, and deployment happens as soon as the relevant team approves.
“SRE teams can now focus their time on more meaningful work because developer teams are empowered to self-manage their deployments via Spacelift,” concludes Chuka.