C++ und Kubernetes: Entwicklung leistungsstarker Microservices
300 Seiten
German
PDF
4.5

C++ und Kubernetes: Entwicklung leistungsstarker Microservices

C++ und Kubernetes: Entwicklung leistungsstarker Microservices

Autor:

Jahr:

Zusammenfassung:

Das Buch „C++ und Kubernetes“ ist ein einzigartiger praktischer Leitfaden, der die Lücke zwischen der Welt der hardwarenahen Programmierung in C++ und modernen Cloud-Technologien zur Container-Orchestrierung schließt. In einer Zeit, in der die meisten Kubernetes-Ökosysteme auf Go, Python oder Java ausgerichtet sind, bleibt C++ unverzichtbar für Aufgaben, die maximale Leistung, minimalen Speicherverbrauch und deterministisches Verhalten erfordern. Dieses Buch zeigt Ihnen, wie Sie C++ effektiv in einer Container-Umgebung einsetzen, ohne die Vorteile der Sprache zu opfern.



Worum geht es in diesem Buch?

  • Microservice-Architektur mit C++: Entwurf leichter, schneller Dienste, die perfekt in das Kubernetes-Paradigma passen (stateless, Health Checks, Graceful Shutdown).
  • Build und Containerisierung: Erstellung minimaler Docker-Images mit Multi-Stage-Builds, statisches und dynamisches Linken, Arbeit mit musl libc und Alpine Linux zur Reduzierung der Image-Größe.
  • Interaktion mit der Kubernetes-API: Schreiben von Operatoren und Controllern in C++ über das offizielle client-go (mit Bindings oder direktem REST-Zugriff), Arbeit mit Custom Resource Definitions (CRD).
  • Speicherverwaltung in Containern: Konfiguration von C++-Anwendungen für die Arbeit mit cgroups, Speicher- und CPU-Begrenzungen, Vermeidung von OOM-Kill und Speicherlecks.
  • Netzwerk und Leistung: Nutzung von gRPC, HTTP/2 und eigenen Protokollen über TCP/UDP, Konfiguration von Service Meshes (Envoy, Istio) für C++-Dienste.
  • Monitoring und Logging: Integration mit Prometheus (Metrik-Export), OpenTelemetry für Tracing, strukturiertes Logging in stdout/stderr für Fluentd.
  • CI/CD und Testen: Build-Pipelines für C++-Projekte in GitLab/GitHub Actions, Unit-Tests mit Google Test, Integrationstests in Kind (Kubernetes in Docker).


Für wen ist dieses Buch?

Das Buch richtet sich an C++-Entwickler, die Kubernetes und Cloud-Technologien erlernen möchten, sowie an DevOps/SRE-Ingenieure, die die Besonderheiten nativer C++-Anwendungen in einer orchestrierten Umgebung verstehen wollen. Vorausgesetzt werden solide Kenntnisse in C++ (C++17/20) und ein grundlegendes Verständnis von Containern.



Was werden Sie lernen?

  • Anpassung von C++-Code an eine „Cloud“-Architektur: Behandlung von SIGTERM-Signalen, Graceful Shutdown, Arbeit mit Konfigurationen über ConfigMap/Secrets.
  • Optimierung von Binärdateien: Nutzung von LTO, PGO, Entfernung von Debug-Symbolen, Minimierung von Abhängigkeiten.
  • Sicherheit: Scannen von Images auf Schwachstellen (Trivy, Snyk), Ausführen von Containern mit Non-Root-Benutzern, Seccomp-Profile.
  • Skalierung: Schreiben von C++-Diensten, die korrekt mit HPA (Horizontal Pod Autoscaler) arbeiten und bei Replikation keine Daten verlieren.
  • Debugging in der Produktion: Einsatz von perf, eBPF, gdb in Containern, Core-Dump-Analyse.


Jedes Kapitel enthält praktische Codebeispiele, fertige Dockerfiles und Kubernetes-Manifeste. Sie lernen nicht nur, C++ in Containern auszuführen, sondern dies effizient, sicher und skalierbar zu tun. Das Buch wird Ihr Nachschlagewerk beim Übergang von monolithischen C++-Systemen zu einer modernen Microservice-Architektur sein.



Die Codebeispiele sind auf GitHub verfügbar, sodass Sie das Gelernte sofort in der Praxis anwenden können.

Empfehlungen