Cloud Native Software Development

Hands-on training for developing, deploying, and operating cloud-native applications using modern DevOps practices

3 days
Advanced
Get Started

Cloud Native Software Development

Course Overview

This three-day intensive course is designed for DevOps professionals who want to develop, deploy, and operate modern cloud-native applications. The training focuses on microservices architecture, containerization, CI/CD processes, infrastructure as code, and resilient operations on Kubernetes. Theoretical input is complemented by hands-on labs and real-world scenarios.

What You Will Learn

  • Cloud-Native Architecture: Microservices, API design, scalable services, and decoupled components
  • DevOps Best Practices: Automation, CI/CD pipelines, monitoring, and observability
  • Cloud-Native Tooling: Kubernetes, Helm, ArgoCD, GitOps, and service meshes
  • CI/CD and Deployment: Strategies for fast, secure, and reproducible software delivery
  • Operations & Scalability: Resilience, horizontal scaling, self-healing, and high availability

Course Modules

Cloud-Native System Architecture

Fundamentals and Patterns for Scalable Cloud Architectures

  • Differences between traditional and cloud-native systems
  • 12-Factor App, API-first design, infrastructure as code (IaC)
  • Monolith vs. microservices – pros and cons
  • Communication patterns: REST, gRPC, event-driven architectures
  • Exercise: Designing a high-level architecture for a cloud-native sample application

Domain-Driven Design & Service Interfaces

  • Bounded contexts and strategic DDD
  • OpenAPI and contract-first development
  • Service contracts and cross-team boundaries
  • Exercise: Modeling APIs and services based on a real-world use case

Containerization & Platform Integration

Container Lifecycle & Kubernetes Integration

  • Best practices for container images
  • Build processes with Docker and Podman
  • Introduction to Kubernetes as a container orchestration platform
  • Exercise: Containerize a sample app & deploy to Kubernetes

CI/CD, Deployment & Automation

Pipeline Design and GitOps

  • CI/CD with GitLab CI, GitHub Actions, or Jenkins
  • GitOps workflows with ArgoCD or FluxCD
  • Secret management and security in the CI/CD process
  • Exercise: Build a complete GitOps CI/CD pipeline

Helm, Deployment Strategies & Resource Management

  • Packaging with Helm Charts
  • Custom Resource Definitions (CRDs) and the Operator pattern
  • Real-world deployment strategies:
    • Rolling updates
    • Recreate
    • Blue/Green
    • Canary releases
  • Exercise: Deploy an app using Helm with a canary release and rollback

Operations, Scalability & Resilience

Service Mesh & Observability

  • Introduction to Istio or Linkerd
  • Metrics, logs, and tracing with Prometheus, Grafana, Loki, Jaeger
  • OpenTelemetry as an observability standard
  • Exercise: Implement a service mesh and monitor a sample application

Scaling, Resilience & Self-Healing

  • Scaling with HPA, VPA, and Cluster Autoscaler
  • Self-healing with probes and ReplicaSets
  • Resilience patterns and chaos engineering
  • Exercise: Simulate failures and recovery with Kubernetes self-healing mechanisms

Prerequisites

  • Experience with container technologies (e.g., Docker)
  • Familiarity with DevOps practices and CI/CD pipelines
  • Basic knowledge of Kubernetes and cloud platforms (AWS, Azure, GCP)
  • Comfortable using Git, YAML, and CLI tools

Who Should Attend

  • DevOps engineers and platform engineers
  • Software developers building cloud-native applications
  • SREs responsible for production-grade deployments
  • Architects designing and operating modern microservice architectures