Resilient Software Design mit Java (DE) - Training / Workshop von Trivadis Holding AG

Inhalte

Die Zeiten in denen eine Anwendung aus einem einzelnen großen Artefakt besteht, scheinen vorbei zu sein. Unter anderem im Zuge der verstärkten Containerisierung mit Docker & Co wird es immer beliebter, Anwendungen aus mehreren möglichst unabhängigen Artefakten zusammenzustellen, die über Prozessgrenzen miteinander kommunizieren. Diese Architektur ermöglicht unter anderem eine schnellere Weiterentwicklung und eine elastische Anpassung an wechselnde Lastanforderungen. Falls nun eine Vielzahl an kleineren Anwendungen eine gemeinsame Aufgabe erfüllen sollen, wird ein fehlerfreies Gesamtsystem allerdings zunehmend unwahrscheinlicher. Beim Resilient Software Design versuchen wir daher nicht mehr die Fehler zu vermeiden, sondern nehmen sie stattdessen als unvermeidbaren Teil der Software hin. Wir konzentrieren unsere Entwicklungsbemühungen auf eine möglichst schnelle und automatisierte Fehlerbehebung, um das Gesamtsystem somit widerstandsfähiger gegenüber Fehlern zu machen.

Contents

Einführung

  • Was ist Resilience - was ist Resilient Software Design?
  • Warum müssen Anwendungen widerstandsfähig sein?
  • Cloud, Microservice, Continuous Delivery & Co
  • MTTF (Mean Time To Failure) und MTTR (Mean Time To Recovery)
  • Things will crash: Automatisierung der Fehlermaßnahmen
  • Grundprinzipien: Isolation, Lose Kopplung, Redundanz und Fallback

Isolation

  • Validierung der Aufrufparameter und Rückgabewerte
  • Überblick über verschiedene Entkopplungsmechanismen
  • Failure Units
  • Infrastruktur für Resilient Software Design

Redundanz

  • Ausfallsicherheit, geringe Latenz oder Lastverteilung
  • Load Balancing und Clustering
  • Client Side Load Balancing (Ribbon)
  • Service Discovery (Eureka)
  • Distributed Caching
  • Redundanz in NoSQL Datenbanken

Lose Kopplung

  • Events und asynchrone Kommunikation
  • Circuit Breaker (Hystrix)
  • Intelligent Routing (Zuul)
  • Exactly Once- und At Least Once-Kommunikation

Fallback

  • Was passiert nach der Fehlererkennung?
  • Anfragewiederholung
  • Default Verhalten
  • Caching
  • Graceful Degradation Of Service

Sonstiges

  • Monitoring
  • Metriken
  • Verteiltes Logging
  • Verteilte Konfiguration
Requirements

Gute Java Programmierkenntnisse sind erforderlich, Grundverständnis für Microservice-Architekturen ist hilfreich.

Lernziele

  • Du erhältst einen Überblick über alle Grundkonzepte, die für die Entwicklung einer widerstandsfähigen Anwendung notwendig sind.
  • Die vermittelten Grundlagen werden durch praxisbezogene Übungen vertieft.

Zielgruppen

Als Entwickler, Berater oder Projektleiter möchtest du dich über widerstandsfähige Software informieren und die Vor- und Nachteile verstehen. Du legst Wert darauf, sowohl theoretisch als auch anhand von praxisnahen Beispielen Resilient Software erstellen zu können.

Termine und Orte

Datum Dauer Preis
Mannheim, DE
09.03.2020 7 h Jetzt buchen ›
15.06.2020 7 h Jetzt buchen ›
14.09.2020 7 h Jetzt buchen ›
02.11.2020 7 h Jetzt buchen ›

SG-Seminar-Nr.: 5210418

Anbieter-Seminar-Nr.: AD-JRESI (DE)

Termine

  • 09.03.2020

    Mannheim, DE

  • 15.06.2020

    Mannheim, DE

  • 14.09.2020

    Mannheim, DE

  • 02.11.2020

    Mannheim, DE

Preise inkl. MwSt. Es können Gebühren anfallen. Für eine exakte Preisauskunft wählen Sie bitte einen Termin aus.

Jetzt buchen ›
Seminar merken ›

Semigator berücksichtigt

  • Frühbucher-Preise
  • Last-Minute-Preise
  • Gruppenkonditionen

und verfügt über Sonderkonditionen mit einigen Anbietern.

Der Anbieter ist für den Inhalt verantwortlich.

Über Semigator mehr erfahren

  • Anbietervergleich von über 1.500 Seminaranbietern
  • Vollständige Veranstaltungsinformationen
  • Schnellbuchung
  • Persönlicher Service
Datum Dauer Preis
Mannheim, DE
09.03.2020 7 h Jetzt buchen ›
15.06.2020 7 h Jetzt buchen ›
14.09.2020 7 h Jetzt buchen ›
02.11.2020 7 h Jetzt buchen ›