{"id":75892,"date":"2020-03-29T01:43:46","date_gmt":"2020-03-28T23:43:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij"},"modified":"2020-03-29T01:43:46","modified_gmt":"2020-03-28T23:43:46","slug":"mikroservisy-kombinatornyj-vzryv-versij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij","title":{"rendered":"Mikroservices \u2013 kombinatorische Explosion der Versionen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo, Habr! Ich pr\u00e4sentiere Ihnen <i>die autorisierte \u00dcbersetzung des Artikels <noindex><a rel=\"nofollow\" href=\"https:\/\/worklifenotes.com\/2020\/03\/04\/microservices-combinatorial-explosion-of-versions\/\">Mikrodienste \u2013 Kombinatorische Explosion von Versionen<\/a><\/noindex>.<\/i><br \/>\n<img decoding=\"async\" alt=\"Mikroservices \u2013 kombinatorische Explosion der Versionen\" src=\"\/wp-content\/uploads\/2020\/03\/595431c434519e41afe45e86c5725b8d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIn einer Zeit, in der die IT-Welt allm\u00e4hlich auf Mikrodienste und Werkzeuge wie Kubernetes umschaltet, wird ein Problem immer auff\u00e4lliger. Dieses Problem ist <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D0%BC%D0%B1%D0%B8%D0%BD%D0%B0%D1%82%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%B2%D0%B7%D1%80%D1%8B%D0%B2\">die kombinatorische Explosion<\/a><\/noindex> von Versionen der Mikrodienste. Dennoch glaubt die IT-Community, dass die heutige Situation erheblich besser ist als <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Dependency_hell\">die \"Dependency hell\"<\/a><\/noindex> der vorherigen Generation von Technologien. Trotzdem ist das Versionieren von Mikrodiensten ein sehr komplexes Problem. Ein Beleg daf\u00fcr sind Artikel wie <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444130\/\">\"Gib mir meinen Monolithen zur\u00fcck\"<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nWenn Sie beim Lesen dieses Textes die Problematik noch nicht verstehen, lassen Sie es mich erkl\u00e4ren. Angenommen, Ihr Produkt besteht aus 10 Mikrodiensten. Nehmen wir nun an, dass f\u00fcr jeden dieser Mikrodienste eine neue Version ver\u00f6ffentlicht wird. Nur eine Version \u2013 ich hoffe, wir k\u00f6nnen uns alle darauf einigen, dass dies ein \u00e4u\u00dferst triviales und wenig signifikantes Faktum ist. Schauen wir uns nun jedoch unser Produkt erneut an. Mit nur einer neuen Version jedes einzelnen Komponents haben wir jetzt 2^10 \u2013 also 1024 Permutationen, wie unser Produkt zusammengesetzt werden kann.<\/p>\n<p>Falls es noch Unklarheiten gibt, lassen Sie mich die Mathematik erl\u00e4utern. Also, wir haben 10 Mikrodienste, jeder erh\u00e4lt ein Update. Das bedeutet, dass wir 2 m\u00f6gliche Versionen f\u00fcr jeden Mikrodienst haben (entweder die alte oder die neue). Nun k\u00f6nnen wir f\u00fcr jedes der Produktkomponenten eine dieser beiden Versionen verwenden. Mathematisch betrachtet ist das dasselbe, als h\u00e4tten wir eine bin\u00e4re Zahl mit 10 Ziffern. Zum Beispiel, nehmen wir an, dass 1 die neue Version und 0 die alte Version ist \u2013 dann k\u00f6nnte eine m\u00f6gliche Permutation als 1001000000 dargestellt werden \u2013 wobei die 1. und 4. Komponente aktualisiert sind, w\u00e4hrend alle anderen es nicht sind. Aus der Mathematik wissen wir, dass eine bin\u00e4re Zahl mit 10 Ziffern 2^10 oder 1024 Werte haben kann. Das hei\u00dft, wir haben das Ausma\u00df der Anzahl, mit der wir es zu tun haben, best\u00e4tigt.<\/p>\n<p>Lassen Sie uns die \u00dcberlegungen weiterf\u00fchren \u2013 was passiert, wenn wir 100 Mikrodienste haben und jeder 10 m\u00f6gliche Versionen? Die gesamte Situation wird \u00e4u\u00dferst unangenehm \u2013 nun haben wir 10^100 Permutationen \u2013 und das ist eine riesige Zahl. Trotzdem ziehe ich es vor, diese Situation genau so zu bezeichnen, denn jetzt verstecken wir uns nicht hinter Worten wie \"Kubernetes\", sondern begegnen dem Problem, wie es ist.<\/p>\n<p>Warum mich dieses Problem so fasziniert? Teilweise, weil wir vor etwa 5-6 Jahren viel \u00fcber das Problem der kombinatorischen Explosion in der Welt der NLP und KI diskutiert haben. Anstelle von Versionen hatten wir einzelne W\u00f6rter, und anstelle von Produkten hatten wir S\u00e4tze und Abs\u00e4tze. Und obwohl die Probleme in der NLP und KI nach wie vor zu einem gro\u00dfen Teil ungel\u00f6st bleiben, muss man anerkennen, dass in den letzten Jahren erhebliche Fortschritte erzielt wurden. <i>(meiner Meinung nach k\u00f6nnte der Fortschritt gr\u00f6\u00dfer sein,<b>o<\/b>wenn die Leute in der Branche etwas weniger Aufmerksamkeit auf maschinelles Lernen und etwas mehr auf andere Techniken legen w\u00fcrden \u2014 aber das ist ein anderes Thema).<\/i><\/p>\n<p>Lass uns zur Welt von DevOps und Microservices zur\u00fcckkehren. Vor uns steht ein gewaltiges Problem, das sich wie ein Elefant im Raum versteckt \u2014 denn was ich oft h\u00f6re, ist: \u201eNimm einfach Kubernetes und Helm, und alles wird gut!\u201c Aber nein, alles wird nicht gut, wenn man alles so bel\u00e4sst, wie es ist. Dar\u00fcber hinaus scheint eine analytische L\u00f6sung dieses Problems aufgrund der Komplexit\u00e4t nicht akzeptabel zu sein. Wie in der NLP sollten wir uns diesem Problem zuerst durch Eingrenzung des Suchbereichs n\u00e4hern \u2014 in diesem Fall durch den Ausschluss veralteter Permutationen.<\/p>\n<p>Eine der Dinge, die helfen k\u00f6nnen \u2014 ich habe letztes Jahr dar\u00fcber geschrieben, <noindex><a rel=\"nofollow\" href=\"https:\/\/worklifenotes.com\/2019\/03\/21\/devops-kpis-measuring-distance-between-latest-and-greatest-and-oldest-production-version\/\">wie wichtig es ist, eine minimale Streuung zwischen den Versionen zu halten, die den Kunden bereitgestellt werden.<\/a><\/noindex>Es ist auch wichtig zu beachten, dass ein gut ausgearbeiteter CI\/CD-Prozess sehr dazu beitr\u00e4gt, die Variationen zu reduzieren. Allerdings ist der aktuelle Stand der CI\/CD nicht gut genug, um das Problem der Permutationen ohne zus\u00e4tzliche Instrumente zur Dokumentation und Verfolgung von Komponenten zu l\u00f6sen.<\/p>\n<p>Was wir brauchen, ist ein Experimentiersystem in der Integrationsphase, in dem wir den Risikofaktor f\u00fcr jede Komponente bestimmen und einen automatisierten Prozess f\u00fcr die Aktualisierung verschiedener Komponenten und das Testen ohne Eingreifen eines Operators haben k\u00f6nnen \u2014 um zu sehen, was funktioniert und was nicht.<\/p>\n<p>Ein solches Experimentiersystem k\u00f6nnte folgenderma\u00dfen aussehen:<\/p>\n<ol>\n<li>Entwickler schreiben Tests (dies ist ein kritischer Schritt \u2014 denn sonst haben wir kein Bewertungskriterium \u2014 das ist wie die Datenmarkierung im maschinellen Lernen).<\/li>\n<li>Jede Komponente (Projekt) erh\u00e4lt ihr eigenes CI-System \u2014 dieser Prozess ist heute gut etabliert, und die Frage, ein CI-System f\u00fcr eine einzelne Komponente zu erstellen, ist weitgehend gel\u00f6st.<\/li>\n<li>Das \u201eIntelligente Integrationssystem\u201c sammelt die Ergebnisse verschiedener CI-Systeme und fasst Projektkomponenten zu einem Endprodukt zusammen, f\u00fchrt Tests durch und berechnet schlie\u00dflich den k\u00fcrzesten Weg, um die ben\u00f6tigte Funktionalit\u00e4t des Produkts basierend auf den vorhandenen Komponenten und Risikofaktoren zu erhalten. Wenn ein Update nicht m\u00f6glich ist, benachrichtigt dieses System die Entwickler \u00fcber die vorhandenen Komponenten und bei welchem von diesen der Fehler auftritt. Ich m\u00f6chte noch einmal betonen, dass das Testsystem hier von kritischer Bedeutung ist \u2013 da das Integrationssystem Tests als Bewertungskriterium verwendet.<\/li>\n<li>Das CD-System, das dann die Daten aus dem \u201eIntelligenten Integrationssystem\u201c erh\u00e4lt und das eigentliche Update durchf\u00fchrt. Diese Phase schlie\u00dft den Zyklus ab.<\/li>\n<\/ol>\n<p>\nZusammenfassend ist eines der gr\u00f6\u00dften Probleme f\u00fcr mich derzeit das Fehlen eines solchen \u201eIntelligenten Integrationssystems\u201c, das verschiedene Komponenten im Produkt verbindet und es so erm\u00f6glicht, nachzuvollziehen, wie das Produkt insgesamt zusammengesetzt ist. Ich w\u00e4re an den Gedanken der Community dazu interessiert (Spoiler \u2013 ich arbeite gerade an einem Projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/relizahub.com\">Reliza<\/a><\/noindex>, das ein solches intelligentes Integrationssystem werden k\u00f6nnte).<\/p>\n<p>Eine letzte Sache, die ich erw\u00e4hnen m\u00f6chte \u2013 f\u00fcr mich ist ein Monolith nicht akzeptabel f\u00fcr jedes Projekt von wenigstens mittlerer Gr\u00f6\u00dfe. Ich stehe den Versuchen, die Implementierungszeit und die Qualit\u00e4t der Entwicklung durch eine R\u00fcckkehr zum Monolithen zu beschleunigen, sehr skeptisch gegen\u00fcber. Erstens hat der Monolith ein \u00e4hnliches Problem bei der Verwaltung von Komponenten \u2013 unter den verschiedenen Bibliotheken, aus denen er besteht, ist dies jedoch nicht so offensichtlich und zeigt sich in erster Linie in der Zeit, die die Entwickler aufwenden. Eine Folge des Monolith-Problems ist die faktische Unm\u00f6glichkeit, \u00c4nderungen am Code vorzunehmen \u2013 und die extrem langsame Entwicklungsgeschwindigkeit.<\/p>\n<p>Mikroservices verbessern die Situation, jedoch sieht sich die mikroservicebasierte Architektur dann dem Problem der kombinatorischen Explosion in der Integrationsphase gegen\u00fcber. Ja, im Gro\u00dfen und Ganzen haben wir das gleiche Problem verschoben \u2013 von der Entwicklungsphase in die Integrationsphase. Meiner Meinung nach f\u00fchrt der Ansatz der Mikroservices jedoch zu besseren Ergebnissen, und die Teams erreichen schneller Ergebnisse (wahrscheinlich haupts\u00e4chlich wegen der Verringerung der Gr\u00f6\u00dfe der Entwicklungseinheit \u2013 oder <i>Batch-Gr\u00f6\u00dfe<\/i>). Allerdings hat der \u00dcbergang von Monolithen zu Mikrodiensten bisher keine ausreichende Verbesserung des Prozesses gebracht \u2014 die kombinatorische Explosion der Versionen von Mikrodiensten ist ein gro\u00dfes Problem, und wir haben gro\u00dfes Verbesserungspotenzial, w\u00e4hrend wir diese Situation angehen.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/494340\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 Microservices \u2013 Combinatorial Explosion of Versions. \u0412\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u043a\u043e\u0433\u0434\u0430 \u043c\u0438\u0440 IT \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u043e\u0434\u0435 Kubernetes, \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u042d\u0442\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2014 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0432\u0437\u0440\u044b\u0432 \u0432\u0435\u0440\u0441\u0438\u0439 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u0412\u0441\u0435 \u0436\u0435 IT \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u044f\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c \u00abDependency hell\u00bb \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":75893,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-75892","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=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\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-kombinatornyj-vzryv-versij\" \/>\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 \u2014 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0432\u0437\u0440\u044b\u0432 \u0432\u0435\u0440\u0441\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij\" \/>\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=\"2020-03-28T23:43:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-28T23:43:46+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\udd47Mikroservices \u2013 eine kombinatorische Explosion von Versionen | ProHoster","description":"Hallo, Habra!","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij","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 \u2014 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0432\u0437\u0440\u044b\u0432 \u0432\u0435\u0440\u0441\u0438\u0439 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/mikroservisy-kombinatornyj-vzryv-versij","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":"2020-03-28T23:43:46+00:00","article:modified_time":"2020-03-28T23:43:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"75892","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:47:28","updated":"2022-09-30 17:33:29","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\/75892","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=75892"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/75892\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/75893"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=75892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=75892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=75892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}