Edocti
Fortgeschrittene technische Ausbildung für den modernen Softwareingenieur
Edocti Training

Microservices in der Praxis mit Python, Flask & Consul

Fortgeschritten
21 h
4.9 (609 Bewertungen)
Microservices in der Praxis mit Python, Flask & Consul

Hands-on Microservices: Ein Microservices-System mit Python, Flask und Consul entwerfen, bauen und betreiben.

Service Discovery, Konfiguration, Load Balancing und Observability implementieren.

Sichere Kommunikation, State-Management und Skalierung in realistischen Szenarien üben.

Praktische Erfahrung sammeln durch 70% Coding-Labs mit Docker und Cloud-Setups.

Nutzen: Trade-offs in realen Microservice-Architekturen verstehen.

Für wen: gedacht für Personen mit Python-Grundlagen, die praxisnahe Microservices-Skills wollen.

Beinhaltet geführte Labs und ein End-to-End-Projekt zur Festigung des Gelernten.

Curriculum

Tag 1 — Architektur & Service Design
  • Microservices vs Monoliths: Kosten/Nutzen, wann splitten, organisatorische Passung
  • Domain‑Driven Design (DDD): Bounded Contexts, Ubiquitous Language, Aggregates, Anti‑corruption Layer
  • Service‑Zerlegung: Data Ownership, Database‑per‑Service, transaktionale Grenzen
  • Konsistenz: Idempotency, Retries, Eventual Consistency, SAGA (Orchestration vs Choreography) — Überblick
  • Schnittstellen: REST vs gRPC (Read‑only Intro), API‑Versionierung, Fehlermodelle
  • Cross‑cutting: 12‑Factor App, Konfiguration, Secrets, Health/Readiness Checks
  • Discovery: Service Registry & Discovery mit Consul; Health Checks und Tags
  • Lab 1: Domänenmodellierung und Aufteilung in Services (catalog, orders, payments). APIs und Events skizzieren
Tag 1 — Containerisierung des Skeletons
  • Dockerfiles für Python: Multi‑Stage Builds, schlanke Images, Non‑Root‑User
  • Docker‑Compose‑Projektlayout; Umgebungen trennen (dev/test)
  • Lab 2: catalog & orders containerisieren, /health und /ready exponieren
Tag 2 — Implementierung in Python/Flask mit DI
  • Flask‑Patterns: App Factory, Blueprints, Request Lifecycle, Config (Env & Files)
  • Dependency Injection (leichtgewichtige Patterns oder dependency‑injector); Repositories, Gateways, Service Layer
  • Validierung & Serialisierung mit Pydantic/Marshmallow; Fehler auf HTTP abbilden
  • Resilienz: Timeouts, Retries (tenacity), Backoff & Jitter; Idempotency Keys
  • Service Discovery in der Praxis: Consul Agent, Service Registration, DNS vs HTTP API Lookups
  • Lab 3: Services über Consul verbinden; orders→payments mit Idempotency implementieren
Tag 2 — Observability‑Grundlagen
  • Strukturiertes Logging: JSON, Correlation IDs (X‑Request‑ID), Log‑Levels
  • Logs zu ELK schicken: Logstash Pipeline; Indizes & Retention in Elasticsearch; Dashboards in Kibana
  • Metriken: prometheus_client, RED/SUSE‑Metriken, Prozessmetriken
  • Lab 4: JSON‑Logs und /metrics aktivieren; Rate & Latenz visualisieren
Tag 3 — Full‑Stack Ops: ELK, Prometheus & Grafana
  • Compose‑Stack: Consul Server + Agents, Services, Logstash, Elasticsearch, Kibana, Prometheus, Grafana
  • Dashboards & Alerts: Grafana‑Panels für p50/p95‑Latenz, Fehlerquote; grundlegende Alarmregeln (Konzepte)
  • Security‑Aspekte: Secrets in Env/Consul KV, JWT am Edge (Skizze), TLS‑Termination (Reverse Proxy optional)
  • Lab 5: End‑to‑End Lauf — Stack starten, Last erzeugen, in Kibana und Grafana analysieren
Tag 3 — Hardening & Delivery
  • Tests: Unit/Integration, Contract Testing (Pact — Überblick)
  • Packaging & CI: pyproject.toml, Wheels, Image‑Scan; GitHub‑Actions‑Skeleton
  • Operations‑Checklisten: Readiness Probes, SLO‑Basics, Rollbacks
  • Lab 6: fehlschlagende Abhängigkeit einbauen, beobachten, sicher zurückrollen

Optionale Module

Optional — Erweiterte Patterns
  • Event‑driven Microservices mit Kafka/RabbitMQ (Überblick)
  • CQRS & SAGA Deep Dive; Outbox/Inbox Patterns
  • Service Mesh/Consul Connect und mTLS (Intro)

Kursablauf

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30