Skip to content

Latest commit

 

History

History
74 lines (59 loc) · 2.32 KB

File metadata and controls

74 lines (59 loc) · 2.32 KB

Learn Microservices

Prerequisites

The course requires a decent understanding of Java and Python.

Software

Books

  • Microservices Patterns; Richardson

Videos

Modules

M1 Introduction

  • Software production metrics
  • Monolithic and distributed architectures
  • Automation in software production (DevOps, DevSecOps)

M2 Microservices chassis

  • Synchronous vs Asynchronous approaches
  • Java microservices (Maven, Spring Boot)
  • Python microservices (FastAPI)

M3 Containerization and orchestration

  • Building docker images (single-layer, multi-layer)
  • Container orchestration with docker compose
  • Orchestration for the edge-cloud continuum (K8s, K3s, MicroK8s, KubeEdge)

M4 Synchronous Communication

  • Synchronous communications and their limitations
  • GraphQL and Protobuf as a REST alternatives
  • Latency-sensitive communication

M5 Infrastructure

  • Service discovery and routing
  • Centralized configuration
  • Distributed algorithms

M6 Observability

  • Instrumentation and maintenance costs
  • Key observability stacks: Prometheus, ELK, Jaeger/Zipkin, Grafana
  • OpenTelemetry

M7 Resiliency

  • Client-Side Load Balancing
  • Circuit Breaker
  • Fallback
  • Retry
  • Timeout
  • Bulkhead
  • Rate Limiter
  • Distributed caching (Redis)

M8 Asynchronous Communication

  • Asynchronous messaging systems
  • Event-driven architectures
  • Event-sourcing architectures

M9 Distributed data management

  • The SAGA pattern
  • The CQRS pattern
  • The Conductor orchestration framework

M10 Security

  • JWT...

M11 MLOps

  • The MLOps model applied to edge-cloud contexts
  • Tracking ML experiments with MLFlow
  • Observing ML models in production with EvidentlyAI