SlideShare ist ein Scribd-Unternehmen logo
ChristophThelen
Christoph.thelen@qaware.de
Reactive Systems
Mainz, 14. März 2018
Von Reactive Programming
zu Reactive Systems
Reactive Programming bietet
Effiziente Applikationen
Geringer Ressourcenverbrauch
Gute Abstraktion für Parallelität
Bessere Skalierung unter Last
RP 2 RS
QAware 3
RP 2 RS – Microservice Systeme
QAware 4
Externe/interne Vernetzung steigt
Parallelität auf System-Ebene
Dezentrale Datenhaltung
Kaskadierende Fehler
Anforderungen an Systeme steigen
Antwortzeit
Durchsatz
Zuverlässigkeit
 „Responsive“
RP 2 RS
QAware 5
Liefert immer eine zeitnahe Antwort
Probleme
werden schnell entdeckt
werden effektiv behandelt
Konsistente Quality of Service
Vereinfacht Fehlerbehandlung
Erhöht das Benutzervertrauen
Responsive
QAware 6
Reactive Manifesto
QAware 7
Responsive
Message Driven
Elastic Resilient
Nachrichten
Daten mit festem Ziel
(Abstrakt) Adressierbarer Empfänger
Queue
Topic
(Events: Daten mit adressierbarer Quelle)
Vorteile
Räumliche Entkopplung
Zeitliche Entkopplung
Message Driven
QAware 8
Responsiveness under load
Hoch und runter skalieren nach Bedarf
Cloud-Computing Vorteile
Ressourcen-Effizienz
Kosten-Effizienz
Pay-per-use
Relocation von Services
Elastic
QAware 9
Responsiveness under failure
System-inhärente Eigenschaft
Im Design verankert
Mehr als Fehlertoleranz
„Graceful degradation“
Selbstheilung
Isolation/Containement
Supervision
Resilient
QAware 10
Bausteine
Asynchrone Nachrichten
Vertikale Skalierbarkeit
Räumliche Entkopplung
Zeitliche Entkopplung
Ähnelt menschlicher Interaktion
Keine vorgetäuschte Synchronität
Latenz
Partielle Fehler
Location Transparency
Kein verteilter Zustand
Kommunikation
QAware 12
Back-Pressure
Empfänger bestimmt die Nachrichtenmenge
Weitere Kontroll-Möglichkeiten
Bounded Queue mit verschiedenen Strategien
Älteste Nachricht löschen
Neueste Nachricht löschen
Alle Nachrichten löschen
Mehrere Queues mit Prioritäten
Monitoring auf Queues
Kommunikation – Flow Control
QAware 13
Containement und Isolation
Fehler am Entstehungsort behandeln
Kaskadierende Fehler verhindern
Supervision
Hierarchische Fehlerbehandlung
Nicht unbedingt analog zur fachlichen Hierarchie
Impliziert Lebenszyklus-Kontrolle
Fehlerisolation
QAware 14
Supervision
There is no two phase commit!
Kein Konzept für ein übergreifendes „Jetzt“
Oracle Transaction Manager documentation: “The commit point should be a system with low latency
and always available“
Ideal: Keine verteilten Transaktionen
Passende Systemarchitektur und Prozesse
Anforderungen genau prüfen
Alternative: SAGAs
Definiere Teiltransaktionen mit Kompensation
Eventbasierte Steuerung oder zusätzlicher Prozess
Orchestriert die Transaktion
Speichert Zustand
Sorgt ggf. für die Auslösung der Kompensationstransaktionen
Two Phase Commit
QAware 15
Bulkheads grenzen Fehler ein
Supervisor Hierarchien
Bieten verschiedene Reaktionsmöglichkeiten auf Fehler
Ermöglichen Selbstheilung
Kommunikation durch Nachrichten und Location Transparency
Komponenten austauschen, verschieben, skalieren
Senkt die Dringlichkeit und Kosten von Ausfällen
Fachliche Komplexität sichtbar machen
Implizite Komplexität vermeiden
Erhöhte Produktivität
Für Architekten
Für DevOps
Fazit
QAware 16
ChristophThelen
christoph.thelen@qaware.de github.com/qaware
linkedin.com/qaware slideshare.net/qaware
twitter.com/qaware xing.com/qaware
youtube.com/qawaregmbh
Bonus
Globale Konsistenz ist teuer
Gekapselte Module
Starke Konsistenz intern
„Eventually consistent“ untereinander
Schnitt der Module
Single Responsibility Principle
Domain Driven Design  Aggregate
Veränderlicher Zustand nur intern
Extern: Fakten/Events
Konsistenz
QAware 19
QAware GmbH Mainz
Rheinstraße 4 D
55116 Mainz
Tel.: +49 (0) 6131 215 69 – 0
Fax: +49 (0) 6131 215 69 – 68 github.com/qaware
linkedin.com/qaware slideshare.net/qaware
twitter.com/qaware xing.com/qaware
youtube.com/qawaregmbh

Weitere ähnliche Inhalte

Ähnlich wie Reactive Systems

Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
QAware GmbH
 
Webinar- Lösungsorientierte Integration vorhandener Werkzeuge in ein Applicat...
Webinar- Lösungsorientierte Integration vorhandener Werkzeuge in ein Applicat...Webinar- Lösungsorientierte Integration vorhandener Werkzeuge in ein Applicat...
Webinar- Lösungsorientierte Integration vorhandener Werkzeuge in ein Applicat...
Minerva SoftCare GmbH
 
Cloud Ready? Migration von Anwendungen in die Cloud
Cloud Ready? Migration von Anwendungen in die CloudCloud Ready? Migration von Anwendungen in die Cloud
Cloud Ready? Migration von Anwendungen in die Cloud
QAware GmbH
 
Innovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenInnovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzen
Amazon Web Services
 
Zeitreihen in Apache Cassandra
Zeitreihen in Apache CassandraZeitreihen in Apache Cassandra
Zeitreihen in Apache Cassandra
Brockhaus Consulting GmbH
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
NETWAYS
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
QAware GmbH
 
Refactoring Rails Applications
Refactoring Rails ApplicationsRefactoring Rails Applications
Refactoring Rails Applications
Jonathan Weiss
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
matfsw
 
TRANSCONNECT® cloud (SQL Projekt AG)
TRANSCONNECT® cloud (SQL Projekt AG)TRANSCONNECT® cloud (SQL Projekt AG)
TRANSCONNECT® cloud (SQL Projekt AG)
SQL Projekt AG
 
EventDB - Hamburg 2013
EventDB - Hamburg 2013EventDB - Hamburg 2013
EventDB - Hamburg 2013
NETWAYS
 
On the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceOn the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a Service
Stefan Kolb
 
Tempo und Ausdauer in Software-Projekten
Tempo und Ausdauer in Software-ProjektenTempo und Ausdauer in Software-Projekten
Tempo und Ausdauer in Software-Projekten
QAware GmbH
 
Microservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenMicroservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen sollten
Jan Thielscher
 
Produktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AGProduktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AG
SQL Projekt AG
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes
QAware GmbH
 
SAP DevOps Handout
SAP DevOps HandoutSAP DevOps Handout
SAP DevOps Handout
Joerg Landwehr
 
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private CloudMobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
CANCOM
 
SOA Suite 11g Deep Dive
SOA Suite 11g Deep DiveSOA Suite 11g Deep Dive
SOA Suite 11g Deep Dive
esentri AG
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
QAware GmbH
 

Ähnlich wie Reactive Systems (20)

Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Webinar- Lösungsorientierte Integration vorhandener Werkzeuge in ein Applicat...
Webinar- Lösungsorientierte Integration vorhandener Werkzeuge in ein Applicat...Webinar- Lösungsorientierte Integration vorhandener Werkzeuge in ein Applicat...
Webinar- Lösungsorientierte Integration vorhandener Werkzeuge in ein Applicat...
 
Cloud Ready? Migration von Anwendungen in die Cloud
Cloud Ready? Migration von Anwendungen in die CloudCloud Ready? Migration von Anwendungen in die Cloud
Cloud Ready? Migration von Anwendungen in die Cloud
 
Innovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenInnovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzen
 
Zeitreihen in Apache Cassandra
Zeitreihen in Apache CassandraZeitreihen in Apache Cassandra
Zeitreihen in Apache Cassandra
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Refactoring Rails Applications
Refactoring Rails ApplicationsRefactoring Rails Applications
Refactoring Rails Applications
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
TRANSCONNECT® cloud (SQL Projekt AG)
TRANSCONNECT® cloud (SQL Projekt AG)TRANSCONNECT® cloud (SQL Projekt AG)
TRANSCONNECT® cloud (SQL Projekt AG)
 
EventDB - Hamburg 2013
EventDB - Hamburg 2013EventDB - Hamburg 2013
EventDB - Hamburg 2013
 
On the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceOn the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a Service
 
Tempo und Ausdauer in Software-Projekten
Tempo und Ausdauer in Software-ProjektenTempo und Ausdauer in Software-Projekten
Tempo und Ausdauer in Software-Projekten
 
Microservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen solltenMicroservices - Was EAs zu Microservices wissen sollten
Microservices - Was EAs zu Microservices wissen sollten
 
Produktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AGProduktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AG
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes
 
SAP DevOps Handout
SAP DevOps HandoutSAP DevOps Handout
SAP DevOps Handout
 
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private CloudMobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
Mobiles und flexibles Arbeiten mit der CANCOM AHP Private Cloud
 
SOA Suite 11g Deep Dive
SOA Suite 11g Deep DiveSOA Suite 11g Deep Dive
SOA Suite 11g Deep Dive
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 

Mehr von QAware GmbH

Frontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdfFrontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdf
QAware GmbH
 
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
QAware GmbH
 
50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
QAware GmbH
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
QAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
QAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
QAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
QAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
QAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
QAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
QAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
QAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 

Mehr von QAware GmbH (20)

Frontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdfFrontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdf
 
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
 
50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 

Reactive Systems

  • 2. Von Reactive Programming zu Reactive Systems
  • 3. Reactive Programming bietet Effiziente Applikationen Geringer Ressourcenverbrauch Gute Abstraktion für Parallelität Bessere Skalierung unter Last RP 2 RS QAware 3
  • 4. RP 2 RS – Microservice Systeme QAware 4
  • 5. Externe/interne Vernetzung steigt Parallelität auf System-Ebene Dezentrale Datenhaltung Kaskadierende Fehler Anforderungen an Systeme steigen Antwortzeit Durchsatz Zuverlässigkeit  „Responsive“ RP 2 RS QAware 5
  • 6. Liefert immer eine zeitnahe Antwort Probleme werden schnell entdeckt werden effektiv behandelt Konsistente Quality of Service Vereinfacht Fehlerbehandlung Erhöht das Benutzervertrauen Responsive QAware 6
  • 8. Nachrichten Daten mit festem Ziel (Abstrakt) Adressierbarer Empfänger Queue Topic (Events: Daten mit adressierbarer Quelle) Vorteile Räumliche Entkopplung Zeitliche Entkopplung Message Driven QAware 8
  • 9. Responsiveness under load Hoch und runter skalieren nach Bedarf Cloud-Computing Vorteile Ressourcen-Effizienz Kosten-Effizienz Pay-per-use Relocation von Services Elastic QAware 9
  • 10. Responsiveness under failure System-inhärente Eigenschaft Im Design verankert Mehr als Fehlertoleranz „Graceful degradation“ Selbstheilung Isolation/Containement Supervision Resilient QAware 10
  • 12. Asynchrone Nachrichten Vertikale Skalierbarkeit Räumliche Entkopplung Zeitliche Entkopplung Ähnelt menschlicher Interaktion Keine vorgetäuschte Synchronität Latenz Partielle Fehler Location Transparency Kein verteilter Zustand Kommunikation QAware 12
  • 13. Back-Pressure Empfänger bestimmt die Nachrichtenmenge Weitere Kontroll-Möglichkeiten Bounded Queue mit verschiedenen Strategien Älteste Nachricht löschen Neueste Nachricht löschen Alle Nachrichten löschen Mehrere Queues mit Prioritäten Monitoring auf Queues Kommunikation – Flow Control QAware 13
  • 14. Containement und Isolation Fehler am Entstehungsort behandeln Kaskadierende Fehler verhindern Supervision Hierarchische Fehlerbehandlung Nicht unbedingt analog zur fachlichen Hierarchie Impliziert Lebenszyklus-Kontrolle Fehlerisolation QAware 14 Supervision
  • 15. There is no two phase commit! Kein Konzept für ein übergreifendes „Jetzt“ Oracle Transaction Manager documentation: “The commit point should be a system with low latency and always available“ Ideal: Keine verteilten Transaktionen Passende Systemarchitektur und Prozesse Anforderungen genau prüfen Alternative: SAGAs Definiere Teiltransaktionen mit Kompensation Eventbasierte Steuerung oder zusätzlicher Prozess Orchestriert die Transaktion Speichert Zustand Sorgt ggf. für die Auslösung der Kompensationstransaktionen Two Phase Commit QAware 15
  • 16. Bulkheads grenzen Fehler ein Supervisor Hierarchien Bieten verschiedene Reaktionsmöglichkeiten auf Fehler Ermöglichen Selbstheilung Kommunikation durch Nachrichten und Location Transparency Komponenten austauschen, verschieben, skalieren Senkt die Dringlichkeit und Kosten von Ausfällen Fachliche Komplexität sichtbar machen Implizite Komplexität vermeiden Erhöhte Produktivität Für Architekten Für DevOps Fazit QAware 16
  • 18. Bonus
  • 19. Globale Konsistenz ist teuer Gekapselte Module Starke Konsistenz intern „Eventually consistent“ untereinander Schnitt der Module Single Responsibility Principle Domain Driven Design  Aggregate Veränderlicher Zustand nur intern Extern: Fakten/Events Konsistenz QAware 19
  • 20. QAware GmbH Mainz Rheinstraße 4 D 55116 Mainz Tel.: +49 (0) 6131 215 69 – 0 Fax: +49 (0) 6131 215 69 – 68 github.com/qaware linkedin.com/qaware slideshare.net/qaware twitter.com/qaware xing.com/qaware youtube.com/qawaregmbh