This was the longest and perhaps most important chapter so far! All these new infrastructure tools are useless if we don't know how to use them in production.
Now we know how to scale our Terraform resources with count
and how to work around a lack of conditional statements in the HashiCorp Configuration Language with the help of the count
property. You learned how to reference resources grouped with count
, how to target them, and how to provision them properly. We also discovered a few more useful functions of Terraform.
Most importantly, you learned what immutable infrastructure is and what benefits it brings along to modern operations. With the theory in hand, we taught ourselves how to use yet another HashiCorp tool, Packer, and created a few AMIs with it. And, as we know that Terraform is perfect for immutable infrastructure, we took a deep look at multiple ways to do upgrades of complete instances. We did so manually, with self-written scripts, and we also used Auto Scaling groups...