{"id":31761,"date":"2019-10-31T21:42:55","date_gmt":"2019-10-31T18:42:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\/"},"modified":"2019-10-31T21:42:55","modified_gmt":"2019-10-31T18:42:55","slug":"mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","title":{"rendered":"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>19. September in Moskau <noindex><a rel=\"nofollow\" href=\"https:\/\/www.meetup.com\/HighLoad-User-Group\/events\/254238096\/\">hat stattgefunden<\/a><\/noindex> das erste thematische Meetup der HUG (Highload++ User Group), das den Mikroservices gewidmet war. Auf diesem wurde der Vortrag \"Betrieb von Mikroservices: Die Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" gehalten, in dem wir umfangreiche Erfahrungen der Firma \"Flant\" im Bereich des Betriebs von Projekten mit mikroservicebasierter Architektur geteilt haben. Insbesondere wird es allen Entwicklern n\u00fctzlich sein, die dar\u00fcber nachdenken, diesen Ansatz in ihrem aktuellen oder zuk\u00fcnftigen Projekt anzuwenden.<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/5d84197eef093da02b3db2156841e644.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir pr\u00e4sentieren <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=g9cgppj0gKQ\"><b>das Video des Vortrags<\/b><\/a><\/noindex> (50 Minuten, deutlich informativer als der Artikel), sowie die Hauptinhalte in Textform.<\/p>\n<p><i>NB: Video und Pr\u00e4sentation sind auch am Ende dieser Ver\u00f6ffentlichung verf\u00fcgbar.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Einf\u00fchrung<\/h2>\n<p>\nNormalerweise hat eine gute Geschichte einen Anfang, einen Hauptplot und ein Ende. Dieser Vortrag \u00e4hnelt eher einem Anfang, und zwar einem tragischen. Es ist auch wichtig zu beachten, dass er einen Blick auf Mikroservices aus der Perspektive von <i>der Ausnutzung<\/i>.<\/p>\n<p>Ich beginne mit einem solchen Diagramm, dessen Autor (im Jahr 2015) <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/bliki\/MicroservicePremium.html\">wurde<\/a><\/noindex> Martin Fowler:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/f0cc0e00f32f5ea0a736e09fd20eaa85.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMan sieht, dass in einem monolithischen Anwendungsszenario, das eine bestimmte Gr\u00f6\u00dfe erreicht hat, die Produktivit\u00e4t zu sinken beginnt. Mikroservices unterscheiden sich darin, dass die anf\u00e4ngliche Produktivit\u00e4t damit niedriger ist, aber mit zunehmender Komplexit\u00e4t weniger auff\u00e4llig ist die Effizienzdegradation.<\/p>\n<p>Ich werde dieses Diagramm f\u00fcr den Fall der Verwendung von Kubernetes erg\u00e4nzen:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/1b83f03639324c610a84bfd434317f48.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWarum ist es einer Anwendung mit Mikroservices besser geworden? Weil eine solche Architektur ernsthafte Anforderungen an die Architektur stellt, die ihrerseits hervorragend durch die M\u00f6glichkeiten von Kubernetes erf\u00fcllt werden. Auf der anderen Seite wird ein Teil dieser Funktionalit\u00e4t auch f\u00fcr Monolithen n\u00fctzlich sein, insbesondere aus dem Grund, dass ein typischer Monolith heutzutage kein echter Monolith ist (Details werden sp\u00e4ter im Vortrag behandelt).<\/p>\n<p>Wie man sieht, unterscheidet sich das endg\u00fcltige Diagramm (wenn sowohl monolithische als auch mikroservicebasierte Anwendungen in einer Infrastruktur mit Kubernetes betrieben werden) nicht wesentlich von dem urspr\u00fcnglichen. Im Folgenden wird es um Anwendungen gehen, die mit Kubernetes betrieben werden.<\/p>\n<h2>N\u00fctzliche und sch\u00e4dliche Mikroservicestruktur<\/h2>\n<p>\nUnd hier ist der Hauptgedanke:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/c555e5fbdf09e4bb2be17fad23b8ff6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWas ist eigentlich <b>eine normale<\/b> Mikroservicearchitektur? Sie sollte Ihnen einen echten Nutzen bringen, indem sie die Effizienz Ihrer Arbeit erh\u00f6ht. Wenn man zum Diagramm zur\u00fcckkehrt, dann sieht man das hier:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/c27a7af10812580f0543888256a0e698.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn man sie <b>n\u00fctzlich<\/b>nennt, dann wird auf der anderen Seite des Diagramms <b>sch\u00e4dliche<\/b> Mikroservicestruktur (behindert die Arbeit):<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/27a7298bd8f877b2bc69d19378a542e2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZur\u00fcck zur \u201eHauptidee\u201c: Kann man meiner Erfahrung \u00fcberhaupt vertrauen? Seit Beginn dieses Jahres habe ich <b>85 Projekte<\/b>gesehen. Nicht alle waren mikroservices (diese Architektur hatten ungef\u00e4hr ein Drittel bis die H\u00e4lfte davon), aber es ist dennoch eine gro\u00dfe Zahl. Uns (der Firma \u201eFlant\u201c) als Outsourcern gelingt es, eine gro\u00dfe Vielfalt an Anwendungen zu sehen, die sowohl in kleinen Unternehmen (mit 5 Entwicklern) als auch in gro\u00dfen (~500 Entwicklern) entwickelt werden. Ein zus\u00e4tzlicher Vorteil ist, dass wir sehen, wie diese Anwendungen \u00fcber viele Jahre leben und sich entwickeln.<\/p>\n<h2>Warum Mikroservices?<\/h2>\n<p>\nAuf die Frage nach dem Nutzen von Mikroservices gibt es <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/microservice-trade-offs.html\">eine ziemlich konkrete Antwort<\/a><\/noindex> von dem bereits erw\u00e4hnten Martin Fowler:<\/p>\n<ol>\n<li> klare Modulgrenzen;<\/li>\n<li> unabh\u00e4ngiges Deployment;<\/li>\n<li> Freiheit bei der Technologiewahl.<\/li>\n<\/ol>\n<p>\nIch habe viel mit Architekten und Softwareentwicklern gesprochen und gefragt, warum sie Mikroservices ben\u00f6tigen. Und habe meine eigene Liste ihrer Erwartungen zusammengestellt. Das ist das Ergebnis:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/e9fa2f1a03da2017e90c5f952b752187.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn ich einige Punkte \u201egef\u00fchlsm\u00e4\u00dfig\u201c beschreiben sollte:<\/p>\n<ul>\n<li> klare Modulgrenzen: hier haben wir ein schreckliches Monolith, und jetzt wird alles ordentlich in Git-Repositories aufgeteilt, in denen alles \u201eordnungsgem\u00e4\u00df\u201c ist, nicht warm mit weich vermischt;<\/li>\n<li> unabh\u00e4ngiges Deployment: wir k\u00f6nnen Dienste unabh\u00e4ngig ausrollen, sodass die Entwicklung schneller voranschreiten kann (parallel neue Funktionen ver\u00f6ffentlichen);<\/li>\n<li> unabh\u00e4ngige Entwicklung: wir k\u00f6nnen diesen Mikroservice an ein Team\/Entwickler abgeben, und die andere an einen anderen, was uns erm\u00f6glicht, schneller zu entwickeln;<\/li>\n<li> b<i>o<\/i>gr\u00f6\u00dfere Zuverl\u00e4ssigkeit: Wenn es zu einer teilweisen Degradation kommt (wenn ein Mikroservice von 20 ausf\u00e4llt), wird nur ein Knopf nicht mehr funktionieren, w\u00e4hrend das System insgesamt weiterhin funktioniert.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Typische (sch\u00e4dliche) Mikroservice-Architektur<\/h2>\n<p>\nUm zu erkl\u00e4ren, warum in der Realit\u00e4t alles nicht so ist, wie wir es erwarten, werde ich ein <i>sammelnder<\/i> Bild der Mikroservice-Architektur vorstellen, das auf Erfahrungen aus zahlreichen verschiedenen Projekten basiert.<\/p>\n<p>Als Beispiel dient ein abstrakter Online-Shop, der plant, mit Amazon oder zumindest OZON zu konkurrieren. Seine Mikroservice-Architektur sieht folgenderma\u00dfen aus:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/3b85936587109631d16882a52dd1b310.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAus einer Vielzahl von Gr\u00fcnden sind diese Mikroservices auf unterschiedlichen Plattformen geschrieben worden:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/e145b212a83814218add965ce26b3fed.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDa jeder Mikroservice Autonomie haben muss, ben\u00f6tigen viele von ihnen eine eigene Datenbank und einen Cache. Die finale Architektur sieht folgenderma\u00dfen aus:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/299b2ac7b6956e295c3d59210955e5e9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Was sind die Folgen?<\/h2>\n<p>\nBei Fowler ist dazu zu sagen <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/microservice-trade-offs.html\">einen Artikel<\/a><\/noindex> \u2013 \u00fcber die \"Preise\" f\u00fcr die Nutzung von Mikrodiensten:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/50fc6ac602cb2eb8383d2103101c01ce.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir werden sehen, ob unsere Erwartungen erf\u00fcllt wurden.<\/p>\n<h3>Klare Grenzen der Module\u2026<\/h3>\n<p>\nAber <b>wie viele Mikrodienste tats\u00e4chlich angepasst werden m\u00fcssen<\/b>, um eine \u00c4nderung auszurollen? K\u00f6nnen wir \u00fcberhaupt nachvollziehen, wie alles funktioniert, ohne einen verteilten Tracer (denn jede Anfrage wird von der H\u00e4lfte der Mikrodienste verarbeitet)?<\/p>\n<p>Es gibt ein Muster von \"<noindex><a rel=\"nofollow\" href=\"http:\/\/www.laputan.org\/mud\/\">einem gro\u00dfen Klumpen Dreck<\/a><\/noindex>\", und hier haben wir es sogar mit einem verteilten Klumpen Dreck zu tun. Zur Best\u00e4tigung \u2013 hier ist eine grobe Illustration, wie Anfragen verlaufen:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/c91086409c06f5a76b1f76bec30b737d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Unabh\u00e4ngigkeit beim Deployment\u2026<\/h3>\n<p>\nTechnisch ist sie erreicht: wir k\u00f6nnen jeden Mikrodienst separat ausrollen. In der Praxis ist jedoch zu ber\u00fccksichtigen, dass immer <b>viele Mikrodienste<\/b>, und wir m\u00fcssen die <b>Reihenfolge ihres Rollout<\/b>ber\u00fccksichtigen. Im Idealfall sollten wir sogar in einem separaten Workflow testen, ob wir das Release in der richtigen Reihenfolge ausrollen.<\/p>\n<h3>Freiheit in der Technologieauswahl\u2026<\/h3>\n<p>\nDie gibt es. Man sollte jedoch daran denken, dass Freiheit oft an Chaos grenzt. Es ist wichtig, Technologien nicht nur auszuw\u00e4hlen, um damit \"zu spielen\".<\/p>\n<h3>Unabh\u00e4ngigkeit in der Entwicklung\u2026<\/h3>\n<p>\nWie erstellen wir einen Testablauf f\u00fcr die gesamte Anwendung (aus so vielen Komponenten)? Und zugleich muss er aktuell gehalten werden. Das f\u00fchrt dazu, dass <b>die tats\u00e4chliche Anzahl der Testabl\u00e4ufe<\/b>, die wir prinzipiell aufrechterhalten k\u00f6nnen, <b>minimal bleibt<\/b>.<\/p>\n<p>Und alles lokal einzurichten? Es scheint, dass der Entwickler h\u00e4ufig unabh\u00e4ngig arbeitet, aber \"ins Blaue hinein\", weil er darauf warten muss, dass ein Testablauf frei wird.<\/p>\n<h3>Getrenntes Skalieren\u2026<\/h3>\n<p>\nJa, aber es ist in Bezug auf die verwendeten DBMS eingeschr\u00e4nkt. In dem gegebenen Architekturbeispiel wird es bei Cassandra keine Probleme geben, aber bei MySQL und PostgreSQL schon.<\/p>\n<h3>B<i>o<\/i>gr\u00f6\u00dfere Zuverl\u00e4ssigkeit\u2026<\/h3>\n<p>\nAbgesehen davon, dass die Ausfallzeit eines Mikrodienstes oft das ordnungsgem\u00e4\u00dfe Funktionieren des gesamten Systems st\u00f6rt, gibt es ein neues Problem: <b>jeden Mikrodienst ausfallsicher zu machen, ist sehr schwierig<\/b>. Denn in Mikrodiensten werden unterschiedliche Technologien verwendet (memcache, Redis usw.), und f\u00fcr jeden muss alles durchdacht und implementiert werden, was nat\u00fcrlich m\u00f6glich ist, aber enorme Ressourcen erfordert.<\/p>\n<h3>Messbarkeit der Last\u2026<\/h3>\n<p>\nDamit ist wirklich alles in Ordnung.<\/p>\n<h3>Die \"Leichtigkeit\" von Microservices\u2026<\/h3>\n<p>\nWir haben nicht nur enorme <b>Netzwerk\u00fcberheadkosten<\/b> (Anfragen an DNS usw. nehmen zu), sondern auch wegen zahlreicher Subanfragen haben wir begonnen, <b>Daten zu replizieren<\/b> (Caches zu speichern), was zu erheblichem Speicherbedarf gef\u00fchrt hat.<\/p>\n<p>Und so sieht das Ergebnis im Vergleich zu unseren Erwartungen aus:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/ab189c8649d720c7add975ac54811f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Das ist aber noch nicht alles!<\/h3>\n<p>\nDenn:<\/p>\n<ul>\n<li> Wahrscheinlich ben\u00f6tigen wir eine Nachrichtenbus.<\/li>\n<li> Wie macht man ein konsistentes Backup zu einem bestimmten Zeitpunkt? Die einzige <i>realistische<\/i> L\u00f6sung ist, den Verkehr daf\u00fcr abzuschalten. Aber wie macht man das in der Produktion?<\/li>\n<li> Wenn es um die Unterst\u00fctzung mehrerer Regionen geht, ist es eine sehr aufwendige Aufgabe, die Stabilit\u00e4t in jeder von ihnen zu organisieren.<\/li>\n<li> Es entsteht das Problem der zentralisierten \u00c4nderungen. Zum Beispiel, wenn wir die PHP-Version aktualisieren m\u00fcssen, m\u00fcssen wir einen Commit in jedes Repository machen (von denen es Dutzende gibt).<\/li>\n<li> Das Wachstum der operativen Komplexit\u00e4t scheint exponentiell zu sein.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Was ist mit all dem zu tun?<\/h2>\n<p>\n<b>Beginnen Sie mit einer monolithischen Anwendung<\/b>. Erfahrungen von Fowler <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/bliki\/MonolithFirst.html\">sagen<\/a><\/noindex> zeigt, dass fast alle erfolgreichen Microservice-Anwendungen mit einem Monolithen begonnen haben, der zu gro\u00df geworden ist, und danach aufgeteilt wurde. Gleichzeitig hatten praktisch alle Systeme, die von Anfang an als Microservices konzipiert wurden, fr\u00fcher oder sp\u00e4ter ernsthafte Probleme.<\/p>\n<p>Ein weiterer wertvoller Gedanke \u2013 damit ein Projekt mit Mikrodienstarchitektur erfolgreich ist, m\u00fcssen Sie sowohl die <b>Fachdom\u00e4ne als auch die Erstellung von Microservices sehr gut verstehen.<\/b>Und der beste Weg, die Fachdom\u00e4ne zu erlernen, ist, ein Monolith zu erstellen.<\/p>\n<h2>Aber was ist zu tun, wenn wir uns bereits in einer solchen Situation befinden?<\/h2>\n<p>\nDer erste Schritt zur L\u00f6sung eines Problems besteht darin, es zu akzeptieren und zu verstehen, dass es ein Problem ist, und dass wir nicht l\u00e4nger leiden wollen.<\/p>\n<p>Wenn wir bei einem gewachsenen Monolithen (wenn wir nicht mehr in der Lage sind, Ressourcen daf\u00fcr hinzuzuf\u00fcgen) ihn aufteilen, ergibt sich in diesem Fall eine umgekehrte Situation: Wenn \u00fcberm\u00e4\u00dfige Mikroservice-Architektur nicht hilft, sondern hindert \u2013 <b>schneiden Sie das \u00dcberfl\u00fcssige ab und vergr\u00f6\u00dfern Sie<\/b>!<\/p>\n<p>Zum Beispiel f\u00fcr das oben beschriebene zusammenfassende Bild\u2026<\/p>\n<p>Befreien Sie sich von den fragw\u00fcrdigsten Microservices:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/4b72ede0452890027a950d31ced26405.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKombinieren Sie alle Microservices, die f\u00fcr die Frontend-Generierung verantwortlich sind:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/3bf2831a637cfa148b032ba8c521353a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 in einen Mikrodienst, der in einer (modernen und akzeptablen, wie Sie selbst finden) Sprache\/Framework geschrieben ist:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/73f53f5f4f41f72a7c6d187d855bbd95.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEr wird ein einziges ORM (eine DBMS) und zun\u00e4chst einige Anwendungen haben:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/f44baf6a02bf00317f1395ab339f57a9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 tats\u00e4chlich kann man viel mehr dorthin \u00fcbertragen und dabei folgendes Ergebnis erzielen:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/97c02ae24199bca42e4bf24f8031578a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn Kubernetes starten wir all dies mit separaten Instanzen, was bedeutet, dass wir die Last immer noch messen und sie separat skalieren k\u00f6nnen.<\/p>\n<h2>Zusammenfassend<\/h2>\n<p>\nBetrachten Sie das Bild aus einer breiteren Perspektive. H\u00e4ufig entstehen all diese Probleme mit Mikrodiensten, weil jemand seine eigene Aufgabe genommen hat, aber 'Mikrodienste spielen' wollte.<\/p>\n<p><b>Im Wort 'Mikrodienste' ist der Teil 'mikro' \u00fcberfl\u00fcssig.<\/b>Sie sind 'mikro' nur, weil sie kleiner als ein riesiges Monolith sind. Aber man sollte nicht denken, dass sie etwas Kleines sind.<\/p>\n<p>Und um zum abschlie\u00dfenden Gedanken zur\u00fcckzukehren, kommen wir zum urspr\u00fcnglichen Diagramm:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroservices: Gr\u00f6\u00dfe spielt eine Rolle, selbst wenn Sie Kubernetes haben\" src=\"\/wp-content\/uploads\/2019\/04\/a75665af4caa7c4982f70c59ec3c6e89.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie dazugeh\u00f6rige Anmerkung <i>(rechts oben)<\/i> l\u00e4sst sich darauf reduzieren, dass <b>die F\u00e4higkeiten des Teams, das Ihr Projekt umsetzt, immer prim\u00e4r sind.<\/b> Sie spielen entscheidend eine Rolle bei Ihrer Entscheidung zwischen Mikrodiensten und Monolith. Wenn dem Team die F\u00e4higkeiten fehlen, aber es beginnt, Mikrodienste zu erstellen, wird die Geschichte mit Sicherheit fatal sein.<\/p>\n<h2>Videos und Folien<\/h2>\n<p>\nDas Video der Pr\u00e4sentation (~50 Minuten; leider vermittelt es nicht die zahlreichen Emotionen der Teilnehmer, die das Klima des Vortrags ma\u00dfgeblich gepr\u00e4gt haben, aber wie es ist):<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"g9cgppj0gKQ\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/g9cgppj0gKQ\/hqdefault.jpg\" alt=\"Video abspielen\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p>Pr\u00e4sentation des Berichts:<\/p>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"\/\/speakerdeck.com\/player\/f4f5ab9957084712bc92aa8a0ef61e45\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><\/p>\n<h2>P.S.<\/h2>\n<p>\nWeitere Pr\u00e4sentationen in unserem Blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">\u00dcberwachung und Kubernetes<\/a><\/noindex>\u00bb <i>(Dmitri Stolyarov; 28. Mai 2018 auf RootConf)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/345116\/\">Beste CI\/CD-Praktiken mit Kubernetes und GitLab<\/a><\/noindex>\u00bb <i>(Dmitri Stolyarov; 7. November 2017 auf HighLoad++)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/331188\/\">Unsere Erfahrungen mit Kubernetes in kleinen Projekten<\/a><\/noindex>\u00bb <i>(Dmitri Stolyarov; 6. Juni 2017 auf RootConf)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/324274\/\">Docker-Images f\u00fcr CI\/CD schnell und bequem mit dapp erstellen<\/a><\/noindex>\u00bb <i>(Dmitrij Stoljarov; 8. November 2016 auf HighLoad++)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/322686\/\">Praktiken f\u00fcr Continuous Delivery mit Docker<\/a><\/noindex>\u00bb <i>(Dmitrij Stoljarov; 31. Mai 2016 auf RootConf)<\/i>.<\/li>\n<\/ul>\n<p>\nVielleicht interessieren Sie sich auch f\u00fcr folgende Ver\u00f6ffentlichungen:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/347518\/\">Der Tod des Mikrodienstes-Wahnsinns im Jahr 2018<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/425085\/\">7 beste Praktiken f\u00fcr den Betrieb von Containern laut Google<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/340270\/\">Statistik von The New Stack \u00fcber die Schwierigkeiten bei der Einf\u00fchrung von Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c. \u041d\u0430 \u043d\u0451\u043c \u043f\u0440\u043e\u0437\u0432\u0443\u0447\u0430\u043b \u0434\u043e\u043a\u043b\u0430\u0434 \u00ab\u042d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes\u00bb, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0424\u043b\u0430\u043d\u0442\u00bb \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439. \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0432\u0441\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0449\u0438\u043c\u0441\u044f \u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23651,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31761","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:42:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:42:55+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Mikrodienste: Gr\u00f6\u00dfe spielt eine Rolle, auch wenn Sie Kubernetes haben | ProHoster","description":"Am 19. September fand in Moskau das erste thematische Meetup HUG (Highload++ User Group) statt, das diesem Thema gewidmet war.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes | ProHoster","og:description":"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:42:55+00:00","article:modified_time":"2019-10-31T18:42:55+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31761","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 07:42:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:11:22","updated":"2026-01-21 07:42:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=31761"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31761\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/23651"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=31761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=31761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=31761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}