Zusammenfassung

Microservices sind ein Architekturstil, dessen Hauptziel es ist, agile Software-Entwicklung über die Architektur zu skalieren. Dieser Ansatz beinhaltet die Aufteilung in einzelne Deployment-Einheiten, was zu einer starken Entkopplung führt. Das Training führt in den Architekturstil der Microservices ein. Die Vor- und Nachteile einer Microservices-Architektur werden aufgezeigt. In praktischen Beispielen werden die grundlegenden Konzepte zur Implementierung von Microservices (mit Hilfe von Java) vermittelt. Anhand der Beispiele werden gängige Lösungen und Architekturmuster, die im Zuge einer Microservices-Architektur hilfreich sind, aufgezeigt. Darüber hinaus lernen Sie die Auslieferung und den Betrieb von Microservices auf Cloud-Infrastruktur (Amazon Web Services - AWS) kennen.

Dauer: 2 Tage

Zielgruppe

  • Softwareentwickler
  • Softwarearchitekten

Voraussetzungen

  • Grundkenntnisse in Java und Verteilten Systemen.
  • Grundkenntnisse in Docker wünschenswert

Gliederung

  1. Einleitung
    • Warum Microservices?
    • Microservices vs. Monolithische Architekturen
    • Microservices vs. SOA
    • Vorteile und Kosten von Microservices
    • Evolutionäre Entwicklung
  2. Dezentralisierung
    • Conway’s Law
    • Services als Komponenten
    • Micro-/Macro-Architektur
    • Domain Driven Design
      • Bounded Contexts
      • Event Storming
    • Wie groß ist “micro”?
  3. Kommunikation
    • REST/HTTP
    • Messaging
    • RPC
    • GraphQL
    • Design for Failure
    • Orchestration vs. Choreography
  4. Persistenz
    • Gemeinsame Datenbank
    • Datenbank pro Service
    • NoSQL
  5. Benutzerschnittstellen
    • Server-seitige Komposition
    • Client-seitige Komposition
  6. Testen von Microservices
    • Automatisierung
    • Consumer-Driven Contracts
  7. Microservices in der Cloud
    • Microservices-Chassis
    • 12 Factor App and Beyond …
    • Container as a Service (CaaS) und Platform as a Service (PaaS)
    • Bereitstellung (AWS - Amazon Web Services)
  8. Betrieb
    • Logging
    • Monitoring
    • Tracing
  9. Microservices on a Big Scale
    • Service Discovery
    • Load Balancing
    • Resilienz
  10. Vom Monolithen zu Microservices
  11. Warum nicht Microservices?
  12. Ausblick
    • Nanoservices
    • Self-Contained Systems (SCS)
    • Sicherheit