Terraforming with Spinnaker
Nov 1, 2019 by Stu Posluns
Spinnaker and Terraform are leading open source projects enabling the continuous software delivery and infrastructure-as-code revolutions, respectively. The Armory team has built an integration between Spinnaker and Terraform, enabling our customers to extend the power of software pipelines and continuous delivery to infrastructure management. We’ve now released a free ebook and a webinar describing the powerful ways that Spinnaker and Terraform can be used together to enhance your software delivery process, increasing both velocity and safety.
Terraform + Spinnaker (1+1 = 3)
Organizations that use both Terraform and Spinnaker experience more than just the combined benefits of both. Running Terraform infrastructure code through the same code review process as application code ensures a solid vetting and successful delivery, as infrastructure is being checked for correctness and completeness at every step along the way.
Additionally, with Spinnaker and Terraform, a DevOps practitioner rolls out the application and infrastructure side-by-side, understanding changes happening to both and how they might affect each other. By linking applications and infrastructure, there is a higher likelihood of smooth deployments and rapid corrections in case of issues. The result? More safety, reduced confusion, and increased delivery velocity with a tighter feedback loop.
What Does the Integration Enable Today?
- Manage pipelines with Terraform and update them with Spinnaker, within the same pipeline manager.
- Provision a full environment with Terraform.
- Deliver infrastructure as code with Terraform and deploy applications alongside it, within the same Spinnaker pipelines.
- Create Terraform infrastructure pipelines exactly the same way that teams create application pipelines with Spinnaker today.
- Use the same Spinnaker artifacts and repositories across teams.
- Parameterize your pipelines (e.g., RBAC).
- Orchestrate testing (via Jenkins stages).
- Visualize your infrastructure rollout and understand the state of your infrastructure at a glance.
- Manage execution windows within Spinnaker pipelines so that preset changes are paused until execution windows are reached.
- Maintain the infrastructure/application “band of context.”
- Provision, test, and revise infrastructure in all stages: staging, testing, and production.
- Establish guardrails for both application code and infrastructure management with Spinnaker.