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

Producing the low-level design

Based on the deployment we discussed in Chapter 3, Planning the Deployment, we know we are going to need the following resources to run our workload on Microsoft Azure:

Figure 4.1 – An overview of the resources we are going to launch in Azure

Figure 4.1 – An overview of the resources we are going to launch in Azure

We will use the following services:

  • Azure Load Balancer: This is a TCP load balancer as a service – while I would have preferred to use Azure Application Gateway to terminate our HTTP/HTTPS connections, that would have added a little too much complexity to our build for this stage of the book.
  • Virtual Network: The core networking service our services will be both deployed into or configured to be accessible from.
  • Virtual machine: We will use a single Linux virtual machine as our WordPress admin instance – this will be responsible for the initial bootstrapping of the application.
  • Virtual Machine Scale Set: This is similar to the Linux virtual machine...