DevOps for Architects Training in Salt Lake City

Enroll in or hire us to teach our DevOps for Architects class in Salt Lake City, Utah by calling us @303.377.6176. Like all HSG classes, DevOps for Architects may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, DevOps for Architects may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
This course teaches how to use DevOps for continuous integration and delivery of application development and maintenance. The information delivered enables key understanding in the configuration, automation, monitoring, measuring and governance required to build a stable, scalable, and reliable build and configuration management process. This course will be particularly useful for anyone looking to implement DevOps in their organization.
Course Length: 3 Days
Course Tuition: $1690 (US)

Prerequisites

An understanding of the basic concepts in version control, release management, automation, governance, and infrastructure. A course like DEVOPS FUNDAMENTALS is ideal for that.

Course Outline

 
Chapter 1. The DevOps Roadmap
- Why DevOps?
- Wall of Confusion
- What is DevOps?
- History behind DevOps
- Early Adopters
- DevOps Background
- Cross Functional Teams
- Key Components of Successful DevOps Teams (A
- 3
- & C)
- DevOps-ification
- DevOps Vocabulary
- DevOps Goals
- Driving business outcomes with DevOps
- DevOps at the Core
- Alignment with the Business
- Collaborative Development
- Continuous Integration & Test Automation
- Continuous Delivery
- Comprehensive Application Monitoring
Summary
 
Chapter 2. Configuration Management
- Why is configuration management key to DevOps success?
- What is Configuration Management
- Do we need Configuration Management?
- Terminology
- Automation tool comparison
- Introduction to Chef
- Deployment/License
- Who Uses Chef?
- Chef Architecture
- Chef Components
- Workstation
- Recipe
- Cookbook
- Ruby
- Knife
- Node
- Chef-client
- Chef Server
- Chef Analytics
- Chef Supermarket
- Introduction to Ansible
- Why use Ansible?
- Ansible playbooks
- YAML
- YAML list
- YAML dictionary
- Abbreviated YAML
- Simple Ansible
- More complex Ansible
- Simple Ansible YAML file
- Why use containers if you have a great CM tool?
- Containerization solutions
- Chef & Docker workflow
- Setting up the environment
- Deployment
- Cloud Integration
Summary
 
Chapter 3. Release Management
- What is Version Control?
- Why use Version Control
- Version Control Vocabulary
- Version Control Patterns
- Distributed vs. Centralized
- Source Code vs. Binary Repository
- Repository Management
- Release Complexity
- Release Maintenance
- Release Logging
- Branching & Tagging
- Branching Conventions
- Tagging Conventions
- Automatic Deployment with Git
- Utilizing Git Hooks
- Continuous Deployment and DVCS GitHub, Mercurial, CodePlex
- Centralized Version Control
- Managing Dependencies with Maven
Summary
 
Chapter 4. Building Tools
- Build Tool History
- Build Automation Processes
- Repeatability
- Notification
- Continuous Build
- Git post-receive Script
- Introduction to Ant
- Ant Anatomy
- Ant Installation
- Example Ant build.xml
- Running Ant
- Ant Dependency Management
- Introduction to MSBuild
- MSBuild Anatomy
- MSBuild Automation Process
- HelloWorld MSBuild XML
- Introduction to Maven
- Maven Build Cycle
- Maven Installation
- Maven Plugin Execution Framework
- Maven pom.xml Example
- Introduction to Gradle
- Why Gradle?
- Gradle plugins
- Ant Migration
- Maven migration
Summary
 
Chapter 5. Continuous Integration & Delivery
- What Does Continuous Delivery Mean?
- You’re Doing CD if Your …
- What is Continuous Integration?
- Deployment Pipeline
- Project Methodologies
- Measuring Your Organizational Maturity
- Tool Selection
- Organization Structure
- Organizational Structure Leadership
- Organizational Structure Working
- Business Continuity
- Supportability & Sustainability
Summary
 
Chapter 6. Continuous Integration Tools
- Challenges Solved by CI Tools
- CI Testing Tools
- Typical CI Setup
- Atomic Integration
- More on CI
- CI and Automated BD
- Ancillary CI Benefits
- CI Connectivity
- Introduction to Jenkins
- Jenkins Features
- Running Jenkins
- Jenkins options
- Introduction to Hudson
- Hudson Features
- Hudson pre-requisites
- Hudson environments
- Hudson Pattern
- One Hudson Workflow Variation
- Introduction to TeamCity
- Introduction to CruiseControl
- Comparison
Summary
 
Chapter 7. Monitoring
- What to Monitor
- How to Monitor
- Why to Monitor
- Types of Monitoring
- Monitoring Strategy
- Amazon Monitoring
- Google Cloud Monitoring
- Hybrid Cloud Monitoring
- Application Performance Monitoring (APM)
- APM Octal Process
- Monitoring Across the Stack
- Introduction to Nagios
- Nagios Features
- Who uses Nagios?
- Introduction to ELK
- Kibana Dashboard
- ELK Demo
- Log Shipping
- User Management
- Introduction to Dynatrace
- Who uses Dynatrace
Summary
 
Chapter 8. Measurement
- What to measure?
- How to Measure?
- Why to Measure
- Choosing the Right Metrics
- What Are Your Key Performance Indicators?
- Actionable Insight
- Software Quality Measurements
- Top 5 Metrics
Summary
 
Chapter 9. Cloud Computing and Virtualization
- Cloud History
- Cloud on Wikipedia
- Cloud at a Glance
- Electrical Power Grid Service Analogy
- Capacity Planning Concepts and Challenges
- Coping with Computing Demand the Traditional Way
- The Origin of the Cloud Computing
- Grid Computing vs Cloud Computing
- What Drives Cloud Adoption?
- 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
- Four Cloud Deployment Models (NIST)
- NIST Cloud Definition Framework
- Virtualization
- Virtualization Qualities
- Cloud Infrastructure - Virtual Machines
- Bootable OS Image
- Block Storage for Instances
- Cloud Object Storage
- Microservices and the Cloud
- Cloud Risk Considerations
- Bootable OS Image
- 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 10. Automation Scripting
- Why Automate?
- When to Automate?
- Goals for Scripting
- Error Handling
- Logging
- Automating Versioned Builds
- Automating Deployment
- Automating Continuous Integration Tests
- Automated Cleanup
- Introduction to Shell Scripts
- Basic Shell Script
- Return Status
- Introduction to Python
- Basic Python Script
- Python Comments
- Assignment Not Allowed in Expressions
- Variable Naming
- Block Scope
- Other features of Python
- Introduction to Ruby
- Executing a Ruby File
- Ruby Objects
- Creating a Hash
- Setting Value of a Key
- Getting Value of a Key(s)
- Conditionals and Flow
- Methods
- Classes
- Including External Ruby Files
- Introduction to Perl
- Perl and Programmers
- First Perl Script
Summary
 
Chapter 11. Servers
- Introduction to Application Servers
- WebSphere
- J2EE Application Environments
- App Server Standards
- Administration Interfaces
- Java Virtual Machine
- Three tier architecture
- Tomcat
- Tomcat Architecture
- Active Tomcat Versions
- Tomcat Installation
- Tomcat Startup
- Tomcat Admin Console
- Tomcat Manual Startup on Linux
- Tomcat Manual Startup on Windows
- Tomcat Deployment
- Parallel Deployment
- Running Tomcat in Debug
- Web Servers
- UNIX Aliases
- History
- Tracing and Logging
- Servlet Containers
- Fixpack Automation
- Dependencies
- Clustering Considerations
- High Availability
Summary
 
Chapter 12. Agile
- History of Agile
- Sprint0
- Scrum Team
- Managing Sprints
- Maintaining the Backlog
- Working With Story Points
- Distributed Agile
- Kaizen
- Kanban
- Comparison of Scrum & Kanban
- Introduction to Jira
- Kanban board
- Control Chart
- Cumulative Flow Diagram
- Burndown Chart
- Introduction to Rally
Summary
 
Chapter 13. Error Handling
- Introduction to Error Handling
- Zen of Troubleshooting
- Troubleshooting Skill
- Success Pattern
- Self-healing
- Proactive vs. Reactive
- Issue Handling
- Notification
Summary
 
Chapter 14. Continuous Code Quality
- Continuous Code Quality
- What is SonarQube
- SonarQube - Benefits
- SonarQube (Multilingual)
- Seven Axes of Quality
- Potential Bugs
- Tests
- Comments and Duplications
- Architecture and Design
- Complexity
- SonarQube Installation
- SonarQube Components
- Code Quality (LOC, Code Smells)
- Code Quality (Project Files)
- Code Quality (Code)
Summary
 
Chapter 15. Best Practices
- Who are the folks using the various solutions
- DevOps Implementation Basics
- DevOps Implementation Checklist
- Lean Patterns
- Process Theory
- Tool Pattern
- Culture Alignment
- Culture Antipatterns
- Process Antipatterns
- Technology Antipatterns
- Tale of Two Audiences
- Best Practices
- Best Practices Continued
Summary
 
Lab Exercises
Lab 1. Configuration Management
Lab 2. Version Control - Git
Lab 3. Version Control – SVN
Lab 4. Continuous Integration
Lab 5. Install Prerequisites
Lab 6. Continuous Code Quality - SonarQube
Lab 7. Automation (Shell Scripting)
Lab 8. Tomcat Application Deployment using Chef
Lab 9. Continuous Monitoring - Nagios
Lab 10. Containerization – Docker 
Lab 11. Scripting 101 – Python (OPTIONAL)

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.