WA2451

DevOps Fundamentals Training

This introduction and fundamentals of DevOps course teaches attendees core DevOps concepts and principles and the ways to stand up the development operations practice in your organization.

Course Details

Duration

3 days

Prerequisites

Foundational knowledge of the software delivery problem domain is recommended.

Target Audience

  • Enterprise Architects
  • Solution Architects
  • Information Technology Architects
  • Senior Developers
  • Team Leads

Skills Gained

  • Understand the fundamentals of DevOps' value proposition
  • Gain practical experience working with select DevOps tools, including Puppet, Jenkins, and others.
Course Outline
  • 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
  • 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
    • 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)
  • 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
    • Chapter 4. DevOps Tools
    • The Choice of Cloud Platform
    • IaaS for DevOps
    • PaaS for DevOps
    • FaaS and Serverless
    • Containerization Tools
    • Container Orchestration Tools
    • System Configuration Automation and Management
    • Continuous Integration (CI) Systems
    • Build and Dependency Management Systems
    • Select DevOps Tools
  • 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
  • Containerization Systems
    • Virtualization
    • Hypervisors
    • Hypervisor Types
    • Type 1 Hypervisors
    • Type 2 Hypervisors
    • Type 1 vs Type 2 Processing
    • Paravirtualization
    • Virtualization Qualities
    • 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
  • 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
  • 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
  • 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
  • Introduction to Continuous Integration, Continuous Delivery and Jenkins-CI
    • Foundation of Agile AppDev
    • XP Flow
    • Extreme Programming
    • Agile Development
    • What is Continuous Integration
    • 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
  • Installing and Running Jenkins
    • Downloading and Installing Jenkins
    • Running Jenkins as a Stand-Alone Application
    • Running Jenkins on an Application Server
    • The Jenkins Home Folder
    • Installing Jenkins as a Windows Service
    • Initial Configuration
    • Configuration Wizard
    • Configuring Tools
    • Configuring Tools - Best Practices
    • Logging in Jenkins
    • Custom Log Recorders
  • Job Types in Jenkins
    • Introduction
    • Different types of Jenkins Items
    • Configuring Source Code Management(SCM)
    • Working with Subversion
    • Working with Git
    • Storing Credentials
    • Service Accounts
    • Build Triggers
    • Schedule Build Jobs
    • Polling the SCM
    • Polling vs Triggers
    • Maven Build Steps
  • Securing Jenkins
    • 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
  • Distributed Builds with Jenkins
    • Distributed Builds - Overview
    • Distributed Builds – How?
    • Agent Machines
    • Configure Jenkins Master
    • Configure Projects
  • Continuous Delivery and the Jenkins Pipeline
    • Continuous Delivery
    • DevOps and Continuous Delivery
    • Continuous Delivery Challenges
    • Continuous Delivery with Jenkins
    • The Pipeline Plugin
    • Defining a Pipeline
    • A Pipeline Example
    • Parallel Execution
    • Creating a Pipeline
    • Invoking the Pipeline
    • Interacting with the Pipeline
    • Pipeline vs Traditional Jobs
  • 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
  • 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
Upcoming Course Dates
USD $2,090
Online Virtual Class
Scheduled
Date: Nov 4 - 6, 2024
Time: 10 AM - 6 PM ET