DevOps BootCamp

Course Description

The DevOps Bootcamp combines our DevOps Pipeline and Deploying Infrastructure at Scale courses into a single continuous class.  The duration is 10-days and is intended for the same audience from start to finish.

Participants will reinforce their skills with more than 40-hours of hands-on lab work throughout the 10-days, ensuring they truly know how to test and deploy applications on an enterprise scale.

  • We’ll start from the beginning with how to use git to version, backup, share and collaborate code of any kind.
  • Then we’ll progress into learning Configuration Management to configure machines to become any type of server (such as a database server or webserver).  
  • We’ll follow this by full integration for automated testing with CI/CD, to ensure that any code is automatically linted and tested before being deployed.
  • Once we have VM’s configured to serve up our applications, we’ll push the seven major development languages through a CI/CD pipeline: JavaScript, Python, Go, Java, C++, Ruby and TypeScript. You can choose this entire list of code languages, or just the subset that are used in your environment.
  • We’ll track issues with our code in a tool like Jira.
  • The artifacts we create through the process will be stored in an artifact storage platform like Nexus or JFrog Artifactory
  • We’ll use an Infrastructure as Code tool (like Terraform) to create secure networking components in AWS Cloud, Google Cloud Platform or Azure Cloud. Then we’ll use Infrastructure as Code to launch VM’s in the cloud and configure those VM’s to become Docker hosts using Configuration Management
  • We’ll deploy our code to these Docker containers
  • Finally, we’ll use Kubernetes or OpenShift to manage our application containers and scale up our application delivery to handle most any level of customer demand

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

DevOps Bootcamp

Generic Coding Languages
JavaScript
Python
Go
Java
C++
Ruby
TypeScript

Course Duration 

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

Course Agenda 

Course Duration as Configured: 7 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: Generic Git

  • Purpose and overview of Git
  • Use cases for Git
  • Git flow
  • Git providers
  • Git configuration
  • Finding help on Git
  • Creating Local Git Repositories
  • Basic Commands: add, commit, status, log
  • Comparing commits: git diff
  • Using a Repository: git push
  • Branches: creating, merging and deleting
  • Resolving merge conflicts
  • Managing Pull Requests
  • Using SSH keys with git platform private repositories

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): Generic CI/CD

  • CI/CD = Continuous Integration / Continuous Deployment
  • Purpose & history
  • Architecture
  • Initializing CI/CD
  • Project and Workflow configurations
  • CI/CD as Code
  • Managing your Projects and Workflows
  • Managing credentials and secrets
  • Distributing workloads
  • Integrating with Source Control Management
  • Triggering builds automatically
  • Notifications: Approvals, Successes and Failures
  • Requiring human input
  • Automated configuration management with linting
  • Integration testing using CI/CD
  • CI/CD Integration with managed nodes
  • Continuous deployment through CI/CD

Configuration Management: Generic Configuration Management

  • Purpose and Use Cases for configuration management
  • Architecture and Call Flow
  • Creating idempotent policies to manage server configurations
  • Linting and Integration Testing
  • Adding managed nodes to your infrastructure

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

Container Management: Generic Orchestration

  • Container Orchestration overview and use case
  • Orchestration architecture
  • Installation and configuration
  • Master and node server components
  • Creating load-balanced clusters
  • Deploying Apps through Container Orchestration
  • Scaling Apps
  • Monitoring and App repair
  • Updating Containerized Applications

Artifact Storage: Generic Artifact Storage

  • Artifact overview
  • Common artifact platforms
  • Repository types
  • Integrating artifact storage with CI/CD
  • Uploading files from CI/CD to artifact storage
  • Deploying Code & Artifacts

Requirements:

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

Course Availability: Contact for Availability