How can you extend working infrastructure as code templates to multiple environments, e.g. dev, staging and production? Let's walkthrough a monorepo approach that leverages abstracting templates as modules, and leveraging subpaths for configuration and versioning.
A few years ago Pulumi introduced code-native programming language for Infrastructure as Code (IaC), bringing it closer to the developer and their existing skillset. Fast-forward to 2021 and Microsoft and HashiCorp are playing catch-up to Pulumi and to each other. To help you choose IaC technology, let's look at IaC programming languages for short-term developer happiness and code re-use for long-term productivity.
Azure Pipelines and Terraform make it easy to get started deploying infrastructure from templates. But how do you go from sample code to real life implementation, integrating git workflows with deployments and scaling across across multiple teams? Here are 5 Best Practices to get you started on the right foot.
Some software projects will use a monorepo for multiple components, especially projects migrating to the cloud. Let's create multiple Azure DevOps pipelines for a single git repository. But this is not without disadvantages.