Book Image

Infrastructure as Code for Beginners

By : Russ McKendrick
4 (1)
Book Image

Infrastructure as Code for Beginners

4 (1)
By: Russ McKendrick

Overview of this book

The Infrastructure as Code (IaC) approach ensures consistent and repeatable deployment of cloud-based IaaS/PaaS services, saving you time while delivering impeccable results. Infrastructure as Code for Beginners is a practical implementation guide that helps you gain a clear understanding of the foundations of Infrastructure as Code and make informed decisions when implementing it. With this book, you’ll uncover essential IaC concepts, including planning, selecting, and implementing the right tools for your project. With step-by-step explanations and real-world examples, you'll gain a solid understanding of the benefits of IaC and the scope of application in your projects. You'll learn about the pros, cons, and best practices of different IaC tools such as Terraform and Ansible, and their use at different stages of the deployment process along with GitHub Actions. Using these tools, you'll be able to design, deploy, and secure your infrastructure on two major cloud platforms, Microsoft Azure and Amazon Web Services. In addition, you'll explore other IaC tools such as Pulumi, AWS CloudFormation, and Azure Bicep. By the end of this book, you’ll be well equipped to approach your IaC projects confidently.
Table of Contents (15 chapters)
1
Part 1: The Foundations – An Introduction to Infrastructure as Code
5
Part 2: Getting Hands-On with the Deployment
9
Part 3: CI/CD and Best Practices

Getting hands-on knowledge of Azure Bicep

Azure Bicep is the first of the two cloud-specific IaC tools we will be looking at in this chapter. For quite a while, if you wanted to use the native tool provided by Microsoft, you would need to write an ARM template.

When we discussed Microsoft Azure in Chapter 4, Deploying to Microsoft Azure, we stated that ARM is short for Azure Resource Manager – that is, the API that powers all of Azure. You will have been using ARM when using the Azure portal, command-line tools, PowerShell, or any IaC tool we have covered to launch or manage your Microsoft Azure resources.

The best way I can think to describe ARM templates is that they are the JSON payloads that are sent to the API – I won’t include an example of what an ARM template looks like as there is a lot of it, but I have included an example file called arm-template-example.json in the same folder as the Bicep file in the accompanying repository. As you can see, there...