DevSecOps & CI/CD

01

Course Overview

DevOps cannot be implemented by only adding new tools. DevOps cultural changes enable communication between Development, Operations, and Quality Assurance teams. The DevOps principles lead to faster development of applications requiring frequent deployments, and it is impossible to keep up without automating your infrastructure through configuration management.

02

Key Learning Areas

Attendees will leave with an understanding of DevOps and how implementing the culture and tools will improve communication between teams. They will learn how to use Infrastructure as Code principles with Ansible, Terraform, Packer and other tools. This class also teaches best practices for storing configuration data in version control, writing tests to confirm infrastructure was deployed correctly, and utilizing community modules.

03

Course Outline

Introduction to DevOps

  • What is DevOps?
  • Dev and Ops Views
  • Benefits of DevOps
  • Objectives of DevOps
  • Collaborative Development
  • Implementing DevOps

DevSecOps

  • Adding security to DevOps
  • What is DevSecOps?
  • Dev, Security, and Ops Views
  • Benefits of DevSecOps
  • DevSecOps and Software Delivery Lifecycle
  • Objectives of DevSecOps
  • Aligning DevSecOps with Business Needs
  • Implementing DevSecOps

Version Control

  • What is Version Control?
  • Git(Hub)
  • What is Git
  • Basic commands
  • Storing Infrastructure Code in Version Control
  • Branching and Merging
  • Auditing and Tracking
  • Undo

Configuration Management

  • Configuration Drift
  • Challenges with Manual Configuration
  • Infrastructure as Code
  • Introduction to Automation Tools
    • Ansible
    • Chef
    • Terraform
  • Benefits of Configuration Management

Terraform

  • Overview
  • Architecture
  • Configuration files
  • Managing State files
  • Providers
  • Variables and Functions
  • Modules
  • Custom Data Sources and Templates
  • Terraform integration with Ansible and Cloud

Ansible

  • Introduction
  • Why use Ansible?
  • Common Ansible modules
  • Ad-hoc commands
  • Inventory
  • Playbooks
  • Variables and Inclusions
  • Managing Roles with Galaxy
  • Ansible Vault
  • Creating Ansible Modules

Infrastructure Automation Pipelines

  • What is Continuous Delivery?
  • Typical Setup
  • Comparison of tools
    • ArgoCD
      • Introduction
      • Installation
      • Demonstration
    • Salesforce Copado
      • Overview
      • Tools
        1. Plan
        2. Test
        3. Comply
        4. Release
        5. Monitor
      • Jenkins
        • Overview
        • Features
        • Plugins
      • Build Pipelines
      • Build Triggers
      • Environment Variables
      • Credentials
      • Parameterization
      • Automation with Groovy
      • Jenkinsfile
      • End-to-end Infrastructure Deployment Pipeline

Continuous Code Quality

  • SonarQube
  • Benefits
    • Benefits
    • Installation
    • Components
  • Bugs
  • Tests
  • Architecture and Design
  • Complexity
  • Code Quality

Monitoring

  • Dynamic Infrastructure Monitoring
  • Monitoring Tools
  • Cloud Monitoring Solutions
  • Best Practices
04

Who Benefits

The audience for this class is Team Leads, DevOps, Architects, and any other Engineering personnel interested in an introduction to DevOps. This class teaches DevOps cultural changes and practices, configuration management tools and best practices, and automation of infrastructure creation and management using Ansible, Terraform, and other proven tools.

Attendees should have a basic understanding of Linux and command-line experience.

05

Prerequisites

Want this course for your team?

Atmosera can provide this course virtually or on-site. Please reach out to discuss your requirements.