Microservices helfen, flexibler und schneller auf neue Anforderungen der Digitalisierung zu reagieren. Änderungen können einfacher getestet und schneller produktiv gesetzt werden. Mehrere Teams können reibungslos unabhängig voneinander arbeiten, wodurch sich Entwicklungszeiten deutlich reduzieren.
In dieser Schulung lernst du bewährte Best Practices und konkrete Architekturmuster aus erfolgreichen Microservice-Projekten kennen. Du lernst typische Fallstricke zu erkennen und vermeidest dadurch kostspielige Fehler.
Du erfährst, unter welchen Voraussetzungen Microservices wirklich sinnvoll eingesetzt werden und wie du deren volles Potenzial ausschöpfen kannst.
Die Schulung unterstützt dich dabei Microservices effektiv einzuführen, zu betreiben und kontinuierlich weiterzuentwickeln.
Einführung
- Was ist ein Microservice?
- Welche Vor- und Nachteile haben Microservices?
- Wann sind Microservices sinnvoll und wann nicht?
- Die wichtigsten Begriffe
Microservices richtig schneiden
- Die drei Arten der verteilten Architekturen
- Wie zerlege ich einen Monolithen in sinnvolle Microservices?
- Wie unterscheiden sich Microservices und Service orientierte Architektur im Schnitt?
- Orchestration und Choreographie
- Kohäsion und Kopplung
- Granularität: Wie komplex sollte ein Mircoservice sein?
Microservices Architektur und Design
- Vergleich zwischen Monolith und Microservice
- 12 Factor App
- Conway's Law
- Funktionale Dekomposition
- Domain Driven Design (DDD) als Antwort?
APIs & Kommunikation
- OpenAPI
- Asynchrones Messaging und/oder synchrone APIs?
- Eventsourcing und reactive Microservices
Persistenz
- Datenhaltung: SQL vs. NoSQL
- Event-Sourcing in der Praxis
- Transaktionen und Konsistenz
- Persistenzmuster: Saga und Shared Database
Entwicklung
- Arbeit in Cross-funktionalen Teams
- Shared Code und Abhängigkeiten
Continuous Integration und Deployment
- Automatisiertes Testen (Unit-, API- und Integrationstests)
- Build-Automatisierung und Continuous Delivery
Microservices Patterns
- Auswahl und Einsatz der passenden Microservices Patterns
- Wechselwirkungen zwischen den Mustern
- Ausgewählte Muster: Orchestration, CQRS, Saga, Messaging, Shared Database, ...
Deployment Strategien
- Umgebungen für Entwicklung, Test und Produktion
- Automatisiertes Deployment
- Rolling Update und Phoenix Servers
- Überblick über die Laufzeitumgebungen: Docker, Spring Boot
Microservices in der Cloud
- Cloud-Besonderheiten und Deploymentstrategien
- Auswahl zwischen IaaS, PaaS und Serverless
Betrieb & DevOps
- Einführung in DevOps Kultur
- Infrastructure as Code (IaC)
- Hohe Verfügbarkeit, Skalierbarkeit und Resilienz
- Loadbalancing, Failover und Retry-Strategien
- Konfigurationsmanagement und Betriebssicherheit
Monitoring und Logging
- Performance Monitoring & Business Transaction Monitoring
- Zentrale Log-Aggregation mit Prometheus, Grafana & Loki
Implementing Microservices
- Wie kann eine bestehende Landschaft oder Architektur in eine Mircoservices Architektur umgewandelt werden?
Management und Teamorganisation
- Aufbau und Anforderungen an Microservice-Teams
- Agile Entwicklung und Minimum Viable Product (MVP)
Weitere Themen
- Praxisbeispiele und Case Studies
- Einbindung von Fremdsystemen und Standardsoftware
Zielgruppe
Softwarearchitekten, Entwickler, Administratoren und Projektleiter
Vorkenntnisse
Grundlegende IT Kenntnisse
Ziele
- Du verstehst die grundlegenden Prinzipien von Microservices
- Du kennst den Unterschied zwischen Microservices und serviceorientierten Architekturen (SOA)
- Du bist dir der Vor- und Nachteile bewusst und kannst bewerten, ob Microservices für dein Projekt geeignet sind
- Du weißt, wie du das Gelernte praktisch in deinem Team und Projekt umsetzen kannst
Deine Vorteile
- Jeder Teilnehmer erhält ein Zertifikat
- Du lernst, wie du schneller und flexibler auf neue Anforderungen reagierst
- Du erkennst, wann Microservices wirklich sinnvoll für euch sind
- Du erhältst praxiserprobte Strategien zur Vermeidung typischer Fehler
- Du erfährst, wie du Microservices zuverlässig betreibst und skalierst
- Du lernst Tools und Techniken kennen, um Software schneller auszuliefern
Dauer
2 Tage
Kursunterlage
Handouts zu den in der Schulung behandelten Themen.