Upon completion of this introduction training course, students will have an understanding of the fundamentals of DevOps’ value proposition; they will also gain practical experience working with select DevOps tools, including Puppet, Jenkins, and others. 

This intro to DevOps Fundamentals training course is supplemented by hands-on labs that help attendees and beginners reinforce their theoretical knowledge of the learned material.

Topics

  • Intro to DevOps practices and tools
  • Puppet
  • Technical introduction to cloud computing
  • Jenkins

Audience

This DevOps Fudamentals course is appropriate for Enterprise Architects, Solution Architects, Information Technology Architects, Senior Developers, and Team Leads

Prerequisite

For this DevOps Fundamentals Training course, foundational knowledge of the software delivery problem domain is recommended.

Duration

3 Days

Download Sample Labs Lab Setup Guide

Outline for DevOps Fundamentals Training

Chapter 1. DevOps Fundamentals

  • Why DevOps
  • What is DevOps?
  • Collaborative, Matrixed and Cross-Functional Teams
  • Key Components of Successful DevOps Teams
  • DevOps-ification
  • DevOps Vocabulary
  • DevOps Goals
  • Not DevOps - Crush Buzzwords
  • Driving Business Outcomes with DevOps
  • Technology-Enabled Business
  • DevOps Key Enabler for Digital Transformation
  • Core Values and Mission
  • Core Values - Culture
  • Core Values - Automation
  • Core Values - Measurement
  • Core Values - Sharing
  • Communication
  • Collaboration
  • Value Stream Mapping
  • Behavioral Patterns for Success
  • DevOps Org Structures
  • DevOps Team - Separate
  • DevOps Merged Organization
  • DevOps Overlapped Organization
  • Organizational Structure Leadership
  • What Does Continuous Delivery Mean?
  • Deployment Pipelines
  • Your Organization is Doing CD if …
  • Pipelining for CD
  • Continuous Integration
  • CI Pipeline
  • CD & CI Methodologies
  • Key Tool Categories for CI/CD
  • Summary

Chapter 2. Cloud Technical Introduction

  • A Bit of History
  • Wikipedia Entry
  • Cloud Computing at a Glance
  • Electrical Power Grid Service Analogy
  • Capacity Planning Concepts and Challenges
  • Coping with Computing Demand the Traditional Way
  • Coping with Computing Demand the Cloud Way
  • The Origin of the Cloud Computing
  • Grid Computing vs Cloud Computing
  • What Drives Cloud Adoption?
  • The NIST Perspective
  • Five Characteristics of the Cloud
  • The Three Cloud Service Models (NIST)
  • The Cloud Computing Spectrum: IaaS, PaaS and SaaS
  • Cloud Service Model Implementations
  • The Four Cloud Deployment Models (NIST)
  • The NIST Cloud Definition Framework
  • Cloud Deployment Model Dynamics
  • Virtualization
  • Virtualization Qualities (1/2)
  • Virtualization Qualities (2/2)
  • Cloud Infrastructure - Virtual Machines
  • A Bootable OS Image
  • Block Storage for Instances
  • Cloud Object Storage
  • SOA and the Cloud
  • Cloud Risks to Consider
  • DevOps Security Concerns
  • Amazon WS Technical Lessons When Moving To the Cloud
  • Architecting for HA in AWS (Same Data Center)
  • Architecting for HA in AWS (Different AZs)
  • Summary

Chapter 3. Standing Up DevOps

  • Standing Up DevOps
  • Things to Look For and Avoid
  • IT Assets Ownership
  • Viewing Applications As Products, not Projects
  • DevOps in the Enterprise
  • IT Governance
  • Governance and Risk Mitigation
  • DevOps Adoption Steps
  • Select DevOps Techniques and Practices
  • Service Quality Metrics
  • Summary

Chapter 4. DevOps Tools

  • The Choice of Cloud Platform
  • IaaS for DevOps
  • PaaS for DevOps
  • FaaS and Serverless
  • Containerization Tools
  • Container Orchestration Tools
  • Container Orchestration Tools (Contd.)
  • System Configuration Automation and Management
  • Continuous Integration (CI) Systems
  • Continuous Integration (CI) Systems (Contd.)
  • Build and Dependency Management Systems
  • Select DevOps Tools
  • Select DevOps Tools (Contd.)
  • Summary

Chapter 5. Introduction to Puppet

  • What is Puppet
  • Puppet's Domain Specific Language
  • "Infrastructure-as-code" in Puppet
  • Example of the Puppet DSL
  • Main Puppet Artifacts
  • Puppet Design
  • Puppet Workflow Orchestration
  • Facter
  • Facter Fact Discovery
  • Facter Example
  • Extending Facter
  • Geppetto
  • Puppet Lab Services
  • Puppet Enterprise Licensing
  • Puppet Enterprise Support
  • Puppet Enterprise Feature Set (1/2)
  • Puppet Enterprise Feature Set (2/2)
  • Summary

Chapter 6. Containerization Systems Overview

  • Virtualization
  • Hypervisors
  • Hypervisor Types
  • Type 1 Hypervisors
  • Type 2 Hypervisors
  • Type 1 vs Type 2 Processing
  • Paravirtualization
  • Virtualization Qualities (1/2)
  • Virtualization Qualities (2/2)
  • Disadvantages of Virtualization
  • Containerization
  • Virtualization vs Containerization
  • Where to Use Virtualization and Containerization
  • Popular Containerization Systems
  • What are Linux Containers
  • Docker
  • OpenVZ
  • Solaris Zones (Containers)
  • Container Orchestration Tools
  • Docker Swarm
  • Kubernetes
  • Mesos and Marathon
  • Mesos and Marathon (contd.)
  • Summary

Chapter 7. Introduction to Kubernetes

  • What is Kubernetes
  • What is a Container
  • Container – Uses
  • Container – Pros
  • Container – Cons
  • Composition of a Container
  • Control Groups
  • Namespaces
  • Union Filesystems
  • Popular Containerization Software
  • Microservices
  • Microservices and Containers / Clusters
  • Microservices and Orchestration
  • Microservices and Infrastructure-as-Code
  • Kubernetes Container Networking
  • Kubernetes Networking Options
  • Kubernetes Networking – Balanced Design
  • Summary

Chapter 8. Kubernetes – From the Firehose

  • What is Kubernetes?
  • Container Orchestration
  • Kubernetes Basic Architecture
  • Kubernetes Detailed Architecture
  • Kubernetes Concepts
  • Cluster and Namespace
  • Node
  • Master
  • Pod
  • Label
  • Annotation
  • Label Selector
  • Replication Controller and Replica Set
  • Service
  • Storage Volume
  • Secret
  • Resource Quota
  • Authentication and Authorization
  • Routing
  • Registry
  • Using Docker Registry
  • Summary

Chapter 9. Docker Introduction

  • What is Docker
  • Where Can I Ran 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
  • Competing Systems
  • Docker Command-line
  • Starting, Inspecting, and Stopping Docker Containers
  • Docker Application Container Public Repository
  • Registries
  • Your Own Docker Image Registry
  • One Process per Container
  • The Dockerfile
  • A Sample Dockerfile
  • Summary

Chapter 10. Introduction to Continuous Integration, Continuous Delivery and Jenkins-CI

  • Foundation of Agile AppDev
  • XP Flow
  • Extreme Programming
  • Agile Development
  • What is Continuous Integration
  • What is Continuous Integration (cont'd)
  • Typical Setup for Continuous Integration
  • Setup Notes for Continuous Integration
  • CI with Artifact Management
  • What is Continuous Delivery?
  • Why Continuous Delivery?
  • DevOps and Continuous Delivery
  • Continuous Delivery Challenges
  • Continuous Delivery vs Continuous Deployment
  • Jenkins Continuous Integration
  • Jenkins Features
  • Running Jenkins
  • Summary

Chapter 11. Installing and Running Jenkins

  • Downloading and Installing Jenkins
  • Running Jenkins as a Stand-Alone Application
  • Running Jenkins as a Stand-Alone Application (cont'd)
  • Running Jenkins on an Application Server
  • The Jenkins Home Folder
  • Installing Jenkins as a Windows Service
  • Initial Configuration
  • Configuration Wizard
  • Configuration Wizard (cont'd)
  • Configuring Tools
  • Configuring Tools - Best Practices
  • Logging in Jenkins
  • Custom Log Recorders
  • Summary

Chapter 12. 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
  • Service Accounts
  • Storing Credentials (cont'd)
  • Build Triggers
  • Schedule Build Jobs
  • Polling the SCM
  • Polling vs Triggers
  • Maven Build Steps
  • Summary

Chapter 13. Securing Jenkins

  • Jenkins Security - Overview
  • Jenkins Security
  • Authentication
  • Authorization
  • Confidentiality
  • Activating Security
  • Configure Authentication
  • Using Jenkins's Internal User Database
  • Creating Users
  • Authorization
  • Matrix-Based Security
  • Note – Create the Administrative User
  • Project-based Matrix Authorization
  • Project-Based Authentication
  • Role Based Access Control
  • Conclusion

Chapter 14. Jenkins Plugins

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

Chapter 15. Distributed Builds with Jenkins

  • Distributed Builds - Overview
  • Distributed Builds – How?
  • Agent Machines
  • Configure Jenkins Master
  • Configure Projects
  • Conclusion

Chapter 16. Continuous Delivery and the Jenkins Pipeline

  • Continuous Delivery
  • Continuous Delivery (cont'd)
  • DevOps and Continuous Delivery
  • Continuous Delivery Challenges
  • Continuous Delivery with Jenkins
  • The Pipeline Plugin
  • The Pipeline Plugin (cont'd)
  • Defining a Pipeline
  • A Pipeline Example
  • Pipeline Example (cont'd)
  • Parallel Execution
  • Creating a Pipeline
  • Invoking the Pipeline
  • Interacting with the Pipeline
  • Pipeline vs Traditional Jobs
  • Conclusion

Chapter 17. Best Practices for Jenkins

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

Lab Exercises

Lab 1. Managing Keys for a Secure Connection
Lab 2. Provisioning Tomcat Web Server in EC2
Lab 3. Learning the Lab Environment
Lab 4. Getting Started with Puppet
Lab 5. Provisioning MySQL Database with Puppet
Lab 6. Getting Started with Docker
Lab 7. Getting Started with Kubernetes
Lab 8. Configure Tools in Jenkins
Lab 9. Create a Jenkins Job
Lab 10. Configure Jenkins Security
Lab 11. Add Development Metrics
Lab 12. Create a Pipeline

12/11/2023 - 12/13/2023
10:00 AM - 06:00 PM
Eastern Standard Time
Online Virtual Class
USD $2,090.00
Enroll
01/22/2024 - 01/24/2024
10:00 AM - 06:00 PM
Eastern Standard Time
Online Virtual Class
USD $2,090.00
Enroll
02/26/2024 - 02/28/2024
10:00 AM - 06:00 PM
Eastern Standard Time
Online Virtual Class
USD $2,090.00
Enroll