FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität...
Transcript of FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität...
![Page 1: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/1.jpg)
FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen
Sommersemester 2019 Michael Theis, Lehrbeauftragter 1
![Page 2: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/2.jpg)
Was bringt uns die Cloud?
2
![Page 3: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/3.jpg)
Diese Cloud Native Firmen zeigen die gleichen Charakteristiken:
⚫ Hohe Innovationsgeschwindigkeit
⚫ Permanent verfügbare Dienste
⚫ Web Scale IT (Gartner)
⚫ Optimale User Experience auf mobilen Endgeräten
3
![Page 4: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/4.jpg)
4
Unbegrenztes Datenvolumen
• Big Data
• Hohe Verfügbarkeit durch weltweite Replikation
• Hohe Sicherheit durch redundante Abspeicherung
Unbegrenzte Rechenpower
• Rechenpower mit automatischer Lastanpassung
• Verarbeitung beliebig großer Datenmengen (auch in Echtzeit)
• Nur die genutzte Rechenleistung wird verrechnet
Unbegrenzte Bandbreite
• Gerüstet für Connected Services mit Millionen von Endgeräten
• Bereit für das Internet der Dinge (IoT)
• Dynamische Anpassung der Bandbreite in Selbstbedienung
![Page 5: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/5.jpg)
5
Agile Infrastruktur
• Provisionierung beliebiger Infrastruktur in Selbstbedienung
• Kurzfristiger Auf- und Abbau möglich
• Hohe Automatisierung (Infrastructure as Code)
• Abrechnung im Stundentakt
Eingebaute Sicherheit
• Hohe Ausfallsicherheit durch Verteilung auf mehrere Standorte
• Abschottung durch virtuelle private Netzwerke
• Permanente Sichtbarkeit des aktuellen Systemzustandes
• Robustheit durch Redundanz
• Private Direktverbindungen
![Page 6: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/6.jpg)
6
On Premise / Private Cloud
• Höchste Sicherheit
• Höchste Kontrolle
• Beschränkte Skalierbarkeit und Bandbreite
• Eingeschränkte Verteilung auf Standorte (nur wo eigene Datacenter vorhanden)
Off Premise / Public Cloud
• Ausreichende Sicherheit (AWS DE, Azure DE)
• Ausreichende Kontrolle
• Unbeschränkte Skalierbarkeit und Bandbreite
• Weltweite Verteilung auf Standorte
• Anbindung an Firmennetze möglich (Express Route, Direct Connect)
Hybrid Cloud / Multi Cloud
• Höchste Flexibilität
• Auswahl des besten Providers für die spezifische Anforderung (Bandbreite, Kosten, Office 365)
• Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich
![Page 7: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/7.jpg)
Was für eine Architektur brauchen unsere Applikationen für die Cloud?
7
![Page 9: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/9.jpg)
9
Micro-services
12 FactorApps
Agile Infrastruktur mit Selbst-bedienung
Voll-automati-
siertesDeploy-
ment
API-basierte Zusammen-
arbeit
Anti-fragilität
Cloud Native Architecture
![Page 10: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/10.jpg)
10
Micro-services
12 FactorApps
Agile Infrastruktur mit Selbst-bedienung
Voll-automati-
siertesDeploy-
ment
API-basierte Zusammen-
arbeit
Anti-fragilität
Cloud Native Architecture
![Page 11: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/11.jpg)
11
(1) CodebaseEine Codebasis unter Versions-kontrolle mit vielen Deployments
(2) AbhängigkeitenDeklariere und isoliere Abhängigkeiten explizit
(3) KonfigurationSpeichere Konfiguration in der Umgebung ab
(4) Unterstützende DiensteBehandle unterstützende Dienste (u.a. DBs) wie angehängte Ressourcen
(5) Build Release RunTrenne die Build-Phase strikt von der Run-Phase
(6) ProzesseFühre deine App als einen oder mehrere zustandslose Prozesse aus
(7) Bindung an PortsExportiere Dienste über Port-Bindungen
(8) NebenläufigkeitSkaliere über das Prozessmodell(9) Verfügbarkeit
Maximiere Robustheit durch schnelles Hochfahren und problemlosen Runterfahren
(10) Parität zwischen DEV und PRODHalte alle Umgebungen so gleich wie möglich
(11) LogsBehandle Logs wie Ereignisströme
(12) Admin-ProzesseFühre Verwaltungsaufgaben als Einmal-Prozess aus
12 FactorApps
Quelle: https://12factor.net
![Page 12: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/12.jpg)
12
(13) API FirstDefiniere deine API (= Consumer Driven Contract) als erstes und setze auf Consumer-Driven-Contract-Testing.
12+ FactorApps
(14) Trenne Credentials von Konfiguration & CodeCredentials gehören in einen Secret Store!
(15) Binde Services über NamenBinde Services immer über Namen und nie über IPs oder Ports
(16) Teile nichtsTeile keine Datenbank, kein Dateisystem und kein Domänenmodell
(17) Halte keinen Zustand vorJeder API-Call ist auf sich allein gestellt (keine HTTP-Session, keine Session-Stickiness).
(18) Tokenbasierte Authentisierung & AutorisierungZustandslose App kann keine Informationen über angemeldeten Benutzer halten => Aufrufer muss diese liefern => Einsatz von tokenbasierter Security erforderlich
(19) TelemetrieEine App in der Cloud ist wie eine Sonde im Weltraum: kein SSH, keine Logdateien => Einsatz und Integration von Monitoring- und Log-Analyse- Tools unausweichlich
(20) BASE statt ACIDVerteilte Transaktionen über lose gekoppelte Services nicht umsetzbar => Stelle dich auf eventuelle Konsistenz ein und priorisiere nach dem CAP-Theorem
Quelle: Kevin Ho€man Beyond the Twelve-Factor App Exploring the DNA of Highly Scalable, Resilient Cloud Applications von Pivotal
![Page 13: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/13.jpg)
13
Micro-services
12 FactorApps
Agile Infrastruktur mit Selbst-bedienung
Voll-automati-
siertesDeploy-
ment
API-basierte Zusammen-
arbeit
Anti-fragilität
Cloud Native Architecture
![Page 14: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/14.jpg)
14
Microservices sind ein Architekturmuster der Informationstechnik, bei dem komplexe Anwendungssoftware aus unabhängigen Prozessen komponiert wird, die untereinander mit sprachunabhängigen Programmierschnittstellen kommunizieren. Die Dienste sind weitgehend entkoppelt und erledigen eine kleine Aufgabe. So ermöglichen sie einen modularen Aufbau von Anwendungssoftware.
Quelle: Wikipedia; https://de.wikipedia.org/wiki/Microservices
![Page 15: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/15.jpg)
15
• Eine Plattform
• Eine Datenbank
• Ein Prozess, eine Deployment Unit, ein Release
• Hohe Einheitlichkeit
• Hohe Abhängigkeit
• Großes Team mit klaren Rollen
• Unterschiedliche Plattformen
• Polyglotte Persistenz
• Viele Prozesse, viele Deployment Units, viele Releases
• Hohe Flexibilität
• Keine Abhängigkeit
• Kleine cross-funktionale Teams
Monolith Microservices
![Page 16: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/16.jpg)
16
Modelliert um eine Geschäftsdomäne
Prinzipien von Microservices
Quelle: Sam New, Building Microservices
Kultur der AutomatisierungVerstecke Details der
Implementierung
Dezentralisiere alle Dinge
Deploye unabhängig
Consumer FirstIsoliere Fehler
Hohe Überwachbarkeit
![Page 17: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/17.jpg)
17
Micro-services
12 FactorApps
Agile Infrastruktur mit Selbst-bedienung
Voll-automati-
siertesDeploy-
ment
API-basierte Zusammen-
arbeit
Anti-fragilität
Cloud Native Architecture
![Page 18: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/18.jpg)
⚫ Benötigte Infrastruktur und Services kann sich jeder selber provisionieren (Kiosk)
⚫ Provisionierung von Infrastruktur dauert Minuten statt Monate
⚫ Unterstützt Automatisierung (Infrastructure as Code)
⚫ Abgerechnet werden nur die tatsächlich genutzten Ressourcen
⚫ Status der provisionierten Ressourcen für jedermann einsehbar
⚫ Verantwortung für provisionierte Ressourcen wandert ins Entwicklungsteam (DevOps)
18
![Page 19: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/19.jpg)
19
Plattform für Produktionsumgebungen
Plattform für Integrations- und Testumgebungen
Plattform für Toolchains
INT A INT BTEST A TEST B
PROD A PROD B PROD C
Tools A Tools B Tools C
PlattformenProdukte
AgilesDevOps-Team
Produktentwicklung
AgilesDevOps-Team
Plattformbetrieb
![Page 20: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/20.jpg)
20
Micro-services
12 FactorApps
Agile Infrastruktur mit Selbst-bedienung
Voll-automati-
siertesDeploy-
ment
API-basierte Zusammen-
arbeit
Anti-fragilität
Cloud Native Architecture
![Page 21: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/21.jpg)
Commit Stage
•Wird durch Commit angestoßen
•Checkt Code aus
•Kompiliert Code
•Führt Unit-Tests durch
•Analysiert Code
•Erstellt Artefakt (Deployment Unit)
Integration Test Stage
•Deployt Artefakt auf Integrations-Umgebung
•Führt System-Tests aus
•Rollt bei Problemen automatisch auf Vorgängerversion zurück
User Acceptance Test Stage
•Deployt Artefakt auf User-Acceptance-Test-Umgebung
•Führt System-Tests durch
•Tester führen manuelle Abnahme-Tests durch
•Product Owner gibt Artefakt für Produktion frei
•Rollt bei Problemen automatisch auf Vorgängerversion zurück
Capacity Test Stage
•Deployt Artefakt auf Capacity-Test-Umgebung
•Führt System-Tests durch
•Führt Last- und Stress-Tests durch
Production Stage
•Deployt Artefakt auf Produktions-Umgebung
•Führt System-Tests durch
•Rollt bei Problemen automatisch auf Vorgängerversion zurück
21
![Page 22: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/22.jpg)
22
ContinuousIntegration Server
Code Quality Analyzer
Integration Test
User Acceptance
Test
CapacityTest
Production
Build Tool
Version Control System
deploy artifact,run tests
run analysis
build artifact
deploy artifact,run tests
deploy artifact,run tests
deployartifact,run testsArtifact
Repository
push/pull artifact
Drone
Jenkins
Test Tools
test artifact
Gitea
trigger build
![Page 23: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/23.jpg)
23
Micro-services
12 FactorApps
Agile Infrastruktur mit Selbst-bedienung
Voll-automati-
siertesDeploy-
ment
API-basierte Zusammen-
arbeit
Anti-fragilität
Cloud Native Architecture
![Page 24: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/24.jpg)
⚫ Motivation: Verbergen von Implementierungsdetails gegenüber dem Nutzer
⚫ Außer der API wird nichts mehr geteilt
⚫ Synchrone und asynchrone Kommunikation möglich
⚫ Zahlreiche Herausforderungen Kompatibilität, Granularität, Austausch
großer Datenmengen, Orchestrierung oder Choreographie, HATEOAS
⚫ Consumer Driven Testing erforderlich
24
![Page 25: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/25.jpg)
25
Micro-services
12 FactorApps
Agile Infrastruktur mit Selbst-bedienung
Voll-automati-
siertesDeploy-
ment
API-basierte Zusammen-
arbeit
Anti-fragilität
Cloud Native Architecture
![Page 26: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/26.jpg)
26
Antifragilität ist mehr als Resilienz oder Robustheit. Das Resiliente, das Widerstandsfähige widersteht Schocks und bleibt sich gleich; das Antifragile wird besser […]Das Antifragile steht Zufälligkeit und Ungewissheit positiv gegenüber, und das beinhaltet auch – was entscheidend ist – die Vorliebe für eine bestimmte Art von Irrtümern. Antifragilität hat die einzigartige Eigenschaft, uns in die Lage zu versetzen, mit dem Unbekannten umzugehen, etwas anzupacken – und zwar erfolgreich –, ohne es zu verstehen.
Quelle: Nassim Nicholas Taleb, Antifragilität, S.21/22
![Page 27: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/27.jpg)
⚫ In massiv verteilten Systemen lautet die Frage nicht, ob Fehler auftreten werden sondern wann sie auftreten werden!
⚫ Motivation: Antifragile Systeme werden durch Ausfälle besser
⚫ Extrem erfolgreiches Beispiel für Antifragilität durch Chaos Engineering: Netflix mit seiner Simian Army
⚫ Bestimmte Patterns helfen bei der Umsetzung von Antifragilität
27
![Page 28: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/28.jpg)
⚫ Sind leicht zu übersehen aber essentiell wichtig
⚫ Aufrufe aus eigenem Prozess heraus mit Timeouts versehen
⚫ Eintretende Timeouts müssen am besten aktiv überwacht jedoch mindestens passiv protokolliert werden
⚫ Finden des richtigen Timeout-Wertes ist harte Arbeit!
28
We discovered the hard way that systems that just act slow are much harder to deal with than systems that just fail fast.
Quelle: Sam Newman, Building Microservices, S. 210.
![Page 29: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/29.jpg)
29
Upstream Service
Downstream ServiceCaller
Upstream Service
Downstream ServiceCaller
Upstream Service
Downstream ServiceCaller
Upstream Service
Downstream ServiceCaller
(1) Aufrufe schlagen fehl oder laufen in Timeout
(2) Die Verbindung wird unterbrochen bei Erreichen eines Schwellwertes und Aufrufe schlagen schnell fehl
(3) Verfügbarkeit wird periodisch überprüft und Aufrufe schlagen schnell fehl
(4) Verbindung wird wieder hergestellt, wenn Schwellwert für positive Gesundheitschecks erreicht. Aufrufe werden wieder durchgereicht.
Quelle: Michael Nygard
![Page 30: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/30.jpg)
30
Upstream Service
Downstream Service
Connection Pool
Caller
Upstream Service
Caller CallerCaller
Downstream Service
Downstream Service
Downstream Service
Connection Pool Connection Pool
Gemeinsamer Connection Pool / Thread Pool
• Ausfall eines Downstream Services führt zum Verhungern des Pools
• Alle Nutzer des gemeinsamen Pools betroffen
Getrennte Connection Pools / Thread Pools
• Ausfall eines Downstream Services führt nur zum Verhungern des zugeordneten Pools
• Nur Nutzer des dedizierten Pools betroffen
![Page 31: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/31.jpg)
31
![Page 32: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/32.jpg)
32
![Page 33: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/33.jpg)
⚫ Josh Long, Kenny Bastani: Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud and Cloud FoundryO´Reilly UK Ltd, 1. Auflage, 22. August 2017; ISBN 978-1449374648
⚫ Sam Newman: Building Microservices: Designing Fine Grained SystemsO´Reilly & Associates, 1. Auflage, 25. September 2015; ISBN 978-1491950357
⚫ Michael T. Nygard: Release It! Design and Deploy Production-Ready SoftwareThe Pragmatic Bookshelf, 1. Auflage, 12. Juli 2017, ISBN 978-0978739218
⚫ Casey Rosenthal, Lorin Hochstein, Aaron Blohowiak, Nora Jones, Ali BasiriChaos Engineering: Building Confidence in System Behavior Through ExperimentsO´Reilly Media, Inc; 1. Auflage August 2017; eBook
⚫ Eric Evans: Domain Driven Design: Tackling Complexity in the Heart of SoftwareAddison Wesley 2004; ISBN 0-321-12521-5
⚫ Nassim Nicholas Taleb: Antifragile: Things that Gain from DisorderPenguin, 6. Juni 2013; ISBN 978-0141038223
33Sommersemester 2019 Michael Theis, Lehrbeauftragter
![Page 34: FWP Aktuelle Technologien zur Entwicklung verteilter Java … · 2019-03-21 · •Portabilität durch Cross-Cloud-Plattformen wie Cloud Foundry oder OpenShift möglich. Was für](https://reader033.fdokument.com/reader033/viewer/2022060409/5f1023aa7e708231d447a434/html5/thumbnails/34.jpg)
Michael TheisLehrbeauftragter Hochschule München
email [email protected] + 49 170 5403805web http://www.tschutschu.de/Lehrauftrag.html
34