Deploying Applications to the Cloud using Terraform
Contact us for Onsite Price
Layout
This session takes the form of some lectures along with demonstrations and exercises to consolidate the content being taught. It also involves a substantial workshop component where students deploy an application to the cloud.
Who it is for
Developers, Devops engineers, cloud architects
Training Course Prerequisites
- Basic AWS Cloud Skills would be beneficial
- Basic understanding of deployment practices would be beneficial
Chapters
Chapter 1 Infrastructure as Code and Automated Deployments
- What is IaC
- Approaches to IaC
- Terraform, Cloudformation, SAM and others
Chapter 2 Infrastructure in Source Control ? Git
- Introduction to Git
- Working with Git in the Enterprise
- Maintaining IaC in Git
- Triggering pipelines from Git hooks
Chapter 3 Effective Git Usage
- Working with a local Git repository
- Working with a remote git repository
- Effective use of branching
- Handling conflicts
- Git best practices and pull requests
Chapter 4 IaC and DevOps
- Performing automated deployments
- Blue / Green
- Canary
- In place rolling updates
Chapter 5 Terraform Fundamentals
- Understanding how Terraform Works
- Setting up Terraform
- Deploying a single server using Terraform
- Deploying a load balanced cluster of servers using Terraform
Chapter 6 Understanding the Terraform Language HCL
- Arguments and Blocks
- Identifiers
- Comments
- Encoding
- JSON syntax
- Style conventions
Chapter 7 Terraform Datatypes
- Working with strings and numbers
- Working with collection types
- Working with object types
- Using variables as input and output values
Chapter 8 Terraform Functions
- String and number functions
- Collection related functions
- Security related functions
- Network related functions
- File system and date related functions
Chapter 9 Terraform Constructs
- Looping with for_each
- Working with counters
- The significance of depends_on
- Working with different Providers
- Using Meta-arguments
Chapter 10 The Terraform CLI
- Understanding the core commands
- Validating using validate
- Using init, plan and apply
Chapter 11 Working with Terraform Modules
- Using registry based modules
- Creating custom modules
- Publishing custom modules to a registry
Chapter 12 Managing State using Terraform
- How do you know what you have
- Maintaining a registry of resources
- The Terraform enterprise solution
- Deploying, tracking and updating deployments using Terraform enterprise
Chapter 13 Configuration Management with Ansible
- Introduction to Configuration management tools
- Automating configuration using Ansible
- Configuring servers using Ansible
- Deploying an updated application using Ansible
Chapter 14 When to use Ansible or Terraform
- What should generally be done in Terraform
- What should generally done using Ansible
- Combining Terraform and Ansible
Chapter 15 Extended Project
- 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