Deploying Infrastructure at Scale

Course Description

Deploying infrastructure in a repeatable and scalable way requires a new deployment process.   Tools like Terraform can create secure networking components in the cloud and launch VM’s within those networking confines.  Configuration Management tools like Ansible and Chef can configure those machines to host Docker containers, and these containers can deploy your applications.  Tools like Kubernetes and RedHat OpenShift can then manage these containers for scalability and reliability.

This course will teach you exactly how to create and use an end-to-end CI/CD pipeline that validates, automates and stores infrastructure changes for faster, more secure and more reliable deployments.

You’ll learn how to master the software and processes to build, test, and deploy infrastructure code every time a developer pushes a code change. After completing this course you’ll know how to create, operate and maintain an Infrastructure Pipeline that ensures only high-quality infrastructure code gets deployed into production.

Choose the exact toolchain you want below and generate a course outline, or choose the ‘generic’ options for a tool-agnostic outline:

Deploying Infrastructure at Scale

Course Duration 

Standard Duration is 5-days.  Customization to the course agenda may increase the number of days needed for the course.

Course Agenda 

Cloud Networking. You will learn a solid introduction to Cloud networking on AWS, GCE or Azure Cloud so you can confidently know your IGW from your RTA without embarrassing your VPC, as well as how to use the cloud CLI tools

Infrastructure Deployment. You will learn how to use ‘infrastructure as code’ tools like HashiCorp’s Terraform to describe and deploy VM’s in the cloud of your choice.   We’ll use infrastructure as code to create and destroy secure networking components automatically, as well as how to launch VM’s within those networking components 

Containerization. We’ll teach you how to create Docker containers to deploy your applications. 

Container Orchestration.  Once you have containers running, we’ll show you how to use either Kubernetes or OpenShift to manage containers, replace damaged containers and scale containers to meet customer demand on your applications.

Course Duration as Configured: 4 Days

Infrastructure Platform: AWS Cloud Networking

  • Installing and using the AWS CLI (Command Line Interface)
  • AWS Networking
  • VPC's (Virtual Private Clouds)
  • Subnets
  • Internet Gateways
  • Route Tables
  • Route Table Associations

Git: Source Control Management: Github

  • Students can use the git platform of their choice during the class. The following git platforms have been integrated with this class: GitHub, Bitbucket, GitLab, AzureRepos & AWS CodeCommit
  • This course doesn't teach the basics of git. Git experience is assumed (see the 'DevOps Pipeline' course if your team needs basic git knowledge)

Infrastructure Deployment: Terraform

  • Intro to Terraform
  • Creating cloud buckets for storage
  • Separating code: Multiple Terraform configuration files
  • Storing state remotely
  • Git branching
  • Displaying resource outputs
  • Creating cloud networking components with Terraform
  • Configuring cloud Security groups
  • Using SSH Public/Private Keys with Terraform
  • Launching and Destroying cloud VM instances with Terraform
  • Creating reusable code with modules
  • Using Terraform variables

Continuous Integration / Continuous Delivery (CI/CD): Jenkins

  • Automated configuration management code testing using CI/CD
  • Automated infrastructure code testing using CI/CD
  • Automated containerization code testing using CI/CD

Notifications: Generic Notifications

  • Integrating CI/CD with instant messaging
  • Using instant messaging for CI/CD approvals and notifications

Containerization: Docker

  • Purpose and use case for Docker
  • Docker Hub
  • Basic Docker commands
  • Docker Networking
  • Launching and debugging NGINX containers
  • Mounting Volumes to containers
  • Docker mount points: Multiple containers, one shared code location
  • Launching Docker hosts and Docker containers automatically
  • Port mapping with containers
  • Launching multi-tiered architectures (web servers and load balancers): an automated approach
  • Customizing containers with Docker Hub and Dockerfiles
  • Reducing infrastructure bloat: Buster-Slim Docker containers

Managed OS: Linux Only

  • Management of Linux Servers only

Requirements:

  • Access to *.aws.amazon.com/*
  • Access to *.github.com/*
  • Access to *.terraform.io/*
  • Access to *.jenkins.io/*
  • Access to *.docker.com/*

Course Availability: Contact for Availability