DevOps Fundamentals: Build Azure Infra with Terraform
- Description
- Curriculum
- FAQ
- Reviews
Understand the core fundamentals of terraform, how it is different from Cloud-native tools like cloud formation from AWS, ARM for Azure, or deployment manager from Google. Learn the nuances of Terraform to use it as an Infrastructure as Code to provision and manage any cloud, infrastructure, or service.
Expand your terraform knowledge to the next level where we would be starting with core fundamentals of terraform and learning some of the advanced features like loops, if statements, conditionals, for-each loop, functions, provisioners, data, and imports. Over the next few hours, we would be building a production-ready multi-tier application right from scratch using terraform.
This course is one of the few in the marketplace, where it is being regularly updated almost real-time basis as soon as the Hashicorp (Terraforms Parent company) launch any new set of feature, we make sure learner enroll in the course get the best out of the content.
We also as a team strive to be customer-focused by making sure whatever queries are being put on direct messages or in the community, we try to get back to the learner within 24 hours if not early, there have been scenarios where our instructors have been on screen sharing session with the users and helped them solve the problems.
Prepare for interviews and certification by solving quizzes at the end of sessions.
What will you learn over the next few hours and How the course is shaped?
-
Terraform As an Infrastructure as a Code
-
Installation
-
Writing terraform configuration
-
Parameterising Configuration
-
Terraform State
-
for and for-each loop
-
Loops used for expressions
-
Count Parameter
-
Conditionals
-
Terraform Functions
-
Terraform modules
-
Public registry
-
Reuse code to create modules
-
Building a multi-tier application
-
Production-ready Terraform code
-
Provisioners with Terraform
-
Terraform Import
-
Infrastructure CI-CD
-
Deployment via Github Actions
-
Store Secrets and Apply Workflow
-
Data Sources
-
Custom Variables
-
Count with Modules
-
Dynamic for each loop for list of objects
-
Introduction Sensitive Variables
-
Gitlab YAML (CI-CD)
-
1What we are going to cover?Video lesson
-
2Terraform as an Infrastructure as a CodeVideo lesson
Understand the core fundamentals of terraform, how it is different from Cloud native tool like cloudformation from AWS, ARM for Azure or deployment manager from Google.
Learn the nuances of Terraform to use it as a Infrastructure as Code to provision and manage any cloud, infrastructure, or service. This module will be about the evolution of terraform and get a sound knowledge of the lifecycle covering INIT , PLAN , APPLY and DESTROY.
-
3Install Terraform on Windows, Linux and MacVideo lesson
Installing terraform on different operating system, easy installation on Linux and then on windows and Mac. Learn about terraform cli and get ready to write terraform configuration.
-
4Terraform Level 1 - BasicsQuiz
Test your basic terraform knowledge
-
5What we are going to cover?Video lesson
-
6Create Configuration for Azure & Introduction to VariablesVideo lesson
Terraform users define infrastructure in a simple, human-readable configuration language called HCL (HashiCorp Configuration Language). In this module we will be writing our first terraform configuration file and will start with creating a resource group on Azure. We then apply the lifecycle by initializing and then applying our infrastructure.
In the first half of the video we would be creating resources on Azure .
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Congratulations on writing your first configuration however what you have is hard coding the attributes in the configuration and this is not the most practical or efficient if we have to change these values. In order to address the issue we are going to parameterize our configuration using variables.
There are multiple ways of parametrizing variables, following are the ones which we have practised in this video:
1. Defining in variable.tf
2. Command line flags
3. Using a file >> *.auto.tfvars
-
7Remote StateVideo lesson
What is terraform state? Why should you care about it. In this module you’ll learn the heart where all the data of terraform seats in, state acts as a database for terraform so that it can understand what all resources are created using terraform and what next to create/modify/delete.
Understand how to isolate state and keep it safe so that it is secured and easily accessible when working within a team. Learn how to manage resource using terraform state like deprovisioning resources using Terraform state.
-
8Statefull as outputVideo lesson
-
9State RM, DestroyVideo lesson
-
10Terraform State and Config PractiseQuiz
Terraform State and Config Practise
-
11What we are going to cover?Video lesson
-
12for, for_each loop and Count expressionsVideo lesson
Terraform is a declarative language, generally declarative languages done have for-loops to repeat a block of logic fortunately terraform provides a few of the primitives like count, for_each and for expressions which allows us to loop over lists,sets and maprs. In this module we would be using a for-each loop on a set of NSG rules which we think would be a top example when it comes to implementing for-each loops in real life scenarios as well.
We would interate sing for_each loop also use count parameter to create multiple resources, in this module we would use for loop to generate a single value wherein we would be iterating through the list using for to generate certain values.
Count Parameter
Now that you know how to create single resource like resource group, cosmost db however in real scenarios in your companies you would be need to create multiple resources using the piece of code and terraform resources has a meta-parameter which we will use called “count.” Count is one of the oldest iteration construct that is used to create multiple copies of resources using the same code.
We will create multiple blob storages in azure using the count parameter with different unique names for all of the resources created using count.index
We would also be using terraforms build in function called length which will be used to count the number of items in the given list and then use the value to assign it to count to define number of resources to be created.
-
13Functions & Conditionals : If-else statementVideo lesson
Conditionals
Terraform not only offer multiple ways to perform looping, there are also several ways to do conditionals just like if statement in other programming languages, using conditionals you perform certain action basis if the logic is true or false.
Terraform Functions
Just like other programming function is a block of reusable code performs certain operations, terraform includes a number of built in functions that can be called within expression to transform values like max() will pick the max from the set. We would be using multiple functions like element(),min(),format() and many more and understand how we can leverage functions in real world while building infrastructure.
-
14Loops and Expression PractiseQuiz
Practise how loops and count works in terraform.
-
15What we are going to cover?Video lesson
-
16Production-ready Terraform codeVideo lesson
We would be building a multi tier application with multiple virtual machines using count function wherein we would be building multiple components like:
1. Virtual machines
2. Virtual Networks
3. Subnets
4. Multiple Public Ip addresses
-
17Provisioners with TerraformVideo lesson
Terraform isn’t just to manage your infrastructure it can be also used as a configuration management tool like Puppet, Chef,or Ansible which means you can you use your existing management modules, roles, or cookbooks that already know how to build your applications and services. This module is going to be about how you can use terraform provisioner to bootstrap an apache server.
We are going to use three different provisioners i.e. file, local-exec and remote-exec to write our configuration code to install and apache on a new Virtual Machine.
-
18Production Use CasesQuiz
-
19Terraform Module for common configurationVideo lesson
Terraform module is a very simple approach to combine set of terraform configuration file wrapping infrastructure in a folder as a module, in this section we would get started and understand the core fundamentals of terraform module, what it is, why should you care about using terraform Module.
-
20Terraform Public RegistryVideo lesson
This sections is going to be an hands on session with terraform module, we would use terraform registry to create an Azure VNET, this module is a publicly available module which any one can pull and start creating resources.
-
21Convert existing files to ModulesVideo lesson
If you were to create same infrastructure for multiple environments or let's say for multiple clients, because underlying infrastructure would remain same, how would you do it?well copying pasting is error prone, that can't be the solution. Watch out the video to learn.
-
22Reuse Existing code for multiple environmentsVideo lesson
Reuse your existing Terraform code to spin up multiple environments.
-
23Terraform ModulesQuiz
-
24Terraform Practise QuestionsQuiz
-
29What we are going to cover?Video lesson
-
30Automate Workflow via Github ActionsVideo lesson
GitHub Actions makes it easy to automate all of our software/Infrastructure workflows with world-class CI/CD. Build, test, and deploy your Infrastructure code right from GitHub.
-
31Deployment via Github ActionsVideo lesson
So far we have been deploying code from our local system, downside of this approach is no one is where who applied the changes and from where, in this section we would be leveraging Github Actions to deploy terraform code.
-
32Store secrets and apply workflowVideo lesson
Encrypted Azure secrets which allows you to store sensitive information in your organization, repository, or repository environments.
-
33DevOps with GitlabVideo lesson
-
34Apply and Destroy with approvalVideo lesson
-
35Authentication and variablesVideo lesson
-
36Deployment Via Azure DevOpsVideo lesson
We would be deploying infrastructure on Azure using the Terraform Code via Azure DevOps.
-
41What we are going to cover?Video lesson
-
42Terraform Import and Data : Manage existing InfrastructureVideo lesson
Terraform Import
Terraform import is being used in this video to bring existing environment which is not build via terraform and might have been built via some other means like powershell, bash, ansible. Infrastructure built using these tools can be brought under terraform management to manage/delete those resources as well using terraform.
Data
Data sources in terraform allows us to fetch details of existing resourced defined outside terraform.
-
43Import and Data QuizQuiz
-
54Terraform 0.14 All featuresVideo lesson
-
55Terraform 0.15: Sensitive Function & Logging LevelsVideo lesson
Terraform 0.15 ships with improved logging behavior, extends value sensitivity to provider attributes, allowing provider developers to help protect values from being printed to the console. We would be covering both of these features.
-
56Terraform 0.14 and 0.15 PractiseQuiz
-
58Business RequirementVideo lesson
-
59Write TF Scripts for Azure Key VaultVideo lesson
-
60Apply Azure Key VaultVideo lesson
-
61Write Config for Postgres SQLVideo lesson
-
62Postgres SQL- Part2Video lesson
-
63Apply Postgres SQL ConfigVideo lesson
-
64Apply Azure Lock to prevent deletionVideo lesson
External Links May Contain Affiliate Links read more