IaC Best Practices: Using Automation API
Blog post from Pulumi
The blog post is part of a series on Infrastructure as Code (IaC) best practices, focusing specifically on the fictional company Zephyr Archaeotech Emporium's use of Pulumi to manage their online retail store's infrastructure. It highlights how Zephyr evolved from using simple Pulumi stacks to adopting a more complex, multi-project setup, which includes a newly added "zephyr-data" project for managing data infrastructure with Amazon Aurora. To handle the increased complexity and potential deployment errors, Zephyr's team employed Pulumi's Automation API, which allows for programmatic control of Pulumi operations using various programming languages, simplifying the orchestration of multiple stacks. The post emphasizes separating configuration from code for easier distribution and using local source to enable independent management by separate teams, while inline source may be preferable when tight coupling is necessary. The Automation API program is written in Golang and enables efficient stack operations like updates and destruction, simplifying the deployment workflow for Zephyr's team.