7878  Reviews star_rate star_rate star_rate star_rate star_half

DevOps Fundamentals

This introduction and fundamentals training course covers the core DevOps concepts and principles as well as the ways to stand up the DevOps practice in your organization. Skills Gained Intro to...

Read More
$2,090 USD
Course Code WA2451
Duration 3 days
Available Formats Classroom

This introduction and fundamentals training course covers the core DevOps concepts and principles as well as the ways to stand up the DevOps practice in your organization.

Skills Gained

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

Who Can Benefit

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

Prerequisites

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

Course Details

Course Outline

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