DevOps with Jenkins, Terraform and Hashicorp Stack Training

Course #:WA2639

DevOps with Jenkins, Terraform and Hashicorp Stack Training

Courseware: Available for sale

This three-day DevOps training class is loaded with practical real-world information. From the foremost agile development training company, comes a course to move the dial on your organizations’ DevOps journey with this CI/CD, Cloud, and Virtualization workshop. You will leave this course loaded with knowledge on the usage of this stack for DevOps with Amazon Web Services for enabled Virtual Private Cloud, Elastic Load Balancing, and Application Virtualization. This class combines instructor-led and hands-on lab exercises.

Our DevOps training class covers Hashicorp stack. It is loaded with practical real-world information. From the foremost agile development training company, comes a course to move the dial on your organizations’ DevOps journey with this CI/CD, Cloud, and Virtualization workshop. You will leave this course loaded with knowledge on the usage of this stack for DevOps with Amazon Web Services for enabled Virtual Private Cloud, Elastic Load Balancing, and Application Virtualization. This class combines instructor-led and hands-on lab exercises.

Hashicorp stack training continue to be in demand. Web Age offers support for all your Hashicorp stack training needs. Sign up today for one of our instructor led Hashicorp stack training.

Our Hashicorp stack course continues to be in high demand. The topics covered in the course are

  • Introduction to continuous integration, continuous deployment and Jenkins-CI
  • Getting started with Maven
  • A web application in Maven
  • Job types in Jenkins
  • Continuous delivery and the Jenkins pipeline
  • Jenkins plugin
  • Best practices for Jenkins
  • Overview of the Amazon Web Services (AWS)
  • Introduction to Git
  • Basic Git operations
  • Branching, merging, and remotes
  • Git work flows
  • Introduction to Gitflow
  • Examining history
  • Introduction to Terraform
  • Terraform basics
  • VPC ELB and ALB with Terraform
  • Using ECS and ECR with Terraform

Hashicorp stack course covers following labs:

Lab 1. Configure Tools in Jenkins
Lab 2. Install Maven
Lab 3. Create a Maven Project
Lab 4. Create a Jenkins Job
Lab 5. Create a Pipeline
Lab 6. Version Control - Git
Lab 7. Branching, Merging and Working with Remotes
Lab 8. Experimenting with Workflows
Lab 9. Using the GitFlow Workflow
Lab 10. Terraform installation and instance provisioning
Lab 11. Package a Virtual Image with Packer
Lab 12. Create AMI template with packer and utilize it with Terraform
Lab 13. Exploring the Vault Service
Lab 14. Setting Up a Load-Balanced Infrastructure

AUDIENCE

This course will be particularly useful for leaders implementing or considering DevOps for their organization including the following:

  • Software Reliability Engineers
  • Developers
  • Engineers
  • Architects
  • System Administrators

TOPICS

  • Jenkins
  • Maven
  • Git
  • Build & release management
  • Cloud & Virtualization
  • Version control
  • Provisioning
  • AWS

WHAT YOU WILL LEARN

After completing this course, the student should be able to:

  • Confidently use the stack outlined in the course.
  • Understand the various key components.
  • Understand Git and the concepts and basic operations
  • Branch, merge and perform operations on Git repositories
  • Apply the knowledge to improve reliability of build & release processes
  • Understand the various pieces of Jenkins for CI/CD
  • Configure Maven and Jenkins to deploy the generated artifacts to Artifactory
  • Use Terraform with AWS
  • Utilize Atlas with Terraform
  • Implement secret security with Vault
  • Configure Packer for Virtualization
  • Implement Vagrant with Terraform and AWS

PREREQUISITES

A desire to learn how this DevOps toolchain can improve your organization effectiveness, build & release processes, and business continuity

DURATION

3 days.

Outline of DevOps with Jenkins, Terraform and Hashicorp Stack Training

Chapter 1. Introduction to Continuous Integration, Continuous Deployment and Jenkins-CI

  • Agile Development
  • Agile Development (cont'd)
  • What is Continuous Integration
  • What is Continuous Integration (cont'd)
  • Typical Setup for Continuous Integration
  • Continuous Deployment
  • Continuous Deployment (cont'd)
  • DevOps and Continuous Deployment
  • Continuous Deployment Challenges
  • Jenkins Continuous Integration
  • Jenkins Features
  • Running Jenkins
  • Summary

Chapter 2. Getting Started With Maven

  • Terminology and Basic Concepts
  • Artifacts
  • Lifecycle
  • Default Lifecycle
  • Plugins
  • Running Maven - the Story So Far
  • Running Maven from an IDE
  • Common Goals
  • pom.xml
  • Example
  • Example (cont'd)
  • Artifact Coordinates
  • Standard Layout for Sources
  • Summary

Chapter 3. A Web Application in Maven

  • A More Complex Project
  • Putting it Together With Maven
  • Packaging the Target Artifact
  • The Source Tree
  • Dependencies
  • Transitive Dependencies
  • Dependency Scope
  • Working With Servers
  • Declaring and Configuring Plugins
  • Running the Plugin
  • Binding a Plugin Goal to the Lifecycle
  • Archetypes
  • Summary

Chapter 4. Job Types in Jenkins

  • Introduction
  • Different types of Jenkins Items
  • Different types of Jenkins Items (cont'd)
  • Configuring Source Code Management(SCM)
  • Working with Subversion
  • Working with Subversion (cont'd)
  • Working with Git
  • Storing Credentials
  • Storing Credentials (cont'd)
  • Build Triggers
  • Schedule Build Jobs
  • Polling the SCM
  • Maven Build Steps
  • Summary

Chapter 5. Continuous Delivery and the Jenkins Pipeline

  • Continuous Delivery
  • DevOps and Continuous Delivery
  • Continuous Delivery Challenges
  • Continuous Delivery with Jenkins
  • The Pipeline Plugin
  • The Pipeline Plugin (cont'd)
  • Defining a Pipeline
  • Introduction to Groovy
  • Groovy in Jenkins
  • Jenkins Script Console
  • A Pipeline Example
  • Pipeline Example (cont'd)
  • Parallel Execution
  • Creating a Pipeline
  • Invoking the Pipeline
  • Interacting with the Pipeline
  • Conclusion

Chapter 6. Jenkins Plugin

  • Introduction
  • Jenkins Plugins - SCM
  • Jenkins Plugins – Build and Test
  • Jenkins Plugins – Analyzers
  • Jenkins for Teams
  • Installing Jenkins Plugins
  • Summary

Chapter 7. Best Practices for Jenkins

  • Best Practices - Secure Jenkins
  • Best Practices - Backups
  • Best Practices - Reproducible Builds
  • Best Practices - Testing and Reports
  • Best Practices - Large Systems
  • Best Practices - Distributed Jenkins
  • Best Practices - Summary

Chapter 8. Overview of the Amazon Web Services (AWS)

  • Amazon Web Services
  • The History of AWS
  • The Initial Iteration of Moving amazon.com to AWS
  • The AWS (Simplified) Service Stack
  • Accessing AWS
  • Direct Connect
  • Shared Responsibility Model
  • Trusted Advisor
  • The AWS Distributed Architecture
  • AWS Services
  • Managed vs Unmanaged Amazon Services
  • Compute and Networking Services
  • Elastic Compute Cloud (EC2)
  • AWS Lambda
  • Auto Scaling
  • Elastic Load Balancing (ELB)
  • Virtual Private Cloud (VPC)
  • Route53 Domain Name System
  • Elastic Beanstalk
  • Security and Identity Services
  • Identity and Access Management (IAM)
  • AWS Directory Service
  • AWS Certificate Manager
  • AWS Key Management Service (KMS)
  • Storage And Content Delivery
  • Elastic Block Storage (EBS)
  • Simple Storage Service (S3)
  • Glacier
  • CloudFront Content Delivery Service
  • Database Services
  • Relational Database Service (RDS)
  • DynamoDB
  • Amazon ElastiCache
  • Redshift
  • Messaging Services
  • Simple Queue Service (SQS)
  • Simple Notifications Service (SNS)
  • Simple Email Service (SES)
  • AWS Monitoring with CloudWatch
  • Other Services Example
  • Summary

Chapter 9. Introduction to Git

  • What is Git
  • Git's Design Goals
  • Git's Design Goals (cont'd)
  • Branching and Merging
  • Branching and Merging (cont'd)
  • Centralized Version Control
  • Distributed Version Control
  • Git Basics
  • Git Basics (Cont'd)
  • Git Basics (cont'd)
  • Getting Git
  • Git on the Server
  • Git Repository Managers
  • Git on Somebody Else's Server
  • Summary

Chapter 10. Basic Git Operations

  • Using Git
  • Definitions
  • Definitions (cont'd)
  • Repository (cont'd)
  • Definitions (cont'd)
  • Commit
  • Commit (continued)
  • How to Think About Commits
  • Viewing History
  • Configuring Git
  • Configuration Scope
  • User Identification
  • User Identification (cont'd)
  • GPG Signing
  • Gnu Privacy Guard
  • GPG Basics
  • GPG and Git
  • .gitignore
  • Other Useful Configurations
  • Summary

Chapter 11. Branching, Merging and Remotes

  • Branching
  • Branches in Git
  • Branches in Git (cont'd)
  • Merge
  • Merge (cont'd)
  • Fast Forward Merge
  • --no-ff
  • More Than One Repository
  • Working with Remotes
  • Fetch and Pull
  • Push
  • Pull Requests
  • Tagging a Commit
  • Lightweight Tags
  • Annotated Tags
  • Sharing Tags
  • Checking Out a Tag
  • Summary

Chapter 12. Git Work Flows

  • Work Flows
  • Local Work Flow
  • Feature Branches
  • Centralized Workflow
  • Integration Manager Work Flow
  • Integration Manager Work Flow (cont'd)
  • Other Work Flows Are Possible
  • Summary

Chapter 13. Introduction to GitFlow

  • What is GitFlow
  • Benefits
  • How GitFlow works?
  • How GitFlow works? (Contd.)
  • What is GitFlow? (Contd.)
  • How GitFlow works? (Contd.)
  • GitFlow Extension
  • Initializing GitFlow
  • Features
  • Release
  • Hotfixes
  • Summary

Chapter 14. Examining History

  • Looking at History
  • Log
  • Blame
  • Bisect
  • Summary

Chapter 15. Introduction to Terraform

  • What is Terraform
  • Other Infrastructure Automation Tools
  • Terraform
  • How Does Terraform Work?
  • Sample Configuration File
  • Terraform vs Configuration Management
  • Drawbacks of Configuration Management
  • Benefits of Declarative Infrastructure
  • Drawbacks of Declarative Infrastructure
  • Master mode
  • Drawbacks of Master mode
  • Masterless mode
  • Agents
  • Drawbacks of Agents
  • Agentless
  • Summary

Chapter 16. Terraform Basics

  • The Terraform Command
  • Running Terraform
  • The Current State
  • Directory Structure
  • Load Order
  • Configuration Format
  • HCL
  • String Interpolation
  • Configuration Files
  • Variables
  • Outputs
  • Data Sources
  • Resources
  • Data Sources and Resources
  • Providers
  • Built-in Providers
  • Configuring Providers
  • Modules
  • Defining a Module
  • Configuring the AWS Provider
  • Configuring the AWS Provider (cont'd)
  • Basic Usage - Define an EC2 Instance
  • Manipulating DNS Entries
  • Conclusion

Chapter 17. VPC ELB and ALB with Terraform

  • Amazon Virtual Private Cloud
  • VPC Advantages
  • Regions and Availability Zones
  • VPC Concepts
  • Security Groups
  • Network Address Translation (NAT)
  • Public IP Addresses
  • Load Balancing
  • VPC with Terraform
  • 'aws_vpc' Data Source
  • 'aws_vpc' Resource
  • 'aws_subnet' Data Source
  • 'aws_subnet' Resource
  • 'aws_elb' Resource
  • 'aws_elb' Listeners
  • 'aws_elb' Logging and Health Checks
  • 'aws_alb' Resource
  • 'aws_alb' Resource (cont'd)
  • 'aws_alb_listener' Resource
  • 'aws_alb_listener_rule' Resource
  • 'aws_alb_target_group' Resource
  • 'aws_alb_target_group' Resource (cont'd)
  • 'aws_alb_target_group_attachment' Resource
  • Some Notes on Load Balancers
  • Conclusion

Chapter 18. Using ECS and ECR with Terraform

  • What is Docker
  • Where Can I Run Docker?
  • Docker and Containerization on Linux
  • Linux Kernel Features: cgroups and namespaces
  • The Docker-Linux Kernel Interfaces
  • Docker Containers vs Traditional Virtualization
  • Docker as Platform-as-a-Service
  • Docker Integration
  • Docker Services
  • Docker Application Container Public Repository
  • Docker Command-line
  • Starting, Inspecting, and Stopping Docker Containers
  • Docker Benefits
  • Docker on AWS - ECR and ECS
  • Using Amazon ECR
  • Authenticating to ECR
  • Building a Docker Image
  • Push to ECR
  • Elastic Container Service
  • ECS Cluster
  • ECS Container Instances
  • Container Instance with Terraform
  • Task Definition
  • Task Definition with Terraform
  • Service Definition
  • Conclusion

Chapter 19. Introduction to Vagrant

  • What is Vagrant?
  • Why Use Vagrant?
  • The Vagrantfile
  • Sample Vagrantfile
  • Vagrant Box
  • Running Vagrant
  • Networking
  • Multi-Machine Usage
  • Conclusion

Chapter 20. Introduction to Packer

  • What is Packer?
  • Why Use Packer?
  • Use Cases
  • Supported Platforms
  • Summary

Chapter 21. Utilizing Packer

  • Installing Packer
  • Building an Image
  • The Build Process
  • Templates
  • Template Example
  • Builders
  • Amazon EC2 Builder
  • VirtualBox Builder
  • Provisioners
  • Configuration Management Provisioners
  • Post-Processors
  • Parallel Builds
  • Remote Builds
  • Conclusion

Lab Exercises

Lab 1. Configure Tools in Jenkins
Lab 2. Install Maven
Lab 3. Create a Maven Project
Lab 4. Create a Jenkins Job
Lab 5. Create a Pipeline
Lab 6. Version Control - Git
Lab 7. Branching, Merging and Working with Remotes
Lab 8. Experimenting with Workflows
Lab 9. Using the GitFlow Workflow
Lab 10. Terraform installation and instance provisioning
Lab 11. Package a Virtual Image with Packer
Lab 12. Create AMI template with packer and utilize it with Terraform
Lab 13. Exploring the Vault Service
Lab 14. Setting Up a Load-Balanced Infrastructure

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.