Course Outline
Module 1: Microservices Design
• Establishing effective microservice boundaries
• Applying Domain Driven Design (DDD)
• Alternatives to Business Domain Boundaries (Volatility, Data, Technology, Organizational)
• Strategies for splitting the monolith
• Avoiding premature decomposition
• Decomposition by layer
• Utilizing decomposition patterns (Strangler, Parallel Run, Feature Toggle)
• Addressing data decomposition concerns (Performance, Integrity, Transactions)
Module 2: Optimizing Docker and the Runtime
• Selecting the appropriate base image
• Minimising the number of layers
• Employing multi-stage builds
• Image optimization techniques (e.g., sorting multi-line arguments)
• Leveraging the build cache effectively
• Pinning specific image versions
• Fine-tuning resource allocation
• Adhering to secure container practices
• Optimizing runtime configuration for performance
Module 3: Kubernetes & Release Strategies
Overview of Kubernetes Deployments
• Creating and executing an initial deployment
• Understanding Kubernetes deployment options
Executing Rolling Update Deployments
• Comprehending rolling updates
• Creating and executing a rolling update
• Performing deployment rollbacks
Executing Canary Deployments
• Comprehending canary deployments
• Creating and executing a canary deployment
Executing Blue-Green Deployments
• Comprehending blue-green deployments
• Creating and executing a blue-green deployment
Managing Jobs and CronJobs
• Creating a Job and CronJob
Conducting 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 via Python
• Observing Kubernetes events using Python
• Scaling deployments programmatically with Python
Understanding Challenges in Automating Deployments
• Declarative configuration within Kubernetes
• Maintaining configuration integrity
Adopting the GitOps Approach for Deployment Automation
• Core GitOps principles
• Introduction to Flux
• Installing Flux into a Kubernetes cluster
Configuring Flux for Automated Deployments
• Utilizing 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 perform automatic image updates
Module 5: Observability & Root Cause Clarity
Kubernetes Logging and Tracing Capabilities
• The importance of logging and tracing
• Accessing Kubernetes logs
• Examining pod and container logs
• Reviewing control plane logs
• Analyzing resource usage for nodes and pods
Collecting and Analyzing Logs
• Log aggregation strategies
• Log visualization techniques
Distributed Tracing in Kubernetes
• Understanding distributed tracing
• Implementing OpenTelemetry
• Utilizing distributed tracing tools
• Instrumenting applications for tracing
• Identifying performance issues through tracing
Monitoring with Prometheus and Grafana
• Core observability concepts
• Overview of monitoring tools
• Applying Prometheus instrumentation
Advanced Use Cases for Logging
• Log processing methods
• Filtering and enriching logs
• Event sourcing principles
Module 6: Cluster Crisis Simulation & Incident Response
• Recognizing various types of failures in cluster environments
• Simulating node failures
• Addressing pod eviction and resource exhaustion scenarios
• Resolving network issues
• Handling DNS failures and application timeouts
• Simulating API server outages
• Testing system stability under high traffic loads
• Managing storage failures
• Identifying configuration errors
• Understanding incident reporting procedures
Module 7: AI To Support Troubleshooting
• Benefits of generative AI for Kubernetes
• Architecture of the K8sGPT CLI
• Installing the K8sGPT CLI
• K8sGPT commands and usage guidelines
• Utilizing K8sGPT analyzers (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analyzing the cluster using K8sGPT
• Investigating real-time issues with K8sGPT
• Deploying the 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 concepts (pods, deployments, services)
- General grasp 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
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 6500 € + VAT*
Contact us for an exact quote and to hear our latest promotions
Testimonials (2)
Craig was extremely involved in the training, always making sure we are paying attention, adapted the examples to our day-to-day activities and always provided an answer when asked, even if the information was not added in the presentation.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Course - DevOps Foundation®
real life examples