Infrastructure Automation with Terraform
eBook - ePub

Infrastructure Automation with Terraform

Automate and Orchestrate your Infrastructure with Terraform Across AWS and Microsoft Azure

Ankita Patil

Share book
  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Infrastructure Automation with Terraform

Automate and Orchestrate your Infrastructure with Terraform Across AWS and Microsoft Azure

Ankita Patil

Book details
Book preview
Table of contents
Citations

About This Book

Use Terraform and Jenkins to implement Infrastructure as Code and Pipeline as Code across multi-cloud environments

Key Features
? Step-by-step guidelines for managing infrastructure across multiple cloud platforms.
? Expert-led coverage on managing Pipeline as Code using Jenkins.
? Includes images demonstrating how to manage AWS and Azure resources using Terraform Modules.

Description
This book explains how to quickly learn and utilize Terraform to incorporate Infrastructure as Code into a continuous integration and continuous delivery pipeline. The book gives you the step-by-step instructions with screenshots and diagrams to make the learning more accessible and fun.This book discusses the necessity of Infrastructure as a Code (IaC) and the many tools available for implementing IaC. You will gain the knowledge of resource creation, IAM roles, EC2 instances, elastic load balancers, and building terraform scripts, among other learnings. Next, you will explore projects and use-cases for implementing DevOps concepts like Continuous Integration, Infrastructure as Code, and Continuous Delivery. Finally, you learn about the Terraform Modules and how to establish networks and Kubernetes clusters on various cloud providers. Installing and configuring Jenkins and SonarQube in Cloud Environments will also be discussed.As a result of reading this book, you will be able to apply Infrastructure as Code and Pipeline as Code principles to major cloud providers such as AWS and Azure.

What you will learn
? Create, manage, and maintain AWS and Microsoft Azure infrastructure.
? Using Packer, create AMIs and EC2 instances.
? Utilize Terraform Modules to create VPC and Kubernetes clusters.
? Put the Pipeline and Infrastructure as Code principles into practice.
? Utilize Jenkins to automate the application lifecycle management process.

Who this book is for
This book will primarily help DevOps, Cloud Operations, Agile teams, Cloud Native Developers, and Networking Professionals. Being familiar with the fundamentals of Cloud Computing and DevOps will be beneficial.

Table of Contents
1. Setting up Terraform
2. Terraform Basics and Configuration
3. Terraform Provisioners
4. Automating Infrastructure Deployments in the AWS Using Terraform
5. Automating Infrastructure Deployments in Azure Using Terraform
6. Terraform Modules
7. Terraform Cloud
8. Terraform and Jenkins Integration
9. End-to-End Application Management using Terraform

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Infrastructure Automation with Terraform an online PDF/ePUB?
Yes, you can access Infrastructure Automation with Terraform by Ankita Patil in PDF and/or ePUB format, as well as other popular books in Computer Science & Cloud Computing. We have over one million books available in our catalogue for you to explore.

Information

Year
2022
ISBN
9789355510907

CHAPTER 1

Setting Up Terraform

"Believe in yourself! Have faith in your abilities! Without humble but reasonable confidence in your powers, you cannot be successful or happy."
—Norman Vincent Peale
Application delivery and the activities involved in it have changed a lot after cloud computing and DevOps practices gained the attention of different organizations. Everything as code is a new norm where your automation or CI/CD pipeline is also part of version control - pipeline as code. High availability, disaster recovery, and business continuity have become crucial considering the competitive market. Terraform helps us write and execute code to define, deploy, update, and destroy your infrastructure in different cloud environments; hence, we don’t need to learn cloud specific tools. Terraform is an open-source Infrastructure as Code tool that codifies cloud APIs into declarative configuration files to make managing different environments easier.
In this chapter, we will install and configure Terraform in different operating systems as well as in Docker container. We will use Docker Desktop to create a container that has Terraform installed on it. We will also understand the details for AWS and Azure accounts and Command line (CLIs). It will help us in the upcoming chapters when using Terraform to create infrastructure in AWS and Microsoft Azure cloud environment.

Structure

We will discuss the following topics in this chapter:
  • Installing and configuring Terraform on Windows using Chocolatey
  • Installing and configuring Terraform on Mac
  • Installing and configuring Terraform on Ubuntu
  • Installing and configuring Terraform on CentOS
  • Terraform IAC Development and IDE
  • Creating Microsoft Azure Account
  • Installing and Configuring Azure CLI
  • Creating AWS Account
  • Installing and Configuring AWS CLI

Objectives

After studying this unit, you should be able to install and configure Terraform in different operating systems or different types of platform, such as Docker container. You should also be able to understand how to create AWS and Azure accounts and installing CLIs.

Installing and configuring Terraform on Windows using Chocolatey

Terraform open-source project and Terraform plugins are written in GO programming language. We can use Terraform to create infrastructure resources across different cloud service providers such as Amazon Web Services (AWS) and Azure as well as other cloud deployment models and virtualization platforms. In this book, we are going to use AWS and Microsoft Azure. We will install and configure Terraform, AWS CLI, Azure CLI, and editors. This environment creation will help us write Terraform files to create resources in different cloud platforms.
Chocolatey is a small piece of wonder for all those who hate struggling with the installation of different packages on Windows. It helps make installation easier and can be done from your command-line. Its features include management of dependencies and version control, and it offers ease of use for handling different packages on Windows. Chocolatey is an open-source package management tool, but it has a commercial edition. Chocolatey is in a similar pool of yum, apt, and Homebrew. In simple words, Chocolatey is a Windows Package Manager that makes your life easy with simplicity, efficiency, power, and flexibility.
Note: Terraform doesn’t require GO as a pre-requisite for installation or any GO programming skills.
Here are the pre-requisites to install Chocolatey:
  • Windows 7+ / Windows Server 2003+
  • PowerShell v2+ (the lowest version is v3 for install from this website due to TLS 1.2 requirement)
  • .NET Framework 4+ (the installation will attempt to install .NET 4.0 if you do not have it) (the lowest version is 4.5 for install from this website due to TLS 1.2 requirement)
Let’s try to install Chocolatey using the following commands:
We will install it with PowerShell:
  1. With PowerShell, execute the "Get-ExecutionPolicy" command first. Here’s the explanation of the output of the execution of this command:
    • If output is restricted, run Set-ExecutionPolicy AllSigned Or Set-ExecutionPolicy Bypass -Scope Process
      If output is AllSigned, then go to Step 2.
      Visit https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1 for more details on execution policies.
  2. Execute the following command to install Chocolatey. Visit the official website for more details on Chocolatey installation.
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))
  3. Type choco or choco -?. You are ready to install packages using Chocolatey. Chocolatey is installed in following screenshot:
    Figure 1.1: Install Chocolaty on Windows using PowerShell
  4. Verify environment variables after installing Chocolatey as per the following screenshot. Visit https://chocolatey.org/install for advanced installation of Chocolatey.
    Figure 1.2: Environment vari...

Table of contents