Introducing the DevOps Model
- DevOps Philosophy
- DevOps Practices
Introducing Containers
- Container-Based Architectures
- Linux Containers
- Docker Overview
- Docker Commands
Packaging an Application Using Docker
- Dockerfiles
- Golden Images
- Safe Processing Practices
Deploying a Multitier Application
- Linux Networking
- Docker Networking
- Docker Compose
Introducing CI/CD
- Continuous Integration
- CI Tools
- DevOps Pipelines
Building the DevOps Flow
- GitLab Overview
- GitLab CI Overview
- Continuous Delivery with GitLab
Validating the Application Build Process
- Automated Testing in the CI Flow
Building an Improved Deployment Flow
- Post deployment Validation
- Release Deployment Strategies
Extending DevOps Practices to the Entire Infrastructure
- Introduction to NetDevOps
- Infrastructure as Code
Implementing On-Demand Test Environments at the Infrastructure Level
- Configuration Management Tools
- Terraform Overview
- Ansible Overview
- Ansible Inventory File
- Use the Cisco IOS Core Configuration Module
- Jinja2 and Ansible Templates
- Basic Jinja2 with YAML
- Configuration Templating with Ansible
Monitoring in NetDevOps
- Introduction to Monitoring, Metrics and Logs
- Introduction to Elasticsearch, Beats and Kibana
- Introduction to Prometheus and Instrumenting Python Code for Observability
Engineering for Visibility and Stability
- Application Health and Performance
- AppDynamics Overview
- Chaos Engineering Principles
Securing DevOps Workflows
- DevSecOps Overview
- Application Security in the CI/CD Pipeline
- Infrastructure Security in the CI/CD Pipeline
Exploring Multicloud Strategies
- Application Deployment to Multiple Environments
- Public Cloud Terminology Primer
- Tracking and Projecting Public Cloud Costs
- High Availability and Disaster Recovery Design Considerations
- IaC for Repeatable Public Cloud Consumption
- Cloud Services Strategy Comparison
Examining Application and Deployment Architectures
- The Twelve-Factor Application
- Microservices Architectures
Describing Kubernetes
- Kubernetes Concepts: Nodes, Pods and Clusters
- Kubernetes Concepts: Storage
- Kubernetes Concepts: Networking
- Kubernetes Concepts: Security
- Kubernetes API Overview
Integrating Multiple Data Center Deployments with Kubernetes
- Kubernetes Deployment Patterns
- Kubernetes Failure Scenarios
- Kubernetes Load-Balancing Techniques
- Kubernetes Namespaces
- Kubernetes Deployment via CI/CD Pipelines
Monitoring and Logging in Kubernetes
- Kubernete Resource Metrics Pipeline
- Kubernetes Full Metrics Pipeline and Logging
Labs:
- Interact with GitLab Continuous Integration
- Explore Docker Command-Line Tools
- Package and Run a WebApp Container
- Build and Deploy Multiple Containers to Create a Three-Tier Application
- Explore Docker Networking
- Build and Deploy an Application Using Docker Compose
- Implement a Pipeline in Gitlab CI
- Automate the Deployment of an Application
- Validate the Application Build Process
- Validate the Deployment and Fix the Infrastructure
- Build a YAMl IaC Specification for the Test Enviroment
- Manage On-Demand Test Environments with Terraform
- Build Ansible Playbooks to Manage Infrastructure
- Integrate the Testing Enviroment in the CI/CD Pipeline
- Implement Pre-Deployment Health Checks
- Set Up Logging for the Application Servers and Visualize with Kibana
- Create System Dashboard Focused on Metrics
- Use Alerts Through Kibana
- Instrument Application Monitoring
- Use Alerts and Thresholds to Notify Webhook Listener and Webex Teams Room
- Secure Infrastructure in the CI/CD Pipeline
- Explore Kubernetes Setup and Deploy an Application
- Explore and Modify a Kubernetes CI/CD Pipeline
- Kubernetes Monitoring and Metrics - ELK