Microservices schneiden - Schnitt und Architektur

preview_player
Показать описание
Entscheidend für eine Microservices Architektur ist der Schnitt der Services. Im Gegensatz zu bisherigen Architekturen wie z.B. der Service orientierten Architektur, erfolgt der Schnitt einer Anwendung nicht mehr horizontal, sondern vertikal. Die Platzierung des Schnittes und die Größe der Services haben einen Einfluss auf die Qualität der Architektur. Erfolgt zum Beispiel der Schnitt der Services zu kleinteilig, so entstehen zwangsläufig horizontale Schnitte durch die Anwendung, die ungewollte Nachteile mit sich bringen.

Wie genau sollen der Schnitt oder das Zerlegen eines Monolithen erfolgen? Welche Anhaltspunkte für einen passenden Schnitt gibt es? Antworten auf diese Fragen liefern Architekturprinzipien sowie das Domain Driven Design.

Im Video lernst du verschiedene Arten kennen, wie eine Anwendung in Services gegliedert werden kann. Du erfährst, welche Auswirkung die Art des Schnittes auf die Architektur hat und welche grundlegenden Microservices Architekturen es gibt.

Inhalt
00:00:00 Einleitung
0:02:20 Microservice Definition
0:02:50 Monolith
0:03:05 Horizontaler Schnitt
0:04:54 Vertikaler Schnitt
0:05:40 Share Nothing
0:05:55 Datenbank Modell
0:07:48 Beispiel Datenmodell für den Schnitt
0:09:24 Erster Versuch: Gemeinsame Datenbank
0:10:40 Nachteile einer gemeinsamen Datenbank
0:12:42 Microservices mit NoSQL DB
0:14:23 Gemeinsame Services
0:14:50 Master APIs für Microservices
0:15:30 Antipattern: CRUD Services
0:16:07 Abhängigkeiten und Änderungen
0:18:40 Wiederverwendbarkeit
0:19:58 Geld sparen mit Microservices?
0:20:47 Wiederverwendbarkeit oder Flexibilität
0:22:20 CRUD Services: Probleme beim Join
0:24:05 Performance bei Joins
0:25:20 Lessons Learned from SOA
0:27:30 Microservice != Serivce Orientierung
0:27:45 Schichtung und Orchestration
0:29:08 REST + JSON + Swagger + CRUD Services = Reinkarnation der SOA
0:32:30 Kohäsion und lose Kopplung
0:33:20 Beispiel zur engen und losen Kopplung
0:35:30 Service Refactoring
0:36:45 Service Größe
0:37:37 Zerschneiden des Monolithen
0:40:20 Redundanz
0:48:24 Domain Driven Design
0:51:25 Eventbus
0:51:40 Eventually consistency
0:57:44 Amazon Beispiel
1:00:01 Was wird geteilt?
1:01:10 Bus Adapter
1:04:48 Migration zu Microservices
1:06:00 Zusammenfassung
1:08:00 Microservices Definition
1:09:54 Share Everything und Nothing
1:10:10 Fazit

Unsere Microservices Seminare

Microservices Architektur für IT-Manager und Entscheider

Microservices Grundlagen

Microservices Workshop mit Docker, Spring Boot & Spring Cloud

Mehr zu uns findest du unter:

Quellen:
Karte mit Topologie:
Рекомендации по теме
Комментарии
Автор

Das erste Microservice Video, aus dem ich etwas praktisches mitnehmen kann. Thumb up

QBulletSconosciuto
Автор

Super informativ und locker. Da spricht jemand mit viel Erfahrung.

wernerzirkel
Автор

Der Aufbau deiner Präsentation war extraklasse.

kurtmullner
Автор

Ich musste ziemlich häufig schmunzeln, als es an die historischen Architekturen ging. Das habe ich teils "am eigenen Leib" erlebt bzw. bei Kundenprojekten gesehen. Vielen Dank für die Super-Übersicht und die Ideen dahinter.

Murray
Автор

Vielen Dank für dieses tolle, informative und gut strukturierte Video! 👍 Ich habe sehr viel gelernt und jetzt erst Microservices "richtig" verstanden 😎

tharoncaldas
Автор

Super Video. Besonders den Konflikt zwischen Wiederverwendbarkeit und Flexibilität hast Du sehr gut verdeutlicht.

frankoppermann
Автор

15:32 "Kreativer Feldmissbrauch" - grossartig LoL
Schöner Überblick. Du sprichst offenkundig aus deiner Projekterfahrung.
Mir hat auch gefallen, dass du es so direkt ansprichst: Nur weil man WebServices und HTTP und NoSQL nutzt, heisst das noch nicht, dass man eine passende und angemessene Architektur umsetzt. Wie oft werden da alte Weine durch neue Schläuche umgeleitet.
Am Rande - du sprichst es ja auch an:
Der vertikale Schnitt ist auch notwendig, wenn man seine Softwareprojekte agiler handhaben möchte. Ich wollte damit nur den Kreis von der Entwicklung zur Projektierung schließen :-)
19:01 "Das ist der Deal: Wir tauschen Wiederverwendbarkeit gegen Änderbarkeit und Schnelligkeit! Aber diese Wiederverwendbarkeit, die steckt so in den Köpfen drin..."
Grossartigst! Softwareentwicklung ist auch Politik und Psychologie.
Dieses Recycling-Pattern ist wie eine Seuche und tatsächlich kaum aus den Köpfen zu kriegen.
Vielen Dank, Thomas!

robertkorth
Автор

Richtig gute Präsentation. Die Gradd-Services aka CRUD, werde ich nie wieder vergessen :D

naheliegend
Автор

Sehr interessantes und informatives Video! Danke! Nur das abrupte Ende ist etwas schade

bagorolin
Автор

Sympathisch, kurz und bündig, jetzt habe ich endlich kapiert um was es bei MS geht! Danke!

peterweinmann
Автор

Sehr interessant und informativ. Vielen Dank dafür!

kohlerpeter
Автор

Super Sache, super erklärt und mit einem Ansatz versehen

josefkreulich
Автор

Großes Lob vom einem IT-Saurier - ich habe es trotzdem verstanden

klauswerner
Автор

Vielen Dank dafür, sind sie einfach genial!!!

joseafv
Автор

Schöner und leicht verständlicher Vortrag. Habt ihr nicht ein einfaches Beispiel was man sich mal herunterladen kann und ein bisschen experimentieren kann? Gerade das Thema Eventbus habe ich so noch nirgends gesehen. Klingt aber super spannend.

kunoSchlonz
Автор

Sensationelles Video! Bin noch nicht lange Abonnent, deshalb die Frage: Gibt es schon ein Video das den Microservice am Ende (UI+Logik+DB++Listener) skalierbar macht? Mir hat das Video gerade sehr viele AHA-Effekte gebracht. Aber die Frage ist für mich am Ende noch offen geblieben. Was mache ich, wenn ich zwei von diesen MS habe, die dieselbe Datenbank nutzen? Dann Microservice-Interne Transaktionen?

abergy
Автор

Gutes Video.

Was macht ihr, wenn sich die benötigten Artikel-Daten in einem Service ändern.

Replay aller vorhandenen Daten Nachrichten? Wer löst das aus?

josefpharma
Автор

Super Beitrag. Großes Dankeschön. Darf ich einen Ratschlag geben? Die Verwendung des Wort "Schneidens" kommt bei vielen Menschen, die nicht wissen worum es geht als negatives Wort an. Zudem sind Software Architekten ja keine Schneider oder Video Cutter. Nennt es doch einfach Separieren, aufteilen oder abstrahieren. ;-)

timschannel
Автор

Sry, noch ein wichtige Frage: Graph QL???? Haben wir also DIE Lösung für viele Probleme nutzen können. Swagger (OPEN API?), JSON und noch viel mehr wird mitgeliefert. Gerade für komplexe CMS Systeme auf der Creator Seite unschlagbar, Bro!

timschannel
Автор

Vielen Dank. Das ist sehr interessant. Noch eine kleine Frage bez. dem Aufteilen der Entität Artikel in farbige Cluster Blau, Grün, Gelb und Rot. Ist es korrekt, dass dann evt nicht alle Microservices (Cluster) so einen Artikel anlegen können, weil die Muss-Felder nicht vorhanden sind?

rudioppliger