
Raquel Milani introduces the course and outlines Nautilus tech-focused approach, highlighting capabilities in IoT, microservices, APIs, Scala data engineering, and DevOps, plus partnerships with Databricks and Confluent.
Explore what infrastructure as code is and why it matters, and learn how Terraform uses human readable configuration files to define reusable and shareable resource configurations and manage them safely.
Terraform lets you define cloud and on-prem resources in human readable files, with providers and APIs to provision infrastructure, including DNS entries and software as a service features.
Explore remote Terraform execution with Terraform Cloud on disposable VMs or on-prem, organize infrastructure with workspaces and persistent state, and integrate with version control.
Discover the advantages of terraform for automating infrastructure across IaaS and PaaS, leveraging the registry for encrypted tokens, multi-cloud collaboration, version control, and open-source modular configuration.
Explore TerraForm alternatives such as Ansible, Puppet, Salt Stacks, and Chef, and learn TerraForm's flexible abstraction of resources and providers for hardware, virtual machines, containers, email, and DNS.
Describe TerraForm architecture, where TerraForm Core compares user configuration with the current state to generate a plan, and TerraForm providers apply the required changes across infrastructure.
Learn to install Terraform on Linux by updating the system, installing prerequisites, adding the HashiCorp GPG key and repository, and verifying with Terraform version 0.15.4.
Discover how terraform providers provision across public clouds like aws, google cloud, and digitalocean, and manage resources with api calls in private clouds such as openstack and vmware.
Resources form the core of Terraform, with resource blocks defining infrastructure objects like virtual networks, compute instances, and DNS records, and the resource type and name uniquely identifying each resource.
Master terraform basics by using providers and resources to declare infrastructure objects, and run init, plan, fmt, apply, and destroy workflows.
Learn to use Terraform input variables to customize modules, share configurations, and declare root module variables with values set by command options or environment variables, including string and list types.
Master using terraform variables and a variables file to store access key, secret key, and region, then initialize, plan, fmt, and apply to provision an instance.
Learn how Terraform outputs make infrastructure data available on the command line, share data between workspaces, and pass values from a child module to your configurations route module.
Explore the Terraform data types, including string, number, bool, and list or table, and learn how list elements start at zero and how maps or objects group labeled values.
Explore Terraform's functions for type inspection, usage, and error interpretation, and use the Terraform console command to inspect a value's type.
Explore the Terraform state file concept and storage options, including local default storage, Azure storage accounts, S3 buckets in Lewis, and Terraform Cloud, plus state environments for multiple named states.
Learn how to use the Terraform CLI, access command help with the hyphen help option for subcommands like validate, and understand the inline help built into Terraform CLI.
Learn how Terraform uses depends_on, count, and for_each to create instances, and how providers like alias and cloud init translate actions to external apis.
Terraform workspace is a folder containing Terraform code. Files end in .tf or .tfvars, with a main code file, a variables file, and outputs showing run results.
Learn the core Terraform commands for beginners: init to fetch providers and modules, plan changes, apply approved changes, refresh state, format configuration to a canonical style, and destroy infrastructure.
Initialize projects, fetch providers and modules, and manage state with Terraform init. Preview changes with plan, apply with optional auto-approve, and destroy resources, while formatting config with fmt.
Conclude your learning journey with this terraform for absolute beginners with labs course, inviting questions and feedback via email or social media.
Terraform for the Absolute Beginners with Labs
In this course, we will get started with Terraform, but first we will take a look at Infrastructure as a code Or IaC and the different types of tools available in IaC and their purpose in managing modern IT Infrastructure. We’ll then see the role of terraform in the today’s IT Infrastructure. We’ll then learn how to install Terraform, This is followed by the basics of HashiCorp Configuration Language (HCL). Next we have our first lab where you’ll get your hands dirty with HCL syntax. We will then learn the basics of Terraform such as Providers, Input and Output variables, Resource Attributes and Dependencies.
After this we take a look at state in terraform – what it is, why it is used and considerations to follow when working with state. We then dig deeper in to the fundamentals– starting with the different commands provided by Terraform. This is followed by a lecture where we understand the difference between Mutable and Immutable infrastructure. This is followed by lifecycle rules in terraform where we will learn how to manage the ways in which resources are created. This is followed by other basic topics such as datasources, meta arguments such as count and for each and finally understand version constraints in Terraform.
After this we have a dedicated section on AWS. This section begins with optional lectures and demos where we learn the basics of AWS. – such as setting up an AWS Account and learning about some of the basic AWS services such as IAM, S3, DynamoDB. We will then see how to provision and manage these services using Terraform. Each of these topics, including the ones for AWS are followed by hands on labs where we get to practice the concepts on a real infrastructure.
We will then learn concepts such as remote state and state locking with Terraform and then see how to store state in a remote s3 backend. Next we will see how to use terraform state commands to manipulate the state file. We then have a few lectures and demos where we get introduced to EC2 service and learn how to provision it using terraform. Finally we will learn about provisioners in terraform - what they are, the different types, behaviour and considerations to follow when working with provisioners. We then look at resource taints, learn how to enable debugging and then import other resources in the management of terraform, Terraform modules - what they are, how to create them and also how to make use of modules available in the public terraform registry. We will then learn about functions and continual expressions in Terraform and how to test them using the terraform console. We will then learn about workspaces in terraform – what they are, how to create them and when to use them. We will wrap up the course with an introduction and high level overview of the features offered by Terraform cloud.