651-905-3729 Microsoft Silver Learning Partner EC Counsel Reseller compTIA Authorized Partner

DevOps for Architects

3 Days

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.

TOPICS

  • Tools
  • Build & release management
  • Agile
  • Cloud & Virtualization
  • Automation & Scripting
  • Configuration management
  • Monitoring
  • Measurement
  • Version control

Objectives

  • Confidently design a DevOps framework for their organization.
  • Understand the various key components.
  • Implement DevOps in their organization.
  • Create automation through scripting
  • Compare the different tools available for applicability to their environment
  • Apply the knowledge to improve reliability of build & release processes
  • Utilize the various tools covered in the course in the real world

AUDIENCE
This course is applicable for Architects and Development leads that need to design and implement DevOps in their organization.

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a DevOps for Architects class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Overview

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 (A3 & 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

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a DevOps for Architects class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Prerequisites

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

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a DevOps for Architects class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date