Course Outline
Module 1: Microservices Design
• Defining an Effective Microservice Boundary
• Utilizing Domain Driven Design (DDD)
• Alternative Approaches to Business Domain Boundaries (Volatility, Data, Technology, Organizational)
• Decoupling the Monolith
• Pitfalls of Premature Decomposition
• Layer-Based Decomposition
• Applying Decomposition Patterns (Strangler Fig, Parallel Run, Feature Toggle)
• Considerations for Data Decomposition (Performance, Integrity, Transactions)
Module 2: Optimizing Docker and the Runtime
• Selecting the Appropriate Base Image
• Reducing the Number of Layers
• Leveraging Multi-Stage Builds
• Image Optimization Techniques (e.g., sorting multi-line arguments)
• Maximizing Build Cache Utilization
• Pinning Specific Image Versions
• Fine-Tuning Resource Allocation
• Adhering to Secure Container Practices
• Configuring the Runtime for Optimal Performance
Module 3: Kubernetes & Release Strategies
Overview of Kubernetes Deployments
• Creating and Executing an Initial Deployment
• Exploring Kubernetes Deployment Options
Executing Rolling Update Deployments
• Understanding the Rolling Update Mechanism
• Creating and Executing a Rolling Update
• Rolling Back Deployments
Executing Canary Deployments
• Understanding Canary Deployments
• Creating and Executing a Canary Deployment
Executing Blue-Green Deployments
• Understanding Blue-Green Deployments
• Creating and Executing a Blue-Green Deployment
Running Jobs and CronJobs
• Creating a Job and CronJob
Performing Monitoring and Troubleshooting Tasks
• Troubleshooting Techniques using kubectl
Module 4: Automation & Operational Efficiency
Automating Common Kubernetes Tasks with Python
• Using Python for Administrative Operations in Kubernetes
• Defining Configuration Objects with Python
• Creating Deployment Objects with Python
• Monitoring Kubernetes Events via Python
• Scaling Deployments Programmatically with Python
Addressing Challenges in Automating Deployments
• Declarative Configuration with Kubernetes
• Maintaining Configuration Integrity
Implementing GitOps for Automated Deployments
• Core GitOps Principles
• Introduction to Flux
• Installing Flux on a Kubernetes Cluster
Configuring Flux for Automated Deployments
• Setting Up Notifications
• Structuring the Source Repository
Managing Application Updates via Image Automation
• Updating Application Deployments with Flux
• Scanning Container Image Repositories for Tags
• Defining Policies for Latest Image Selection
• Configuring Flux to Execute Automatic Image Updates
Module 5: Observability & Root Cause Clarity
Kubernetes Logging and Tracing Capabilities
• The Importance of Logging and Tracing
• Accessing Kubernetes Logs
• Pod and Container Logs
• Control Plane Logs
• Resource Usage Monitoring for Nodes and Pods
Collecting and Analyzing Logs
• Log Aggregation Strategies
• Log Visualization Techniques
Distributed Tracing in Kubernetes
• What is Distributed Tracing?
• Utilizing OpenTelemetry
• Tools for Distributed Tracing
• Instrumenting Applications
• Using Tracing Data to Identify Performance Issues
Monitoring with Prometheus and Grafana
• Core Observability Concepts
• Overview of Monitoring Tools
• Implementing Prometheus Instrumentation
Advanced Use Cases for Logging
• Log Processing Techniques
• Filtering and Enriching Logs
• Event Sourcing Patterns
Module 6: Cluster Crisis Simulation & Incident Response
• Understanding Various Failure Types in Cluster Environments
• Simulating Node Failures
• Pod Eviction & Resource Exhaustion Scenarios
• Network Disruptions
• DNS Failures and Application Timeout Handling
• Simulating API Server Outages
• Stress Testing for System Stability under High Traffic
• Storage Failures
• Configuration Errors
• Understanding Incident Reporting Procedures
Module 7: AI to Support Troubleshooting
• Benefits of Generative AI for Kubernetes
• K8sGPT CLI Architecture Overview
• Installing the K8sGPT CLI
• K8sGPT Commands and Usage Guidelines
• Utilizing K8sGPT Analyzers (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analyzing Clusters with K8sGPT
• Investigating Real-Time Issues using K8sGPT
• In-Cluster Operator for K8sGPT
Requirements
- Fundamental knowledge of the Linux command line
- Experience in application development or system administration
- Familiarity with container concepts (Docker)
- Basic understanding of Kubernetes primitives (pods, deployments, services)
- General comprehension of software architecture (e.g., APIs, services)
Target Audience:
- DevOps Engineers
- Site Reliability Engineers (SREs)
- Backend / Software Developers working with microservices
- Cloud Engineers and Platform Engineers
-
System Administrators transitioning to Kubernetes environments
Testimonials (2)
The knowledge and experience of the consultant, as theoretical topics are addressed by applying them to the reality of processes. The course contains a highly valuable program in information technology management.
Luis Castro Gamboa - Cooperativa De Ahorro Y Credito Ande No. 1 R.L.
Course - Site Reliability Engineering (SRE) Foundation®
Machine Translated
That it was very clear in each specification
Ricardo Ramirez - AMX CONTENIDO
Course - DevOps Leader (DOL)®
Machine Translated