Microservice Architekturen | Softwareengineering

  Рет қаралды 14,882

The Morpheus Tutorials

The Morpheus Tutorials

Күн бұрын

Пікірлер: 51
@matthias2447
@matthias2447 4 жыл бұрын
Danke für das interessante Video. Gerne mehr zu so Software/System-Architektur sowie Design-Patterns.
@florian2119
@florian2119 4 жыл бұрын
Desing-Patterns gibt es schon
@traderdaniel4749
@traderdaniel4749 4 жыл бұрын
Vielen Dank für dieses Video. Ich versuche schon seit langer Zeit zu verstehen wie Microservices funktionieren. Danke!!!
@Gschirr
@Gschirr 4 жыл бұрын
Am Freitag Software Engineering Klausur genau dazu :D das nenn ich Just in Time.
@kriisEU
@kriisEU 4 жыл бұрын
Ich liebe dich Morpheus! Du erklärst einfach immer alles easy und sehr zielgerichtet. Danke für deine Arbeit!
@julianhops5217
@julianhops5217 4 жыл бұрын
Ich arbeite selbst in einer Microservice Architektur und könnte mir in unserem Fall keinen Monolithen vorstellen, da es ein ziemlich großes Projekt ist. Services, die sich untereinander per REST Schnittstelle aufrufen wären bei uns aber ein absolutes no-go, das kann sehr schnell zu gröberen Performance Problemen und einer starken Kopplung der Services untereinander führen. Wir arbeiten deshalb mit einem Eventbus und unsere Services wissen nichts voneinander. Nach oben hin gibts pro Service nur ein GraphQL Schema, welches im Api Gateway (oder backend for frontend :) ) gestitcht wird. Dieses bietet dann wiederum nur einen großen Graphen nach oben an. Ich bin sehr glücklich mit dem Projekt weil wir einen spannenden und aktuellen Technologie-Stack im Einsatz haben.
@AndiBauIT
@AndiBauIT 4 жыл бұрын
Top! Passt zu meinem Modul Anwendungssysteme/ Informationssysteme welches ich gerade berarbeite.
@janga8717
@janga8717 4 жыл бұрын
Na ja. Am Ende ist es eine Definitionssache. Ich zum Beispiel habe Django Anwendungen (Monolithen) an verschiedenen Cloud Datenbanken (Microservice) sowie einem S3 Storage die alle außerhalb des Django Servers liegen und unabhängig von der Webanwendung skaliert werden können. Ich kann also trotzdem noch recht horizontal Skalieren ohne in eine klassische Microservice Struktur zu fallen. Auch kann man die Apps innerhalb Djangos unabhängig voneinander gestalten. In einem Monolithen also Modular programmieren. Steigert die Wiederverwendbarkeit und unterschiedliche Teams können an unterschiedlichen Modulen arbeiten. Haben aber Zugriff auf das ganze Backend - der Ansatz ist also eher monolithisch. Das Problem beim Hype um die Microservices (und das erörterst du in deinem Video nicht): 1. Sie arten schnell in Nanoservices aus 2. du kannst sie auf verschiedene Techstacks aufbauen, brauchst aber gleichzeitig immer jemanden der diesen Stack beherrscht 3. man hat hart abgegrenzte Arbeitsbereiche - wird ein Bug reportet, muss man erst die Zuständigkeit abklären und den Bug an das richtige Team weitergeben (wenn es denn noch existiert, falls der Microservice bereits abgeschlossen ist) 4. Bugfixing allgemein wird verkompliziert - bekommst du in deinem Backend for Frontend ein invaliden Response musst du überlegenen wo der Bug entsteht - ist es das Microservice welches am Backend for Frontend angeschlossen ist, ist es ein anderes Microservice, welches worauf das genutzte Microservice zugreift, oder (und hier kann ich die Verschachtelung weiter führen) Ja - LinkedIn, Facebook, KZbin und sogar About You, Zalando, Parship & Co. nutzen Microservices. Die haben aber auch weit über 100 Mitarbeiter in der IT. Hast du ein Entwicklerteam von weniger als 20 Leuten, würde ich eher auf wenige Kompetenzbereiche setzen und einen monolithischen Ansatz wählen. Und nur weil ich auf AWS, Azure oder Google Cloud hoste und verschiedene Datenbanken nutze, habe ich noch keine Microservice Struktur. Da gehört schon mehr zu :)
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Vielen Dank für die Ergänzung!
@janga8717
@janga8717 4 жыл бұрын
@@TheMorpheusTutorials Sehr gerne - und natürlich noch ein Punkt: Datenkonsistenz. Man muss über die Systeme hinweg einen konsistenten Datensatz haben. Ist in einem verteilten System nicht immer ganz einfach. Und dann kommen wir in den Bereich der DB Design Patterns
@janga8717
@janga8717 4 жыл бұрын
@@TheMorpheusTutorials In dem Sinne - was hältst du denn von einem "Constructive destructives" Video in dem du mal auf einen Cool klingenden Ansatz aufmerksam machst und fast ausschließlich die Contras und Schwierigkeiten in den Vordergrund stellst und wie man diese Probleme eventuell lösen kann?
@faabi86
@faabi86 4 жыл бұрын
Hi Cedric, vielen Dank für deine Videos, der Content ist wirklich super. Was meiner Meinung nach hier etwas zu kurz kam: 1. Natürlich sind Micro Services modern und haben viele Vorteile. Es gibt hier aber auch Nachteile, bzw. bringt diese Art Architektur auch Kosten mit sich. Die Ganze Infrastruktur/ServiceMesh/Logging/ggfl. Transaktionalität wird um einiges Komplexer als in einem Monolithen/modularen Monolithen. 2. Unter anderem durch Punkt 1 bedingt würde ich nicht sagen, dass Monolithen quasi die "alte Welt" und Microservices die "neue Welt" sind. Es kommt hier immer auf den Anwendungsfall an (das hast du ja am Ende des Videos noch angeschnitten). Es gibt durchaus auch heute noch viele Fälle wo die Kosten so einer hochverteilten Architektur einfach nicht Lohnen. Hier gibt es auch viele Mischformen, also dass man, wie du gesagt hast mit einem Monolithen startet und dann im Strangler Verfahren Services ausgliedert, bei denen die Skalierbarkeit etc. eventuell sehr relevant ist. 3. Ein weiterer großer Vorteil von Microservices ist meiner Meinung nach die Technologieunabhängigkeit. Also ich kann meinen Service in Python Coden und du in Java, denn wir laufen ja in dem Beispiel nicht wie ein Monolith z.B. in der selben VM. 4. Die Skalierbarkeit und Ausfallsicherheit ist natürlich auch beim Monolithen möglich. Natürlich nur Horizontal aber dennoch, nur weil in einem Monolithen etwas ausfällt muss nicht gleich alles weg sein. Der Monolith kann z.B. auch 10 mal gehostet und per Load Balancer angesteuert werden. Danke und viele Grüße!
@FilmfanOliver1992
@FilmfanOliver1992 4 жыл бұрын
Und wie synchronisiert man die DBs miteinander ?
@ahshit8824
@ahshit8824 4 жыл бұрын
Hab’s noch nicht gesehen aber gutes Video 💯👍
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
😂❤️
@FilmfanOliver1992
@FilmfanOliver1992 4 жыл бұрын
@@TheMorpheusTutorials Mach mal was zur Hexagonale Architektur
@kerimdogan2578
@kerimdogan2578 4 жыл бұрын
Wieder einmal ein tolles Video! 👌 Aktuell boxe ich mich durch deine Angular-Playlist durch und finde es sehr interessant. Nachdem ich dieses Video auch gesehen habe, wäre es als für mich die Kirsche auf dem Sahnehäubchen, wenn du erklären könntest, wie deratige Services im Angular-Umfeld eingesetzt werden können.
@franky12
@franky12 4 жыл бұрын
Mich würde interessieren, wie man die ganzen Backends praktisch untereinander synchronisiert. Wie skaliert man Datenbanken??? Welche (neuen) Datenbanken gibt es, die Cloud- und Skalierungs-tauglich sind.
@massoudshaker75
@massoudshaker75 4 жыл бұрын
Super.Sehr leicht erklärt
@franky12
@franky12 4 жыл бұрын
Mich würde das Thema moderne Streaming und Messaging-Technologien interessieren, ich werfe da mal einen ganzen Strauß an Buzz-Words in die Schale: Message Broker, Kafka, MQTT, RabbitMQ, Redis, PubSub, Firebase, Websockets, WebRTC, GraphQL, NATS, gRPC usw.
@zonko1176
@zonko1176 2 жыл бұрын
Wie funktioniert die API? Ist das ein extra Server der die Requests einfach weiterdelegiert oder wie muss man das verstehen?
@mariusf302
@mariusf302 3 жыл бұрын
Good job, cedric!
@LupusZockt
@LupusZockt 2 жыл бұрын
Leider einige Fehler (vielleicht der Simplifizierung geschuldet) aber insgesamt eine schöne Erklärung. Ich würde das Video durchaus Nicht-Informatikern empfehlen, um zu verstehen worum es grob geht. Einem Programmierer wiederum würde ich das Video allerdings nicht empfehlen, weil ich befürchten würde dass er/sie sich Halbwissen aneignet, das zu Problemen führt. PS. Ich spreche die "Fehler" hier nicht gezielt an, weil die zugehörigen Erklärungen vermutlich den Rahmen eines Kommentares sprengen würden. Falls Interesse besteht, können wir uns allerdings gerne via Mail austauschen und hier vielleicht sogar eine simpel formulierte Erklärung zu entsprechenden Punkten anfügen. Dinge simpel zu erklären ist nämlich leider nicht meine Stärke. Es wäre allerdings schön, falls es zu einem Austausch zwischen uns kommt, die Leute hier am Ergebnis teilhaben zu lassen.
@needformoney9808
@needformoney9808 4 жыл бұрын
Entsprechen die "Module" in den Abbildungen jetzt einen Service oder eine Datenbank? Oder ist die Datenbank im Service integriert?
@celleryoshi1405
@celleryoshi1405 4 жыл бұрын
Das geht dann auch mit normaler Anwendungssoftware und nicht nur bei Websiten, oder ?
@paulbieringer3941
@paulbieringer3941 4 жыл бұрын
🔥🔥
@landocalrissian1286
@landocalrissian1286 4 жыл бұрын
Dieses Video war, auch für jemanden, der die PLaylist nicht gesehen hat, so nice anzuschauen! Bin ein risen Fan von der "Präsentaion" mit den ganzen Folien. Nur mal so aus Interesse: Wie heisßt das Programm, mit dem du das machst?
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
PowerPoint 😂
@florian2119
@florian2119 4 жыл бұрын
Hallo Danke! Ein Thema das sehr wichtig ist bitte mehr davon. Wie wäre es Microservices anhand von Code zu veranschaulichen
@skythe7839
@skythe7839 4 жыл бұрын
Was ich mir wünschen würde, wären dazu Themen wie CQS/CQRS, Event Sourcing, Aggregates, (distributed) Transactions, Multi Tenancy, Idempotence, Event Broker (Kafka) etc. :) "Reine" Ressourcen zu diesen Themen sind leider sehr rar, weil die meisten die ganzen Themen mischen und nicht differenzieren. Wenn du da Hilfe brauchst, könnte ich dir eventuell bisschen Ressourcen etc. empfehlen, welche halt nicht immer nur ein Thema behandeln
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Schreib mir sehr sehr gerne mal ne Mail oder per discord 👍
@michaelk9758
@michaelk9758 4 жыл бұрын
Und was macht man wenn die API ausfällt? Dann sind die Services doch auch nicht mehr erreichbar für den Kunden. Oder kann man die API auch skalieren?!😅
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Kann man 😁 das kommt aber in späteren Reihen
@janga8717
@janga8717 4 жыл бұрын
Genau deshalb nutzt man etwas wie AWS und Co. Man hat pro service nicht den einen Server, sondern ein verteiltes System (Nodes). Fällt eins aus hast du noch weitere parallel laufen die den Ausfall auffangen können
@GKD_KG
@GKD_KG 4 жыл бұрын
1A!
@arturf7777
@arturf7777 2 жыл бұрын
So ein blödsinn. Der tut ja so, als ob man monolithische Anwendungen nicht skalieren kann z.B. zwecks usfallsicherheit oder performance Steigerung. Das ist natürlich falsch. Man kann das alles auch mit monlithischen Anwendungen machen. Nur halt nicht so granular wie mit Microservices.
@GKD_KG
@GKD_KG 4 жыл бұрын
Ja, und nochmals sorry, dass ich da vorher VERSEHENTLICH!! so einen Negativkommentar losgetreten habe: da kam vorher so eine doofe, ellenlange Werbung, die ich als solche erst mal gar nicht erkannte, die mich dann so genervt hat, dass ich während dieser dann diesen Kommentar auf diese doofe Werbung bezogen, losschrieb... Aber es kommt ja dann das 1A!: Und das bezieht sich wirklich auf dieses Video (von The Morpheus Tutorials!)
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Kein Thema 😂❤️
@necaton
@necaton 4 жыл бұрын
du kannst die werbung nicht von einem morpheus video unterscheiden UND findest die werbung nervig?
@Noname-re5ob
@Noname-re5ob 4 жыл бұрын
Dazu wären Beispiele auch mal spannend!
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Python Flask playlist 😉
@Noname-re5ob
@Noname-re5ob 4 жыл бұрын
@@TheMorpheusTutorials Oh, ich hatte keine Ahnung, dass die Noch so lang weitergeht! Hatte bis jetzt nur den Anfang gesehen freue mich jetzt aber auf den Rest! 😂
@janga8717
@janga8717 3 жыл бұрын
Lass' uns mal kurz über das Backend for Frontend reden - definitionsgemäß müsste das doch ein API Gateway sein, richtig? Nun redest du gerne über Python Flask als Microservice / SPA. FRAGE: Kennst du ein Standalone API Gateway in Python welches du empfehlen kannst? Bei meiner Recherche kam ich da nur an AWS Lambda vorbei. Das möchte ich aber nur ungerne nehmen. Ansonsten wird gerne noch Spring Boot Eureka + Zuul genannt - ist halt Java. Mit Nginx geht das auch, aber Nginx ist mir in dem Kontext zu statisch. Gibt es etwas abseits der genannten Services die du aus der Python Welt empfehlen kannst?
@FilmfanOliver1992
@FilmfanOliver1992 4 жыл бұрын
Netflix nutzt auch zum Teil Spring Boot
@GKD_KG
@GKD_KG 4 жыл бұрын
Also ich habe jetzt die Werbung gemeint, sorry: Die vorgeschaltete Werbung, die vor der großen Krise warnt....! Das Video schaue ich mir jetzt gleich an....
@TheMorpheusTutorials
@TheMorpheusTutorials 4 жыл бұрын
Magst du das kurz in das andere comment rein editieren? 😅 Sonst könnte man es falsches verstehen, danke dir
@GKD_KG
@GKD_KG 4 жыл бұрын
@@TheMorpheusTutorials Ja, und nochmals sorry: da kam vorher so eine doofe, ellenlange Werbung, die ich als solche erst mal gar nicht erkannte, die mich dann so genervt hat, dass ich während dieser dann diesen Kommentar losschrieb... Weiter oben aber steht ja dann das 1A!: Und das bezieht sich wirklich auf dieses Video
@Juus
@Juus 2 жыл бұрын
sehr einseitige Sicht, es macht nicht immer Sinn auf Microservices zu setzen und die Nachteile der Monolithen sind leicht ausgleichbar. Hätte von dir als KZbinr und Experten mehr erwartet
@franky12
@franky12 4 жыл бұрын
Ich bezweifle schwer, das größere Microservice-Architekturen heutzutage im Backend untereinander noch über REST APIs kommunizieren. REST hat viel zu viel Overhead, ist langsam und unflexibel. Selbst bei der Frontend Kommunikation ist immer mehr GraphQL im Kommen. Google nutzt meines Wissens *gRPC* im Backend.
@GKD_KG
@GKD_KG 4 жыл бұрын
Bis jetzt: 20 Minuten Gelabere, wie schlimm alles ist bzw. wird..... Wann kommen jetzt endlich die 4 Schritte....
@peterg.8941
@peterg.8941 4 жыл бұрын
Wovon redest du?
The Thing No One Tells You About Microservices
13:40
Continuous Delivery
Рет қаралды 66 М.
Monolithic vs Microservice Architecture: Which To Use and When?
10:43
ВЛОГ ДИАНА В ТУРЦИИ
1:31:22
Lady Diana VLOG
Рет қаралды 1,2 МЛН
Почему Катар богатый? #shorts
0:45
Послезавтра
Рет қаралды 2 МЛН
Must-Know API Technologies for 2023!
13:31
The Morpheus Tutorials
Рет қаралды 52 М.
Microservices with Databases can be challenging...
20:52
Software Developer Diaries
Рет қаралды 125 М.
Architekturen - Von Monolithen bis Microservices (Code Days 2020)
1:02:11
Warum Microservices Dein Projekt ruinieren können // deutsch
18:06
the native web GmbH
Рет қаралды 8 М.
Monolith vs Microservices vs Serverless
23:05
Code With Ryan
Рет қаралды 80 М.
Sind Microservices überbewertet? // deutsch
18:13
the native web GmbH
Рет қаралды 6 М.
Netflix's Software: Wild Yet Fascinating Secrets
38:48
The Morpheus Tutorials
Рет қаралды 40 М.
DeepSeek R1: Free & Open Source BEATS ChatGPT O1!
29:39
The Morpheus Tutorials
Рет қаралды 99 М.
Die beste Architektur für Deine Software // deutsch
23:10
the native web GmbH
Рет қаралды 9 М.
Microservices explained - the What, Why and How?
18:30
TechWorld with Nana
Рет қаралды 912 М.