Using Infrastructure as Code for deployment
Throughout this book, we’ve used bash scripts to deploy all our labs. We were able to do this because most of our labs were straightforward, with minimal integration, and didn’t require any repeatability. This is generally not the case when working in enterprises. You’ll want to have multiple environments for development and testing. You may need to deploy to multiple or different clouds. You might need to rebuild environments across international borders to maintain data sovereignty regulations. Finally, your deployment might just need more complex logic than what bash is able to easily provide.
This is where an Infrastructure as Code (IaC) tool begins to provide value. IaC tools are popular because they provide a layer of abstraction between your code and the APIs needed to deploy your infrastructure. For instance, an IaC tool can provide a common API for creating Kubernetes resources and creating resources in...