SlideShare ist ein Scribd-Unternehmen logo
#WISSENTEILEN
Zukunftssichere
Architekturen
mit Microservices
Arne Limburg
@ArneLimburg | @_openknowledge
#WISSENTEILEN
SOA
#WISSENTEILEN
Monolith
#WISSENTEILEN
Verteilte
Systeme
#WISSENTEILEN
Microservices
klein
#WISSENTEILEN
„Eine Einheit, die von einem kleinen Team
komplett – also fachlich und technisch –
beherrscht werden kann.”
Oliver Wegner (ehemals OTTO)
#WISSENTEILEN
Microservices
klein
lose gekoppelt
SERVICESCHNITT NACH DOMAINOBJECTS?
Customer
ShoppingCart
Product
Customer
ShoppingCart
Product
SERVICESCHNITT NACH DOMAINOBJECTS?
Microservices maßgeschneidert | Arne Limburg
„If every service has to be updated
at the same time, it‘s
not loosely coupled”
by Adrian Cockcroft (ehemals Netflix)
Customer
ShoppingCart
Product
SERVICESCHNITT NACH DOMAINOBJECTS?
#WISSENTEILEN
Bounded Context?
• Klare Grenzen
• Business-Prozesse
• Inkonsistenzen vermeiden
• e.g. „check out“
• e.g. „search products“
• e.g. „my recommendations“
SERVICESCHNITT NACH BOUNDED CONTEXTS
GEMEINSAME OBJEKTE?
GEMEINSAME DATEN?
#WISSENTEILEN
Microservices
klein
lose gekoppelt
robust
Resilience &
Compensation
Shipping
SERVICE NICHT VERFÜGBAR
SERVICE NICHT VERFÜGBAR
Observability
#WISSENTEILEN
Microservices
klein
lose gekoppelt
robust
Tolerant Reader Pattern
Tolerant gegenüber unbekannten Feldern
Umgang mit x-extensible-enum
http://zalando.github.io/restful-api-guidelines
Beispiel
address_type:
type: string
x-extensible-enum:
- private
- business
EXKURS: X-EXTENSIBLE-ENUM
Tolerant Reader Pattern
Tolerant gegenüber unbekannten Feldern
Umgang mit x-extensible-enum
http://zalando.github.io/restful-api-guidelines
Tolerant gegenüber unbekannten Statuscodes
HTTP Status 301 folgen
Photo by Irene Fertik, USC News Service. Copyright 1994, USC.
„Be conservative in what you do,
Be liberal in what you accept
from others“
RFC 793, Robustness Principal (John Postel)
Es darf nichts entfernt werden
Keine Veränderung von Verarbeitungsregel
Optionales darf nie Required werden
http://zalando.github.io/restful-api-guidelines
Alles was hinzugefügt wird, muss optional sein
#WISSENTEILEN
Service
Backend
API
Service
Frontend
Mobile
Frontend
Another
Service
Backend
B2B
Client Sam
e
Deploym
ent
Same Company
Any Client
WELCHE CLIENTS NUTZEN MICH?
API (PROVIDER CONTRACT)
CONSUMER CONTRACT
CONSUMER CONTRACT – YAGNI
Consumer
Contract
Consumer Provider
Consumer
Tests
Provider
Tests
CONSUMER-DRIVEN CONTRACT TESTING
Execute
Own
Provider
Tests
Generate
Consumer
Contract
Execute
Depending
Provider
Tests
Deploy
to
Stage
PIPELINE TO DEPLOY TO STAGE
Execute
Own
Provider
Tests
Generate
Consumer
Contract
Execute
Depending
Provider
Tests
Deploy
to
Stage
Achtung:
Abwärtskompatibilität ist
trotzdem notwendig!
PIPELINE TO DEPLOY TO STAGE
Execute
Own
Provider
Tests
Generate
Consumer
Contract
Execute
Depending
Provider
Tests
Deploy
to
Stage
BREAKING CHANGE DES PROVIDERS
Execute
Own
Provider
Tests
Generate
Consumer
Contract
Execute
Depending
Provider
Tests
Deploy
to
Stage
BREAKING CHANGE DES CONSUMERS
#WISSENTEILEN
Microservices
klein
lose gekoppelt
robust
Fazit
#WISSENTEILEN
? ? ?
FRAGEN
KONTAKT
Arne Limburg,
Software Architect
OFFENKUNDIGGUT
arne.limburg@openknowledge.de
+49 (0)441 4082 – 0 / 154
Icons in this presentation designed by “Freepik”, “Nice and Serious” and “Elegant
Themes” from www.flaticon.com

Weitere ähnliche Inhalte

PDF
Die Matrix: Enterprise-Architekturen jenseits von Microservices
PDF
Cloud Architekturen - von "less Server" zu Serverless
PDF
Shared Data in verteilten Systemen
PDF
Hilfe, ich will meinen Monolithen zurück!
PDF
Spaß mit Microservices: Transaktionen
PDF
Microservices mit dem MicroProfile
PDF
Aus der Rubrik "Spaß mit Microservices": Transaktionen
PDF
Das passende Backend für meine Apps
Die Matrix: Enterprise-Architekturen jenseits von Microservices
Cloud Architekturen - von "less Server" zu Serverless
Shared Data in verteilten Systemen
Hilfe, ich will meinen Monolithen zurück!
Spaß mit Microservices: Transaktionen
Microservices mit dem MicroProfile
Aus der Rubrik "Spaß mit Microservices": Transaktionen
Das passende Backend für meine Apps

Was ist angesagt? (20)

PDF
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
PDF
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
PDF
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
PDF
Serverless: The Missing Manual
PDF
Less Server vs. Serverless?
PDF
Microservices Architecture: Architektur und Patterns
PDF
Microservices Migration: Vom Monolithen zu Microservices
PDF
Mehr Sicherheit durch Automatisierung
PDF
CQRS, der etwas andere Architekturansatz
PDF
Hands-On Microservices mit Java
PDF
Herausforderung „Multi-Channel Architecture”
PDF
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
PDF
Herausforderung „Multi-Channel“-Architektur
PDF
App-Delivery-Pipeline
PDF
Java EE goes Microservices. Are you serious?
PDF
Web-API-Design jenseits von REST und Request/Response
PDF
Serverless Survival Guide
PDF
Modern Lightweight Enterprise Architectures mit Java
PDF
Der goldene Schnitt – Wie schneide ich Microservices richtig?
PDF
App war gestern: Mobile Engagement als Teil der Enterprise-Strategie
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Serverless: The Missing Manual
Less Server vs. Serverless?
Microservices Architecture: Architektur und Patterns
Microservices Migration: Vom Monolithen zu Microservices
Mehr Sicherheit durch Automatisierung
CQRS, der etwas andere Architekturansatz
Hands-On Microservices mit Java
Herausforderung „Multi-Channel Architecture”
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Herausforderung „Multi-Channel“-Architektur
App-Delivery-Pipeline
Java EE goes Microservices. Are you serious?
Web-API-Design jenseits von REST und Request/Response
Serverless Survival Guide
Modern Lightweight Enterprise Architectures mit Java
Der goldene Schnitt – Wie schneide ich Microservices richtig?
App war gestern: Mobile Engagement als Teil der Enterprise-Strategie
Anzeige

Mehr von OPEN KNOWLEDGE GmbH (20)

PPTX
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
PDF
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
PDF
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
PDF
Der Spagat zwischen BIAS und FAIRNESS (2024)
PDF
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
PPTX
Nie wieder Log-Files!
PDF
Cloud-native and Enterprise Java? Hold my beer!
PPTX
From Zero to still Zero: The most beautiful mistakes going into the cloud.
PDF
API Expand Contract
PDF
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
PDF
Shared Data in verteilten Architekturen
PDF
Machine Learning mit TensorFlow.js
PDF
KI und Architektur
PDF
It's not Rocket Science: Neuronale Netze
PDF
Business-Mehrwert durch KI
PDF
API-Design, Microarchitecture und Testing
PDF
Supersonic Java für die Cloud: Quarkus
PDF
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
PDF
Maschinen ohne Gewissen: wenn KI auf Ethik trifft
PDF
Modern Web: Trends der Webentwicklung
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
Der Spagat zwischen BIAS und FAIRNESS (2024)
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
Nie wieder Log-Files!
Cloud-native and Enterprise Java? Hold my beer!
From Zero to still Zero: The most beautiful mistakes going into the cloud.
API Expand Contract
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Shared Data in verteilten Architekturen
Machine Learning mit TensorFlow.js
KI und Architektur
It's not Rocket Science: Neuronale Netze
Business-Mehrwert durch KI
API-Design, Microarchitecture und Testing
Supersonic Java für die Cloud: Quarkus
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Maschinen ohne Gewissen: wenn KI auf Ethik trifft
Modern Web: Trends der Webentwicklung
Anzeige

Zukunftssichere Architekturen mit Microservices