This class is designed to teach DevOps engineers, Production Support staff and developers how to effectively use Terraform to manage infrastructure in a cloud environment. The course covers the best practices around the concept of infrastructure as code and then introduces how this can be best be applied using Terraform.
3 days
Developers, Devops engineers, cloud architects
-
Basic AWS Cloud Skills would be beneficial
-
Basic understanding of deployment practices would be beneficial
At the end of this course, students should be able to:
-
What is IaC
-
Approaches to IaC
-
Terraform, Cloudformation, SAM and others
-
Introduction to Git
-
Working with Git in the Enterprise
-
Maintaining IaC in Git
-
Triggering pipelines from Git hooks
-
Working with a local Git repository
-
Working with a remote git repository
-
Effective use of branching
-
Handling conflicts
-
Git best practices and pull requests
-
Performing automated deployments
-
Blue / Green
-
Canary
-
In place rolling updates
-
Understanding how Terraform Works
-
Setting up Terraform
-
Deploying a single server using Terraform
-
Deploying a load balanced cluster of servers using Terraform
-
Arguments and Blocks
-
Identifiers
-
Comments
-
Encoding
-
JSON syntax
-
Style conventions
-
Working with strings and numbers
-
Working with collection types
-
Working with object types
-
Using variables as input and output values
-
String and number functions
-
Collection related functions
-
Security related functions
-
Network related functions
-
File system and date related functions
-
Looping with for_each
-
Working with counters
-
The significance of depends_on
-
Working with different Providers
-
Using Meta-arguments
-
Understanding the core commands
-
Validating using validate
-
Using init, plan and apply
-
Using registry based modules
-
Creating custom modules
-
Publishing custom modules to a registry
-
How do you know what you have
-
Maintaining a registry of resources
-
The Terraform enterprise solution
-
Deploying, tracking and updating deployments using Terraform enterprise
-
Introduction to Configuration management tools
-
Automating configuration using Ansible
-
Configuring servers using Ansible
-
Deploying an updated application using Ansible
-
What should generally be done in Terraform
-
What should generally done using Ansible
-
Combining Terraform and Ansible
-
You are provided a sample Spring/React fullstack application
-
Deploy this application to AWS using either containers or EC2
-
Set up an appropriate pipeline for updates to be deployed