DevOps Fundamentals Training

Course duration

Course Benefits

  • Learn to gain fundamental understanding of DevOps' value proposition.
  • Learn to gain practical experience working with select DevOps tools, including Puppet, Jenkins, and others.

Course Outline

  1. DevOps Fundamentals
    1. Why DevOps
    2. What is DevOps?
    3. Collaborative, Matrixed and Cross-Functional Teams
    4. Key Components of Successful DevOps Teams
    5. DevOps-ification
    6. DevOps Vocabulary
    7. DevOps Goals
    8. Not DevOps - Crush Buzzwords
    9. Driving Business Outcomes with DevOps
    10. Technology-Enabled Business
    11. DevOps Key Enabler for Digital Transformation
    12. Core Values and Mission
    13. Core Values - Culture
    14. Core Values - Automation
    15. Core Values - Measurement
    16. Core Values - Sharing
    17. Communication
    18. Collaboration
    19. Value Stream Mapping
    20. Behavioral Patterns for Success
    21. DevOps Org Structures
    22. DevOps Team - Separate
    23. DevOps Merged Organization
    24. DevOps Overlapped Organization
    25. Organizational Structure Leadership
    26. What Does Continuous Delivery Mean?
    27. Deployment Pipelines
    28. Your Organization is Doing CD if
    29. Pipelining for CD
    30. Continuous Integration
    31. CI Pipeline
    32. CD and CI Methodologies
    33. Key Tool Categories for CI/CD
    34. Summary
  2. Cloud Technical Introduction
    1. A Bit of History
    2. Wikipedia Entry
    3. Cloud Computing at a Glance
    4. Electrical Power Grid Service Analogy
    5. Capacity Planning Concepts and Challenges
    6. Coping with Computing Demand the Traditional Way
    7. Coping with Computing Demand the Cloud Way
    8. The Origin of the Cloud Computing
    9. Grid Computing vs Cloud Computing
    10. What Drives Cloud Adoption?
    11. The NIST Perspective
    12. Five Characteristics of the Cloud
    13. The Three Cloud Service Models (NIST)
    14. The Cloud Computing Spectrum: IaaS, PaaS and SaaS
    15. Cloud Service Model Implementations
    16. The Four Cloud Deployment Models (NIST)
    17. The NIST Cloud Definition Framework
    18. Cloud Deployment Model Dynamics
    19. Virtualization
    20. Virtualization Qualities (1/2)
    21. Virtualization Qualities (2/2)
    22. Cloud Infrastructure - Virtual Machines
    23. A Bootable OS Image
    24. Block Storage for Instances
    25. Cloud Object Storage
    26. SOA and the Cloud
    27. Cloud Risks to Consider
    28. DevOps Security Concerns
    29. Amazon WS Technical Lessons When Moving To the Cloud
    30. Architecting for HA in AWS (Same Data Center)
    31. Architecting for HA in AWS (Different AZs)
    32. Summary
  3. Standing Up DevOps
    1. Standing Up DevOps
    2. Things to Look For and Avoid
    3. IT Assets Ownership
    4. Viewing Applications As Products, not Projects
    5. DevOps in the Enterprise
    6. IT Governance
    7. Governance and Risk Mitigation
    8. DevOps Adoption Steps
    9. Select DevOps Techniques and Practices
    10. Service Quality Metrics
    11. Summary
  4. DevOps Tools
    1. The Choice of Cloud Platform
    2. IaaS for DevOps
    3. PaaS for DevOps
    4. Containerization Tools
    5. System Configuration Automation and Management
    6. Continuous Integration (CI) Systems
    7. Build and Dependency Management Systems
    8. Select DevOps Tools
    9. Summary
  5. Introduction to Puppet
    1. What is Puppet
    2. Puppet's Domain Specific Language
    3. "Infrastructure-as-code" in Puppet
    4. Example of the Puppet DSL
    5. Main Puppet Artifacts
    6. Puppet Design
    7. Puppet Workflow Orchestration
    8. Facter
    9. Facter Fact Discovery
    10. Facter Example
    11. Extending Facter
    12. Geppetto
    13. Puppet Lab Services
    14. Puppet Enterprise Licensing
    15. Puppet Enterprise Support
    16. Puppet Enterprise Feature Set (1/2)
    17. Puppet Enterprise Feature Set (2/2)
    18. Summary
  6. Containerization Systems Overview
    1. Virtualization
    2. Hypervisors
    3. Hypervisor Types
    4. Type 1 Hypervisors
    5. Type 2 Hypervisors
    6. Type 1 vs Type 2 Processing
    7. Paravirtualization
    8. Virtualization Qualities (1/2)
    9. Virtualization Qualities (2/2)
    10. Disadvantages of Virtualization
    11. Containerization
    12. Virtualization vs Containerization
    13. Where to Use Virtualization and Containerization
    14. Popular Containerization Systems
    15. What are Linux Containers
    16. Docker
    17. OpenVZ
    18. Solaris Zones (Containers)
    19. Summary
  7. LXC Introduction
    1. What are Linux Containers
    2. How LXC Works
    3. LXC vs True Virtualization
    4. Security Concerns
    5. LXC Alternatives
    6. Getting Started with LXC
    7. Creating a Container
    8. Listing and Getting Info on Containers
    9. Starting, Stopping, and Destroying a Container
    10. Container Pausing and Resuming
    11. Communicating with a Container
    12. Monitoring Container State Change
    13. Programmatic Access to LXC
    14. Container Root Filesystems
    15. Container Cloning
    16. Copy and Snapshot Types
    17. Using Snapshots
    18. LXC Web Panel
    19. Summary
  8. Docker Introduction
    1. What is Docker
    2. Where Can I Ran Docker?
    3. Docker and Containerization on Linux
    4. Linux Kernel Features: cgroups and namespaces
    5. The Docker-Linux Kernel Interfaces
    6. Docker Containers vs Traditional Virtualization
    7. Docker as Platform-as-a-Service
    8. Docker Integration
    9. Docker Services
    10. Docker Application Container Public Repository
    11. Competing Systems
    12. Docker Command-line
    13. Starting, Inspecting, and Stopping Docker Containers
    14. Summary
  9. Introduction to Continuous Integration, Continuous Delivery and Jenkins-CI
    1. Agile Development
    2. Agile Development (cont'd)
    3. What is Continuous Integration
    4. What is Continuous Integration (cont'd)
    5. Typical Setup for Continuous Integration
    6. Continuous Delivery
    7. Continuous Delivery (cont'd)
    8. DevOps and Continuous Delivery
    9. Continuous Delivery Challenges
    10. Continuous Delivery vs Continuous Deployment
    11. Imagine a Software Engineering Process...
    12. Jenkins Continuous Integration
    13. Jenkins Features
    14. Running Jenkins
    15. Summary
  10. Installing and Running Jenkins
    1. Downloading and Installing Jenkins
    2. Running Jenkins as a Stand-Alone Application
    3. Running Jenkins as a Stand-Alone Application (cont'd)
    4. Running Jenkins on an Application Server
    5. The Jenkins Home Folder
    6. Installing Jenkins as a Windows Service
    7. Initial Configuration
    8. Configuration Wizard
    9. Configuration Wizard (cont'd)
    10. Configuring Tools
    11. Configuring Tools - Best Practices
    12. Logging in Jenkins
    13. Custom Log Recorders
    14. Summary
  11. Job Types in Jenkins
    1. Introduction
    2. Different types of Jenkins Items
    3. Different types of Jenkins Items (cont'd)
    4. Configuring Source Code Management(SCM)
    5. Working with Subversion
    6. Working with Subversion (cont'd)
    7. Working with Git
    8. Storing Credentials
    9. Storing Credentials (cont'd)
    10. Build Triggers
    11. Schedule Build Jobs
    12. Polling the SCM
    13. Maven Build Steps
    14. Summary
  12. Securing Jenkins
    1. Jenkins Security - Overview
    2. Jenkins Security
    3. Authentication
    4. Authorization
    5. Confidentiality
    6. Activating Security
    7. Configure Authentication
    8. Using Jenkins's Internal User Database
    9. Creating Users
    10. Authorization
    11. Matrix-Based Security
    12. Note Create the Administrative User
    13. Project-based Matrix Authorization
    14. Project-Based Authentication
    15. Conclusion
  13. Jenkins Plugins
    1. Introduction
    2. Jenkins Plugins - SCM
    3. Jenkins Plugins - Build and Test
    4. Jenkins Plugins - Analyzers
    5. Jenkins for Teams
    6. Installing Jenkins Plugins
    7. Summary
  14. Distributed Builds with Jenkins
    1. Distributed Builds - Overview
    2. Distributed Builds - How?
    3. Agent Machines
    4. Configure Jenkins Master
    5. Configure Projects
    6. Conclusion
  15. Continuous Delivery and the Jenkins Pipeline
    1. Continuous Delivery
    2. Continuous Delivery (cont'd)
    3. DevOps and Continuous Delivery
    4. Continuous Delivery Challenges
    5. Continuous Delivery with Jenkins
    6. The Pipeline Plugin
    7. The Pipeline Plugin (cont'd)
    8. Defining a Pipeline
    9. A Pipeline Example
    10. Pipeline Example (cont'd)
    11. Parallel Execution
    12. Creating a Pipeline
    13. Invoking the Pipeline
    14. Interacting with the Pipeline
    15. Conclusion
  16. Best Practices for Jenkins
    1. Best Practices - Secure Jenkins
    2. Best Practices - Users
    3. Best Practices - Backups
    4. Best Practices - Reproducible Builds
    5. Best Practices - Testing and Reports
    6. Best Practices - Large Systems
    7. Best Practices - Distributed Jenkins
    8. Best Practices - Summary
Class Materials

Each student will receive a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this DevOps class:

  • Foundational knowledge of the software delivery problem domain.
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.