Schulung: Microservices

Microservices helfen Unternehmen mit ständigen Veränderungen zurechtzukommen. Von früheren Ansätzen wie zum Beispiel der SOA hat man bei den Microservices gelernt und begegnet den Problemen der Entwicklung und des Betriebes mit agilen Ansätzen wie z.B. dem Continuous Delivery und DevOps.

Best Practices und Muster der Microservices finden sich in vielen erfolgreichen Software Projekten der letzten Jahre wieder.

Dieser Kurs ist für Architekten und Entwickler, die selbst Microservices in ihren Unternehmen einführen und entwickeln möchten.

Einführung

  • Was ist ein Microservice?
  • Welche Vor- und Nachteile haben Microservices?
  • Wann sind Microservices sinnvoll und wann nicht?
  • Die wichtigsten Begriffe

Service Schnitt

  • Die drei Arten der verteilten Architekturen
  • Wie zerlege ich einen Monolithen in Microservices?
  • Wie untercheiden 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?

Kommunikation

  • Synchrone und asynchrone Kommunikation
  • Messaging und/oder REST?
  • Reactive Microservices

Persistenz

  • Datenhaltung im Service
  • Datenhaltung mit SQL und/oder NoSQL
  • NoSQL am Beispiel von Apache Cassandra
  • Eventsourcing

Entwicklung

  • Shared Code und Abhängigkeiten

Continuous Integration, Delivery und Deployment

  • Unit-, Integration-, API- und End-to-End Tests
  • Build- und Test-Automation
  • Continuous Deployment am Beispiel einer Jenkins2 Pipeline

Microservices Patterns

  • Circuit Breaker
  • Immutable Servers
  • Service Discovery
  • Bulkhead
  • Control Bus

Deployment

  • Umgebungen für Entwicklung, Test und Produktion
  • Blue/Green Deployment, Rolling Update
  • Phoenix Servers
  • Automatisiertes Deployment
  • Verteilung von Services auf Hosts
  • Überblick über die Laufzeitumgebungen: Docker, Spring Boot

Microservices in der Cloud

  • Besonderheiten der Cloud
  • Deployment in der Cloud
  • IaaS oder PaaS?

Betrieb & DevOps

  • DevOps Kultur
  • Infrastructure as Code
  • Verfügbarkeit & Skalierbarkeit
  • Loadbalancing, Failover und Retry
  • Wie Mircoservices einen stabilen Betrieb ermöglichen
  • Konfigurationsmanagement

Monitoring und Logging

  • Health? Sind meine Services gesund?
  • Performance Monitoring
  • Welche Metriken sollen überwacht werden?
  • Zentrale Log-Aggregation
  • Visualisierung von Messwerten
  • Tracking von Business Vorgängen mit dem CorrelationId Muster
  • Werkzeuge: ELK Stack, Grafana, Prometheus, ...

Versionierung

  • Do not break! Das Tolerant Reader Muster
  • Früh erkennen, wann eine Schnittstelle bricht
  • Werkzeuge

Implementing Microservices

  • Wie kann eine bestehende Landschaft oder Architektur in eine Mircoservices Architektur umgewandelt werden?

Sicherheit

  • Absicherung der Kommunikation zwischen Services
  • Single Sign On mit OAuth 2 und JWT
  • SSL/TLS in der Cloud

Management

  • Wie bildet man ein Microservices Team?
  • Welche Fähigkeiten werden gebraucht?
  • Wer übernimmt das Release Management?
  • Wie passen Projektmanagement und agiles Vorgehen zusammen?
  • Minimum viable Product MVP

Weitere Themen

  • Praxisbeispiele und Case Studies
  • Einbindung von Fremdsystemen und Standardsoftware

Zielgruppe

Softwarearchitekten, Entwickler, Administratoren, Projektleiter

Vorkenntnisse

Grundlegende IT Kenntnisse

Ziele

  • Du weißt, was Microservices sind und kennst ihre Ideen und Prinzipien
  • Du kennst den Unterschied zwischen Microservices und Service Orientierung
  • Du kennst die Vorteile und Nachteile der Microservices Architektur
  • Du kannst die Erkenntnisse aus dem Kurs auf dein Projekt und Team übertragen

Deine Vorteile

  • Du lernst die wichtigsten Begriffe um dich mit Microservices Experten austauschen zu können.
  • Erfahre, wo die Schwierigkeiten bei der Umsetzung von Microservices liegen und wie du diese vermeiden kannst
  • Erfahre wie Microservices zuverlässig betrieben werden können
  • Wie Du mit Microservices ständige Veränderung in den Griff bekommen kannst
  • Erfahre, wie man Software schneller ausliefert.
  • Du bekommst nützliche Tools vorgestellt, die die Entwickung und den Betrieb von Microservices erleichtern
  • Du erlebst in zwei Tagen zahlreiche Tools im Einsatz und bekommst so eine gute Vorstellung über Microservices.
  • Vermeide die üblichen Stolpersteine und profitiere von der Erfahrung des Trainers
  • Du Lernst nützliche Tools und Hilfsmittel kennen, die Entwicklung, Test und Betrieb von Microservices vereinfachen.

Dauer

2 Tage

Kursunterlage

Handouts aller in der Schulung präsentierten Folien.

* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer

Alle Schulungen jetzt auch als Webinar & Online Training.

Kleine Gruppen

Nur maximal 4 Teilnehmer pro Kurs! (bis zum 31. Juli)

Überblick

Übungsanteil: 20 %
Schwierigkeitsgrad: mittel


10. - 11.9.20 Bonn
2. - 3.11.20 Bonn

Teilnahme: 1.280,- €*

Jetzt anmelden

Stornierung ist jederzeit ohne Angabe von Gründen möglich!

📞 (0228) 5552576-0
Lass dich beraten. Welche Schulung passt am besten?