{"id":42175,"date":"2019-03-18T00:00:00","date_gmt":"2019-03-17T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem"},"modified":"2020-02-18T13:45:00","modified_gmt":"2020-02-18T10:45:00","slug":"evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem","title":{"rendered":"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.\" src=\"\/wp-content\/uploads\/2019\/03\/3c677d0628824497039901c0179a8749.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIrgendwie habe ich einmal beschlossen, einen Artikel \u00fcber die Bereitstellung in Form von Docker-Containern und deb-Paketen zu schreiben, aber als ich anfing, wurde ich seltsamerweise in die fernen Zeiten der ersten Personal Computer und sogar Taschenrechner zur\u00fcckgezogen. Statt trockener Vergleiche zwischen Docker und deb sind so diese \u00dcberlegungen zur Evolution entstanden, die ich Ihnen pr\u00e4sentiere.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nJedes Produkt, egal welches, muss auf irgendeine Weise zu den Produktservern gelangen, muss konfiguriert und gestartet werden. Darum wird es in diesem Artikel gehen.<\/p>\n<p>Ich werde im historischen Kontext nachdenken, \u201ewas ich sehe, dar\u00fcber singe ich\u201c, was ich gesehen habe, als ich begonnen habe, Code zu schreiben, und was ich jetzt beobachte, was wir derzeit selbst verwenden und warum. Der Artikel erhebt keinen Anspruch auf eine umfassende Untersuchung, einige Aspekte sind ausgelassen, es ist mein pers\u00f6nlicher Blick auf das, was damals war und was heute ist.<\/p>\n<p>Also, in den guten alten Zeiten... die fr\u00fcheste Art der Bereitstellung, die ich erlebt habe, waren Kassetten von Kassettenrecordern. Ich hatte einen BK-0010.01 Computer...<\/p>\n<h2>Die \u00c4ra der Taschenrechner<\/h2>\n<p>\nNein, es gab einen noch fr\u00fcheren Moment, es gab einen anderen Taschenrechner <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-61\">MK-61<\/a><\/noindex> \u0438 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-52\">MK-52<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.\" src=\"\/wp-content\/uploads\/2019\/03\/ea68507cd83b4da3038cea7329ff1813.jpg\" style=\"display:block;margin: 0 auto;\" \/> Also, als ich den hatte <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-61\">MK-61<\/a><\/noindex>, der Weg, um das Programm zu \u00fcbertragen, war ein gew\u00f6hnliches kariertes Blatt Papier, auf dem das Programm geschrieben war. Um es bei Bedarf manuell zu starten, wurde es in den Taschenrechner eingegeben. Wenn man spielen wollte (ja, ja, sogar auf diesem uralten Taschenrechner gab es Spiele) \u2014 setzte man sich hin und gab das Programm in den Taschenrechner ein. Nat\u00fcrlich ging das Programm beim Ausschalten des Taschenrechners in das Nichts verloren. Neben den handschriftlichen Codes auf Papier wurden Programme auch in den Zeitschriften \u201eRadio\u201c und \u201eTechnik der Jugend\u201c ver\u00f6ffentlicht sowie in B\u00fcchern der damaligen Zeit gedruckt.<\/p>\n<p>Die n\u00e4chste Modifikation war der Taschenrechner <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-52\">MK-52<\/a><\/noindex>, der bereits eine Art von nichtfl\u00fcchtiger Datenspeicherung hatte. Jetzt musste das Spiel oder Programm nicht mehr manuell eingegeben werden; nach einigen magischen Knopfdr\u00fcckern wurde es automatisch geladen.<\/p>\n<p>Das gr\u00f6\u00dfte Programm im Taschenrechner hatte 105 Schritte, und der Speicher des MK-52 betrug 512 Schritte.<\/p>\n<p>\u00dcbrigens, falls es Fans dieser Taschenrechner gibt, die diesen Artikel lesen \u2014 w\u00e4hrend des Schreibens habe ich einen Emulator f\u00fcr Android und Programme daf\u00fcr gefunden. Vorw\u00e4rts in die Vergangenheit!<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.cax.pmk.ext\">MK-61 Emulator f\u00fcr Android<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/xvadim.github.io\/xbasoft\/pmk\/pmk.html\">Programmverzeichnis f\u00fcr MK-61<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<blockquote><p><b>Eine kleine Abweichung zu MK-52<\/b> <i>(aus Wikipedia)<\/i><\/p>\n<p>MK-52 flog ins All mit dem Raumschiff \u201eSojus TM-7\u201c. Er sollte verwendet werden, um die Landebahn zu berechnen, falls der Bordcomputer ausf\u00e4llt.<\/p>\n<p>MK-52 mit dem Erweiterungsmodul \u201eElektronik-Astro\u201c wurde seit 1988 auf Schiffe der Marine im Rahmen des Navigator-Rechnungssetzes geliefert. <\/p><\/blockquote>\n<h2>Die ersten Personal Computer<\/h2>\n<p><img decoding=\"async\" alt=\"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.\" src=\"\/wp-content\/uploads\/2019\/03\/5d443c3919023854c53c83ac2265cea3.jpg\" style=\"display:block;margin: 0 auto;\" \/> Lass uns zu den Zeiten zur\u00fcckkehren <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%91%D0%9A_(%D1%81%D0%B5%D0%BC%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%BE_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BE%D0%B2)\">BK-0010<\/a><\/noindex>. Es versteht sich von selbst, dass auch der Speicher gr\u00f6\u00dfer wurde und es \u00fcberhaupt nicht mehr m\u00f6glich war, den Code von Papier abzutippen (obwohl ich anfangs genau das tat, weil es einfach kein anderes Medium gab). Das Hauptmittel zur Speicherung und Lieferung von Software wurden Audiokassetten f\u00fcr Kassettenrekorder.<\/p>\n<p><br clear=\"all\"><br \/>\n<br clear=\"all\"><br \/>\n<img decoding=\"async\" alt=\"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.\" src=\"\/wp-content\/uploads\/2019\/03\/988316eac02a95a16e15502a826f0653.jpg\" style=\"display:block;margin: 0 auto;\" \/>Die Speicherung auf Kassette bestand normalerweise aus einer oder zwei Bin\u00e4rdateien, alles andere war im Inneren enthalten. Die Zuverl\u00e4ssigkeit war sehr gering, sodass man 2-3 Kopien des Programms aufbewahren musste. Auch die Ladezeiten waren entt\u00e4uschend; Enthusiasten experimentierten mit verschiedenen Frequenzcodierungen, um diese M\u00e4ngel zu beheben. Ich selbst besch\u00e4ftigte mich zu der Zeit noch nicht professionell mit Softwareentwicklung (abgesehen von einfachen Programmen in Basic), daher kann ich leider nicht im Detail erz\u00e4hlen, wie alles im Inneren funktionierte. Die Tatsache, dass im Computer haupts\u00e4chlich nur RAM vorhanden war, bestimmte in hohem Ma\u00dfe die Einfachheit des Datenspeicherschemas.<\/p>\n<h2>Das Erscheinen zuverl\u00e4ssiger und gro\u00dfer Speichertr\u00e4ger<\/h2>\n<p>\nSp\u00e4ter erscheinen Disketten, was den Kopiervorgang vereinfacht und die Zuverl\u00e4ssigkeit erh\u00f6ht.<br \/>\nDie Situation \u00e4ndert sich jedoch grundlegend, als ausreichend gro\u00dfe lokale Speicher in Form von HDDs verf\u00fcgbar werden.<\/p>\n<p>Der Typ der Bereitstellung \u00e4ndert sich grundlegend: es entstehen Installationsprogramme, die den Konfigurationsprozess des Systems steuern und die Bereinigung nach der Deinstallation \u00fcbernehmen, da die Programme nicht einfach in den Speicher geladen werden, sondern bereits in den lokalen Speicher kopiert werden, aus dem unn\u00f6tige Dateien bei Bedarf entfernt werden m\u00fcssen.<\/p>\n<p>Gleichzeitig steigt die Komplexit\u00e4t der bereitgestellten Software.<br \/>\nDie Anzahl der Dateien in der Bereitstellung steigt von einer Einheit auf Hunderte und Tausende, es beginnt zu Konflikten mit Versionen von Bibliotheken und anderen Herausforderungen, wenn verschiedene Programme dieselben Daten verwenden.<\/p>\n<p><img decoding=\"async\" alt=\"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.\" src=\"\/wp-content\/uploads\/2019\/03\/48af8fca591a1061df45cd619854a59a.jpg\" style=\"display:block;margin: 0 auto;\" \/> Zu dieser Zeit war mir die Existenz von Linux noch unbekannt, ich lebte in der Welt von MS DOS und sp\u00e4ter Windows und programmierte in Borland Pascal und Delphi, manchmal schielte ich in Richtung C++. Viele verwendeten InstallShield zur Bereitstellung von Produkten in jener Zeit. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/InstallShield\">ru.wikipedia.org\/wiki\/InstallShield<\/a><\/noindex>, das alle gestellten Anforderungen an die Bereitstellung und Konfiguration von Software erfolgreich l\u00f6ste.<\/p>\n<p><br clear=\"all\"><br \/>\n<br clear=\"all\"><\/p>\n<h2>Das Zeitalter des Internets<\/h2>\n<p>\nDie Komplexit\u00e4t von Softwaresystemen nimmt weiterhin zu, da der \u00dcbergang von monolithischen und Desktop-Anwendungen zu verteilten Systemen, Thin Clients und Mikrodiensten erfolgt. Jetzt m\u00fcssen nicht nur einzelne Programme konfiguriert werden, sondern eine gesamte Suite, und zwar so, dass sie alle zusammenarbeiten.<\/p>\n<p>Das Konzept hat sich grundlegend ge\u00e4ndert, das Internet ist gekommen, und die \u00c4ra der Cloud-Dienste hat begonnen. Zun\u00e4chst nur in Form von Websites, und ernsthaft mit Diensten, davon hat damals noch niemand getr\u00e4umt. Doch das war ein Wendepunkt in der Industrie, sowohl in der Entwicklung als auch in der Bereitstellung von Anwendungen.<\/p>\n<p>Ich habe f\u00fcr mich festgestellt, dass zu diesem Zeitpunkt ein Generationenwechsel unter den Entwicklern stattfand (oder war es nur in meinem Umfeld so?), und es hatte sich das Gef\u00fchl eingestellt, dass alle alten, bew\u00e4hrten Methoden der Bereitstellung in einem Moment vergessen wurden und alles von neuem begann: Die gesamte Bereitstellung wurde durch einfache Skripte \u00fcbernommen und erhielt den stolzen Namen \u201eContinuous Delivery\u201c. Tats\u00e4chlich begann eine Phase des Chaos, in der das Alte vergessen und nicht mehr verwendet wurde, w\u00e4hrend es einfach nichts Neues gab.<\/p>\n<p>Ich erinnere mich an Zeiten, als es in dem Unternehmen, in dem ich damals arbeitete (ich werde keinen Namen nennen), statt des Builds \u00fcber Ant (Maven war damals noch nicht popul\u00e4r oder \u00fcberhaupt nicht vorhanden) \u00fcblich war, dass die Leute einfach JAR-Dateien in der IDE erstellten und sie bedenkenlos in SVN committeten. Entsprechend bestand das Deployment darin, die Datei aus SVN zu holen und sie per SSH auf die ben\u00f6tigte Maschine zu kopieren. So einfach und grob war das.<\/p>\n<p>Zur gleichen Zeit wurde die Bereitstellung einfacher Websites in PHP auf eine ganz primitive Weise durchgef\u00fchrt, n\u00e4mlich durch einfaches Kopieren der korrigierten Datei \u00fcber FTP auf die Zielmaschine. Manchmal gab es sogar das nicht \u2014 der Code wurde live auf dem Produktionsserver bearbeitet, und es war etwas Besonderes, wenn irgendwo Backups vorhanden waren.<\/p>\n<p><br clear=\"all\"><\/p>\n<h4>RPM- und DEB-Pakete<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.\" src=\"\/wp-content\/uploads\/2019\/03\/8590e7db6c67cad4b97654465ba5e946.jpg\" style=\"display:block;margin: 0 auto;\" \/>Andererseits gewannen UNIX-\u00e4hnliche Systeme mit der Entwicklung des Internets immer mehr an Beliebtheit. Besonders in dieser Zeit entdeckte ich RedHat Linux 6, etwa um das Jahr 2000. Nat\u00fcrlich gab es auch dort bestimmte Mittel zur Bereitstellung von Software. Laut Wikipedia erschien RPM als Hauptpaketmanager bereits 1995 mit der Version 2.0 von RedHat Linux. Und seitdem wird das System in Form von RPM-Paketen bereitgestellt und hat sich erfolgreich entwickelt und weiterentwickelt.<\/p>\n<p>Die Debian-Familie hat einen \u00e4hnlichen Weg eingeschlagen und liefert Software in Form von deb-Paketen, was bis heute unver\u00e4ndert geblieben ist.<\/p>\n<p>Paketmanager erm\u00f6glichen die Bereitstellung der Softwareprodukte, die Konfiguration w\u00e4hrend der Installation, die Verwaltung der Abh\u00e4ngigkeiten zwischen verschiedenen Paketen, die Deinstallation von Produkten sowie die Bereinigung \u00fcberfl\u00fcssiger Dateien im Prozess der Deinstallation. Das hei\u00dft, im Wesentlichen ist das alles, was ben\u00f6tigt wird, weshalb sie sich mehrere Jahrzehnte fast ohne \u00c4nderungen gehalten haben.<\/p>\n<p>Cloud-Computing hat zu den Paketmanagern die M\u00f6glichkeit hinzugef\u00fcgt, nicht nur von physischen Medien, sondern auch aus Cloud-Repositories zu installieren, aber im Grunde hat sich wenig ge\u00e4ndert.<\/p>\n<p>Es ist erw\u00e4hnenswert, dass es derzeit einige Bestrebungen gibt, sich von deb zu entfernen und auf snap-Pakete umzusteigen, aber dazu sp\u00e4ter mehr.<\/p>\n<p>Dieses neue Generation von Cloud-Entwicklern, die weder DEB noch RPM gekannt haben, hat ebenfalls langsam Erfahrung gesammelt, Produkte wurden komplexer, und es wurden vern\u00fcnftigere Methoden zur Bereitstellung ben\u00f6tigt als FTP, Bash-Skripte und \u00e4hnliche studentische L\u00f6sungen. <br \/>\nUnd hier kommt Docker ins Spiel, eine Mischung aus Virtualisierung, Ressourcenteilung und Bereitstellungsmechanismen. Das ist momentan angesagt und modern, aber braucht man das f\u00fcr alles? Ist das die universelle L\u00f6sung?<\/p>\n<p>Meinen Beobachtungen zufolge wird Docker oft nicht als kluge Wahl angeboten, sondern einfach, weil es in der Community besprochen wird und viele, die es empfehlen, nur damit vertraut sind. Im Gegensatz dazu wird \u00fcber die alten, bew\u00e4hrten Verpackungssysteme meist geschwiegen \u2013 sie existieren, leisten still ihren Dienst und fallen nicht auf. In so einer Situation bleibt wenig Spielraum \u2013 die Wahl ist offensichtlich \u2013 Docker.<\/p>\n<p>Ich m\u00f6chte meine Erfahrungen teilen, wie bei uns die Implementierung von Docker verlief und was letztendlich dabei herauskam.<\/p>\n<p><br clear=\"all\"><\/p>\n<h4>Selbstgeschriebene Skripte<\/h4>\n<p>\nUrspr\u00fcnglich hatten wir Bash-Skripte, die JAR-Dateien auf die entsprechenden Maschinen depolten. Jenkins steuerte diesen Prozess. Das funktionierte erfolgreich, da die JAR-Datei selbst bereits eine Sammlung ist, die Klassen, Ressourcen und sogar Konfigurationen enth\u00e4lt. Wenn man alles nach M\u00f6glichkeit hineintut \u2013 ist es nicht die schwierigste Aufgabe, es mit einem Skript zu entpacken.<\/p>\n<p>Aber Skripte haben einige Nachteile:<\/p>\n<ul>\n<li> Skripte werden oft hastig geschrieben und sind daher so primitiv, dass sie nur ein einziges erfolgreiches Szenario enthalten. Dies wird dadurch beg\u00fcnstigt, dass der Entwickler an einer schnellen Lieferung interessiert ist, w\u00e4hrend ein normaler Skript ein betr\u00e4chtliches Investieren an Ressourcen erfordert.<\/li>\n<li> Infolgedessen enthalten Skripte keine Deinstallationsverfahren.<\/li>\n<li> Es gibt kein festgelegtes Upgrade-Verfahren.<\/li>\n<li> Wenn ein neues Produkt erscheint, muss ein neuer Skript geschrieben werden.<\/li>\n<li> Es gibt keine Unterst\u00fctzung f\u00fcr Abh\u00e4ngigkeiten.<\/li>\n<\/ul>\n<p>\nNat\u00fcrlich kann man einen komplexen Skript schreiben, aber wie bereits erw\u00e4hnt \u2014 das erfordert Entwicklungszeit, und diese ist bekanntlich immer knapp.<\/p>\n<p>All dies schr\u00e4nkt den Anwendungsbereich dieser Bereitstellungsmethode auf die einfachsten Systeme ein. Es ist Zeit f\u00fcr Ver\u00e4nderungen.<\/p>\n<p><br clear=\"all\"><\/p>\n<h4>Docker<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.\" src=\"\/wp-content\/uploads\/2019\/03\/f9c6180a2775513ce88c5425727817d1.jpg\" style=\"display:block;margin: 0 auto;\" \/>Irgendwann kamen frische Mid-Level-Kollegen zu uns, die voller Ideen strotzten und von Docker tr\u00e4umten. Na dann, legen wir los! Es gab zwei Versuche. Beide waren gescheitert \u2013 sagen wir mal, aufgrund gro\u00dfer Ambitionen, aber fehlender praktischer Erfahrung. H\u00e4tte man es mit aller Kraft vorantreiben und abschlie\u00dfen sollen? Wahrscheinlich nicht \u2013 das Team sollte evolution\u00e4r auf das erforderliche Niveau wachsen, bevor es die entsprechenden Werkzeuge nutzen kann. Dar\u00fcber hinaus hatten wir bei der Verwendung von vorgefertigten Docker-Images h\u00e4ufig das Problem, dass das Netzwerk nicht korrekt funktionierte (was m\u00f6glicherweise auch mit der Unreife von Docker selbst zusammenhing) oder es schwierig war, fremde Container zu erweitern.<\/p>\n<p>Mit welchen Unannehmlichkeiten hatten wir zu k\u00e4mpfen?<\/p>\n<ul>\n<li> Netzwerkprobleme im Bridge-Modus<\/li>\n<li> Unbequem, die Logs im Container anzusehen (sofern sie nicht separat im Dateisystem der Hostmaschine ausgegeben werden)<\/li>\n<li> Gelegentlich merkw\u00fcrdiges Einfrieren von ElasticSearch innerhalb des Containers, die Ursache konnten wir nicht feststellen, der Container ist offiziell<\/li>\n<li> Unangenehm, die Shell innerhalb des Containers zu nutzen \u2013 alles ist stark eingeschr\u00e4nkt, es fehlen gewohnte Werkzeuge<\/li>\n<li> Gro\u00dfe Gr\u00f6\u00dfe der erstellten Container \u2013 teuer im Speicher<\/li>\n<li> Aufgrund der gro\u00dfen Gr\u00f6\u00dfe der Container ist es schwierig, mehrere Versionen zu unterst\u00fctzen.<\/li>\n<li> L\u00e4ngere Build-Zeit im Vergleich zu anderen Methoden (Skripte oder deb-Pakete).<\/li>\n<\/ul>\n<p>\nIst ein Spring-Service als Jar-Archiv wirklich schlechter zu deployen als \u00fcber dasselbe deb? Ist Ressourcenauswahl wirklich notwendig? Sollten wir auf n\u00fctzliche Betriebssystem-Tools verzichten, indem wir den Service in einen stark eingeschr\u00e4nkten Container packen?<\/p>\n<p>Wie die Praxis gezeigt hat, ist das in der Realit\u00e4t nicht n\u00f6tig; ein deb-Paket reicht in 90 % der F\u00e4lle aus.<\/p>\n<p>Wann funktioniert das gute alte deb einmal nicht, und wann ben\u00f6tigen wir tats\u00e4chlich Docker?<\/p>\n<p>F\u00fcr uns war das der Einsatz von Services auf Python. Viele Bibliotheken, die f\u00fcr maschinelles Lernen ben\u00f6tigt werden und in der Standardinstallation des Betriebssystems fehlen (und die vorhandenen sind nicht die richtigen Versionen), Hacks mit Konfigurationen und die Notwendigkeit, verschiedene Versionen f\u00fcr verschiedene Services zu haben, die auf demselben Host-System laufen, f\u00fchrten dazu, dass Docker die einzige sinnvolle L\u00f6sung f\u00fcr die Bereitstellung dieser komplexen Mischung war. Der Aufwand f\u00fcr die Erstellung des Docker-Containers war geringer als der Versuch, alles in separate deb-Pakete mit Abh\u00e4ngigkeiten zu packen \u2014 tats\u00e4chlich w\u00fcrde niemand in seinem gesunden Verstand daf\u00fcr \u00fcbernehmen.<\/p>\n<p>Ein zweiter Punkt, an dem Docker eingesetzt werden soll, ist die Bereitstellung von Services nach dem Blue-Green-Deployment-Schema. Hier m\u00f6chte ich jedoch eine schrittweise Erh\u00f6hung der Komplexit\u00e4t erreichen: Zuerst werden deb-Pakete erstellt, und dann wird aus diesen ein Docker-Container erstellt.<\/p>\n<p><br clear=\"all\"><\/p>\n<h4>Snap-Pakete<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Die Evolution der Liefermethoden oder \u00dcberlegungen zu Docker, deb, jar und mehr.\" src=\"\/wp-content\/uploads\/2019\/03\/8c9001b28757f8427c85e54bca5b4e73.jpg\" style=\"display:block;margin: 0 auto;\" \/> Kommen wir zur\u00fcck zu den Snap-Paketen. Sie wurden erstmals offiziell in Ubuntu 16.04 eingef\u00fchrt. Im Gegensatz zu herk\u00f6mmlichen deb-Paketen und rpm-Paketen enthalten Snap-Pakete alle Abh\u00e4ngigkeiten. Dies vermeidet einerseits Konflikte zwischen Bibliotheken, f\u00fchrt aber andererseits zu gr\u00f6\u00dferen Paketgr\u00f6\u00dfen. Au\u00dferdem kann dies auch die Sicherheit des Systems beeinflussen: Bei der Bereitstellung eines Snap-Pakets muss der Entwickler, der das Paket erstellt, alle \u00c4nderungen der verwendeten Bibliotheken im Auge behalten. Insgesamt ist die Situation nicht so eindeutig, und das allgemeine Gl\u00fcck \u00fcber ihre Verwendung tritt nicht automatisch ein. Dennoch sind sie eine durchaus vern\u00fcnftige Alternative, wenn Docker lediglich als Verpackungsmittel und nicht zur Virtualisierung genutzt wird.<\/p>\n<p><br clear=\"all\"><br \/>\nInsgesamt verwenden wir jetzt in einer sinnvollen Kombination sowohl deb-Pakete als auch Docker-Container, die wir m\u00f6glicherweise in bestimmten F\u00e4llen durch Snap-Pakete ersetzen.<\/p>\n<p class=\"for_users_only_msg\">Nur registrierte Benutzer k\u00f6nnen an der Umfrage teilnehmen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Bitte melden Sie sich an.<\/a><\/noindex>Sind Sie an Contour interessiert?<\/p>\n<h2 class=\"default-block__polling-title\">Welche Methode verwenden Sie zur Bereitstellung?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Selbstgeschriebene Skripte<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Wir kopieren manuell \u00fcber FTP<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    deb-Pakete<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    rpm-Pakete<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Snap-Pakete<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Docker-Images<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Virtuelle Maschinen<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Wir klonen die gesamte HDD<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Puppet<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ansible<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Sonstiges<\/p>\n<\/li>\n<\/ul>\n<p>    109 Nutzer haben abgestimmt. 32 Nutzer haben sich enthalten.<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/srg\/blog\/444102\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u043a-\u0442\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0434\u043e\u043a\u0435\u0440 \u0438 deb-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0447\u0430\u043b, \u043c\u0435\u043d\u044f \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043d\u0435\u0441\u043b\u043e \u0432 \u0434\u0430\u043b\u0435\u043a\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 \u0438 \u0434\u0430\u0436\u0435 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0443\u0445\u0438\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u0434\u043e\u043a\u0435\u0440\u0430 \u0438 deb \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0442 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0442\u0435\u043c\u0443 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u0438, \u043a\u043e\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u043d\u0430 \u0412\u0430\u0448 \u0441\u0443\u0434. \u041b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-42175","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u043a-\u0442\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0434\u043e\u043a\u0435\u0440 \u0438 deb-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0447\u0430\u043b, \u043c\u0435\u043d\u044f \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043d\u0435\u0441\u043b\u043e \u0432 \u0434\u0430\u043b\u0435\u043a\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 \u0438 \u0434\u0430\u0436\u0435 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0443\u0445\u0438\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u0434\u043e\u043a\u0435\u0440\u0430 \u0438 deb \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0442 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0442\u0435\u043c\u0443 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u0438, \u043a\u043e\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u043d\u0430 \u0412\u0430\u0448 \u0441\u0443\u0434. \u041b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442,\" \/>\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\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0438\u043b\u0438 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043e Docker, deb, jar \u0438 \u043f\u0440\u043e\u0447\u0435\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u043a-\u0442\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0434\u043e\u043a\u0435\u0440 \u0438 deb-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0447\u0430\u043b, \u043c\u0435\u043d\u044f \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043d\u0435\u0441\u043b\u043e \u0432 \u0434\u0430\u043b\u0435\u043a\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 \u0438 \u0434\u0430\u0436\u0435 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0443\u0445\u0438\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u0434\u043e\u043a\u0435\u0440\u0430 \u0438 deb \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0442 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0442\u0435\u043c\u0443 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u0438, \u043a\u043e\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u043d\u0430 \u0412\u0430\u0448 \u0441\u0443\u0434. \u041b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem\" \/>\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-03-17T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:45:00+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\udd47Die Evolution der Bereitstellungsmethoden oder Gedanken \u00fcber Docker, deb, jar und Co. | ProHoster","description":"Irgendwann entschloss ich mich, einen Artikel \u00fcber die Lieferung in Form von Docker-Containern und deb-Paketen zu schreiben. Doch als ich anfing, wurde ich aus irgendeinem Grund in die fernen Zeiten der ersten Personal Computer und sogar Taschenrechner zur\u00fcckversetzt. Statt trockener Vergleiche zwischen Docker und deb entstanden sozusagen diese \u00dcberlegungen zur Evolution, die ich Ihnen zur Beurteilung pr\u00e4sentiere. Jedes Produkt,","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem","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\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0438\u043b\u0438 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043e Docker, deb, jar \u0438 \u043f\u0440\u043e\u0447\u0435\u043c | ProHoster","og:description":"\u041a\u0430\u043a-\u0442\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0434\u043e\u043a\u0435\u0440 \u0438 deb-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0447\u0430\u043b, \u043c\u0435\u043d\u044f \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043d\u0435\u0441\u043b\u043e \u0432 \u0434\u0430\u043b\u0435\u043a\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 \u0438 \u0434\u0430\u0436\u0435 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0443\u0445\u0438\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u0434\u043e\u043a\u0435\u0440\u0430 \u0438 deb \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0442 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0442\u0435\u043c\u0443 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u0438, \u043a\u043e\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u043d\u0430 \u0412\u0430\u0448 \u0441\u0443\u0434. \u041b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442,","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem","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-03-17T21:00:00+00:00","article:modified_time":"2020-02-18T10:45:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"42175","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-22 07:30:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:04:29","updated":"2026-01-22 07:30:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/42175","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=42175"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/42175\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=42175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=42175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=42175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}