1­-855­-778­-7246

Deploying and Automating Infrastructure at Scale (DEPLOYTAD)

 

Course Content

Learn how to use an integrated CI/CD pipeline that tests and deploys server infrastructure the same way every time, including during times of disaster recovery In order to manage large-scale infrastructure, DevOps teams need to manage how servers are deployed in a repeatable and reliable fashion. Deploying servers at scale can be complex, time-consuming, and when things go wrong, the costs could be huge in losses of both customer revenue and customer trust.

This hands-on, lab-based, instructor-led course teaches exactly how to create and use an end-to-end CI/CD pipeline geared specifically for server and application deployment.

We’ll teach you Terraform from the ground up so you can define in code how to create cloud networking components and launch VM's in the cloud. Then we’ll teach you how to configure those servers using Ansible provisioners. Next, we’ll integrate Terraform and Ansible with Docker containerization, allowing the blistering fast launch of applications on your server infrastructure.

If you decide to hold a private team session of this course, an additional day can be added to teach you how to orchestrate and manage your entire containerized infrastructure with Kubernetes.

Who should attend

Job Titles that may find this course useful include:

  • DevOps Engineers
  • System Operations
  • Code Developers
  • Software Developers
  • Quality Assurance Professionals
  • Software Testers
  • Product Owners
  • Infrastructure Engineers
  • Development Team Members
  • Operations Team Members
  • Project Managers
  • Technical Product Managers

Prerequisites

Required Prerequisites:

  • Students should have experience with Ansible configuration management and Jenkins CI/CD, either from the Implementing a CI/CD Pipeline course or relevant work experience.
  • Familiar with scripting of any kind
  • Experience working at command line of Unix, Linux, or PowerShell
  • Experience with a text editor of any kind

Course Objectives

  • Define types of networking components and types of virtual machines best for your solutions
  • Use Terraform to build everything needed for an enterprise-class server architecture
  • Relaunch your entire infrastructure in a different cloud region with minimum downtime
  • Turn basic virtual machines launched by Terraform into web or database servers using Ansible
  • Create Docker hosts
  • Launch Docker containers on virtual machines using Ansible
  • Build and launch container images
  • Mount volumes and deploy applications using containers
  • Test for reliable code before deployment
  • Deploy approved code using Jenkins to a remote location such as AWS S3 or JFrog Artifactory

Outline: Deploying and Automating Infrastructure at Scale (DEPLOYTAD)

Part 1: Technology Overview

  • Terraform – Infrastructure Management
  • Ansible – Configuration Management
  • Jenkins – Continuous Integration / Continuous Deployment
  • Docker – Containerization
  • Kubernetes (optional) – Container Orchestration and Management

Part 2: Terraform

  • Intro to Terraform
  • Providers and Resources
  • Initializing, validating and applying a Terraform configuration
  • Creating AWS S3 buckets
  • Separating code: Multiple Terraform configuration files
  • Terraform state: Storing state locally and remotely
  • Git branching: Testing, QA, Staging and Production
  • Displaying resource outputs
  • Introduction to AWS Networking
  • Creating AWS Networking with Terraform:
  • CIDR Rules
  • VPC's (Virtual Private Cloud)
  • Subnets
  • Internet Gateways
  • Route Tables
  • Route Table Associations
  • Terraform log levels
  • Configuring AWS Security groups
  • Using SSH Public/Private Keys with Terraform
  • Launching and Destroying AWS instances with Terraform
  • Terraform Modules – Creating and abstracting reusable code
  • Using Terraform variables

Part 3: Ansible Configuration Management

  • Ansible Provisioners in Terraform
  • Integrating Terraform-managed instances with Ansible Control Nodes
  • Launching multi-tiered architectures (web servers and load balancers) with Terraform and Ansible
  • Deleting managed-node records from Ansible's Dynamic Inventory

Part 4: Docker

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

Part 5: Jenkins

  • Testing Terraform configurations, Ansible code and Docker images through an automated CI/CD pipeline
  • Integration with JFrog Artifactory for Ansible playbook and Docker image artifact storage

Part 6: Kubernetes
(Optional additional day for private client sessions)

  • Overview, Purpose and Use Cases
  • Pokemon Go: A Case Study
  • CLI versus UI
  • Capacity requirements
  • Container orchestration
  • Kubernetes networking
  • Traffic analysis
  • Service discovery
  • Container grouping and Pods
  • Vertical and Horizontal Auto-scaling
  • Load balancing across containers
  • Automatic application packaging with Binpacking
  • Storage orchestration
  • Self-healing architectures
  • Batch execution and DevOps
  • Secret and Configuration management
  • Automatic rollbacks and rollouts
Online Training

Duration 4 days

Price
  • CAD 4,215
Classroom Training

Duration 4 days

Price
  • Canada: CAD 4,215
 
Schedule

Currently there are no training dates scheduled for this course.  Enquire a date