{"id":85605,"date":"2020-06-17T13:42:57","date_gmt":"2020-06-17T11:42:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2"},"modified":"2020-06-17T13:42:57","modified_gmt":"2020-06-17T11:42:57","slug":"iz-autsorsa-v-razrabotku-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","title":{"rendered":"Vom Outsourcing zur Entwicklung (Teil 2)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Im <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audit-telecom\/blog\/504376\/\">vorherigen Artikel<\/a><\/noindex>, ich habe die Vorgeschichte der Entstehung von Veliam und die Entscheidung \u00fcber seine Verbreitung im SaaS-System erz\u00e4hlt. In diesem Artikel werde ich erl\u00e4utern, was getan werden musste, damit das Produkt nicht lokal, sondern \u00f6ffentlich wurde. Ich werde dar\u00fcber berichten, wie wir mit der Verbreitung begonnen haben und mit welchen Problemen wir konfrontiert waren.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Planung<\/h3>\n<p>\nDer aktuelle Serverteil f\u00fcr die Benutzer lief auf Linux. In fast jeder Organisation gibt es Windows-Server, was man von Linux nicht sagen kann. Die Hauptst\u00e4rke von Veliam ist der Remote-Zugriff auf Server und Netzwerkger\u00e4te hinter NAT. Aber diese Funktion war stark davon abh\u00e4ngig, dass der Router unbedingt ein MikroTik sein musste. Das w\u00fcrde viele offensichtlich nicht zufriedenstellen. Zuerst dachte ich dar\u00fcber nach, Unterst\u00fctzung f\u00fcr Router von den g\u00e4ngigsten Anbietern hinzuzuf\u00fcgen. Aber ich wusste, dass dies ein endloser Wettlauf mit der Erweiterung der Liste unterst\u00fctzter Firmen sein w\u00fcrde. Dar\u00fcber hinaus k\u00f6nnen diejenigen, die bereits unterst\u00fctzt werden, von Modell zu Modell unterschiedliche Befehle zum \u00c4ndern der NAT-Regeln haben. Der einzige Ausweg aus der Situation schien ein VPN zu sein. <\/p>\n<p>Da wir beschlossen haben, das Produkt zu vertreiben, jedoch nicht als Open Source, d\u00fcrfen wir keine verschiedenen Bibliotheken mit offenen Lizenzen wie GPL einbeziehen. Das ist ein eigenes Thema, denn nach der Entscheidung, das Produkt zu verkaufen, mussten wir die H\u00e4lfte der Bibliotheken durchsehen, weil sie GPL waren. Als wir f\u00fcr uns selbst schrieben, war das in Ordnung. F\u00fcr den Vertrieb passt es jedoch nicht. Der erste VPN, der mir in den Sinn kommt, ist OpenVPN. Aber das ist GPL. Eine andere M\u00f6glichkeit w\u00e4re, das japanische SoftEther VPN zu verwenden. Seine Lizenz erlaubte es, es in unser Produkt einzubeziehen. Nach ein paar Tagen verschiedener Tests, wie wir es so integrieren k\u00f6nnen, dass der Benutzer \u00fcberhaupt nichts einstellen oder \u00fcber SoftEther VPN wissen muss \u2013 entstand ein Prototyp. Alles war wie gew\u00fcnscht. Aber irgendwie st\u00f6rte uns dieses Schema dennoch, und letztendlich haben wir darauf verzichtet. Nat\u00fcrlich haben wir erst dann aufgegeben, als wir eine andere Variante erfunden hatten. Schlussendlich machten wir alles \u00fcber herk\u00f6mmliche TCP-Verbindungen. Ein Teil der Verbindungen l\u00e4uft \u00fcber einen Koordinator, ein Teil direkt \u00fcber die Technologie Nat Hole Punching (NHP), die ebenfalls in Free Pascal realisiert wurde. Ich muss sagen, dass ich zuvor \u00fcberhaupt nichts \u00fcber NHP geh\u00f6rt hatte. Und mir konnte nicht in den Sinn kommen, dass man zwei Netzwerkger\u00e4te, die beide hinter NAT stehen, direkt verbinden kann. Ich habe das Thema intensiv studiert, den Arbeitsprinzip verstanden und begann zu schreiben. Das Angedachte wurde verwirklicht, der Benutzer kann sich mit einem Klick mit dem gew\u00fcnschten Ger\u00e4t hinter NAT \u00fcber RDP, SSH oder Winbox verbinden, ohne Passw\u00f6rter eingeben oder ein VPN einrichten zu m\u00fcssen. Zudem l\u00e4uft der Gro\u00dfteil dieser Verbindungen direkt an unserem Koordinator vorbei, was sich positiv auf die Latenz und die Kosten f\u00fcr die Wartung dieser Verbindungen auswirkt.<\/p>\n<h3>\u00dcbersetzung des Serverteils von Linux auf Windows<\/h3>\n<p>\nEs gab mehrere Probleme beim Wechsel zu Windows. Das erste \u2013 das integrierte wmic in Windows erlaubt keine WQL-Abfragen. In unserem System basierte schon alles darauf. Und es gab noch etwas, aber ich habe jetzt vergessen, warum wir am Ende entschieden haben, es nicht mehr zu verwenden. M\u00f6glicherweise unterscheiden sich die Versionen von Windows. Das zweite Problem war die Multithread-F\u00e4higkeit. Als ich keine gute externe Utility mit einer f\u00fcr uns \u201eakzeptablen\u201c Lizenz fand, startete ich erneut die IDE Lazarus. Und schrieb die notwendige Utility. Als Eingabe erh\u00e4lt man die ben\u00f6tigte Liste von Objekten und welche Anfragen zu stellen sind, und im Gegenzug erh\u00e4lt man Daten. Und das alles im Multithread-Betrieb. Ausgezeichnet.<\/p>\n<p>Nachdem ich pthreads f\u00fcr PHP unter Windows konfiguriert hatte, dachte ich, dass alles sofort funktionieren w\u00fcrde, aber das war nicht der Fall. Nach einiger Zeit des Debuggens stellte ich fest, dass pthreads zu funktionieren scheint, aber genau in unserem System nicht lief. Es wurde klar, dass es eine besondere Eigenheit bei der Verwendung von pthreads unter Windows gab. Und genau so war es auch. Ich las die Dokumentation und dort stand, dass die Anzahl der Threads unter Windows begrenzt ist, und zwar, soweit ich mich erinnere, implizit. Das wurde zu einem Problem. Denn als ich begann, die Anzahl der Threads zu reduzieren, bei denen die Anwendung funktionierte, arbeitete sie sehr langsam. Ich \u00f6ffnete wieder die IDE und die gleiche Utility erhielt eine Funktion zur mehrsprachigen Ping-\u00dcberpr\u00fcfung von Objekten. Und zus\u00e4tzlich auch die Port-Scans. Tats\u00e4chlich fiel nach diesem Punkt die Notwendigkeit f\u00fcr pthreads in PHP weg und es wurde nicht mehr verwendet. Danach wurden weitere Funktionen in diese Utility eingef\u00fcgt, und sie funktioniert bis heute. Anschlie\u00dfend wurde ein Installer f\u00fcr Windows zusammengestellt, der Apache, PHP, MariaDB, die PHP-Anwendung selbst und eine Reihe von Tools f\u00fcr die Interaktion mit dem System, die in Free Pascal geschrieben wurden, beinhaltete. Was den Installer betrifft, so dachte ich, dass ich dieses Problem schnell l\u00f6sen k\u00f6nnte, da es ein \u00e4u\u00dferst verbreitetes und f\u00fcr fast jede Software notwendiges Tool ist. Entweder suchte ich nicht richtig oder etwas anderes war der Fall. Aber ich stie\u00df st\u00e4ndig auf Produkte, die entweder nicht flexibel genug oder teuer und dabei auch nicht flexibel waren. Dennoch fand ich einen kostenlosen Installer, der alle gew\u00fcnschten Funktionen ber\u00fccksichtigen kann. Das ist InnoSetup. Ich schreibe hier dar\u00fcber, weil ich etwas suchen musste; vielleicht spare ich jemandem Zeit.<\/p>\n<h3>Verzicht auf das Plugin zugunsten des eigenen Clients<\/h3>\n<p>\nIch habe bereits geschrieben, dass der Client ein Browser mit einem \u201ePlugin\u201c war. Es gab Zeiten, in denen entweder Chrome aktualisiert wurde und das Layout ein wenig verzerrt war, oder Windows aktualisiert wurde und das benutzerdefinierte URI-Schema verloren ging. Solche \u00dcberraschungen in der \u00f6ffentlichen Version des Produkts wollte ich unbedingt vermeiden. Dabei begannen die benutzerdefinierten URIs nach jedem Windows-Update zu verschwinden. Microsoft hat schlichtweg alle nicht eigenen Zweige im entsprechenden Abschnitt gel\u00f6scht. Au\u00dferdem erlaubt Google Chrome jetzt nicht mehr, die Auswahl zu speichern, ob die Anwendung aus dem benutzerdefinierten URI ge\u00f6ffnet werden soll oder nicht, und stellt diese Frage bei jedem Klick auf das \u00dcberwachungsobjekt. Insgesamt war ein reibungsloses Zusammenspiel mit dem lokalen System des Benutzers notwendig, was der Browser nicht bietet. Die einfachste L\u00f6sung in einem solchen Schema scheint, einfach einen eigenen Browser zu erstellen, wie es derzeit viele \u00fcber Electron tun. Aber viele Dinge wurden bereits in Free Pascal geschrieben, auch im Serverbereich, weshalb wir beschlossen haben, auch den Client in derselben Sprache zu erstellen, um keinen Zoo zu schaffen. So wurde ein Client mit Chromium an Bord in Auftrag gegeben. Danach begann er, verschiedene Rahmen zu entwickeln.<\/p>\n<h3>Ver\u00f6ffentlichung<\/h3>\n<p>\nEndlich haben wir einen Namen f\u00fcr das System gefunden. Wir haben st\u00e4ndig verschiedene Optionen durchgespielt, w\u00e4hrend wir den Prozess der Umwandlung von der lokalen Version in SaaS durchf\u00fchrten. Da wir urspr\u00fcnglich geplant hatten, nicht nur auf den Binnenmarkt zu gehen, war das Hauptkriterium f\u00fcr die Namenswahl die Verf\u00fcgbarkeit einer unbesetzten oder nicht allzu teuren Domain in der \u201e.com\u201c-Zone. Einige Funktionen\/Module waren noch nicht von der lokalen Version in Veliam portiert, aber wir entschieden, dass wir mit der aktuellen Funktionalit\u00e4t starten w\u00fcrden und den Rest sp\u00e4ter in Form von Updates nachholen. In der allerersten Version gab es keinen HelpDesk, keinen Veliam Connector, man konnte die Ausl\u00f6seschwellen der Benachrichtigungstrigger nicht \u00e4ndern und vieles mehr. Wir haben ein Code Sign Certificate gekauft, die client- und serverseitigen Teile signiert. Eine Website f\u00fcr das Produkt erstellt, die Verfahren zur Registrierung der Software, des Markennamens usw. begonnen. Insgesamt sind wir bereit zu starten. Eine leichte Euphorie \u00fcber die geleistete Arbeit und die M\u00f6glichkeit, dass jemand unser Produkt nutzen wird, obwohl wir diesbez\u00fcglich keine Zweifel hatten. Und hier ein Stopp. Der Partner sagte, dass wir ohne Benachrichtigungen in Messenger nicht auf den Markt gehen k\u00f6nnen. Man kann auf vieles andere verzichten, aber nicht darauf. Nach kurzen Diskussionen wurde die Integration mit Telegram hinzugef\u00fcgt, die uns zusagte. Von allen aktuellen Messengern ist dies der einzige, der kostenlosen Zugang zu seinen APIs bietet, ohne komplizierte Genehmigungsverfahren. Dasselbe WhatsApp empfiehlt, sich an Anbieter zu wenden, die ein gutes Geld f\u00fcr die Nutzung ihrer Dienste verlangen, alle Anfragen nach Zugang ohne Zwischenschaltung wurden ignoriert. Tja, und Viber\u2026 Ich wei\u00df nicht, wer es jetzt nutzt, da Spam und Werbung dort \u00fcberhandnehmen. Ende Dezember, nach einer Reihe interner Tests und Tests unter Freunden, haben wir die Registrierung f\u00fcr alle ge\u00f6ffnet und die Software zum Download bereitgestellt. <\/p>\n<h3>Beginn der Verbreitung<\/h3>\n<p>\nVon Anfang an wussten wir, dass wir einen kleinen Nutzerstrom f\u00fcr das System brauchen, damit sie das Produkt im Echtbetrieb testen und ein erstes Feedback geben k\u00f6nnen. Einige gekaufte Posts in VK haben Fr\u00fcchte getragen. Die ersten Registrierungen gingen ein. <\/p>\n<p>Es ist wichtig zu sagen, dass es sehr schwierig ist, auf den Markt zu treten, wenn Ihr Unternehmen keinen bekannten Namen hat und dabei eine Funktionalit\u00e4t f\u00fcr agentenloses Monitoring anzubieten, bei der Benutzerkonten von eigenen Servern und Arbeitsstationen eingegeben werden m\u00fcssen. Dies erschreckt viele Menschen. Von Anfang an waren wir uns bewusst, dass wir auf Probleme sto\u00dfen w\u00fcrden und waren sowohl technisch als auch moralisch darauf vorbereitet. Alle remote Verbindungen, obwohl RDP und SSH standardm\u00e4\u00dfig bereits verschl\u00fcsselt sind, werden zus\u00e4tzlich von unserer Software nach dem AES-Standard verschl\u00fcsselt. Alle Daten von lokalen Servern werden per HTTPS in die Cloud \u00fcbertragen. Die Benutzerkonten werden in verschl\u00fcsselter Form gespeichert. Die Verschl\u00fcsselungsschl\u00fcssel f\u00fcr alle Subsysteme sind f\u00fcr alle Kunden individuell. F\u00fcr remote Verbindungen werden sogar Sitzungsschl\u00fcssel zur Verschl\u00fcsselung verwendet. <\/p>\n<p>Alles, was wir in dieser Situation tun k\u00f6nnen, um den Menschen mehr Sicherheit zu geben, ist maximale Offenheit, an der Sicherheit zu arbeiten und die Fragen der Menschen, die sie besch\u00e4ftigen, unerm\u00fcdlich zu beantworten. <\/p>\n<p>F\u00fcr viele \u00fcberwiegen der Komfort und die Funktionalit\u00e4t der Software die \u00c4ngste, und sie registrieren sich. Einige Personen haben in ver\u00f6ffentlichten Posts in VK geschrieben, dass diese Software nicht genutzt werden kann, da sie ihre Passw\u00f6rter sammelt und es sich um ein anonymes Unternehmen handelt. Man muss sagen, dass diese Meinung nicht die einzige war. Viele verstehen einfach nicht, dass, wenn sie eine andere propriet\u00e4re Software auf einem Server installieren, die als Dienst arbeitet, sie genau die gleichen vollen Rechte im System hat und keine Benutzerkonten braucht, um etwas Illegales zu tun (es ist klar, dass man den Benutzer \u00e4ndern kann, unter dem der Dienst l\u00e4uft, aber hier gilt das Gleiche, man kann jedes Benutzerkonto eingeben). In der Tat sind die Bedenken der Menschen verst\u00e4ndlich. Die Softwareinstallation auf einem Server ist eine vertraute Sache, aber die Eingabe eines Benutzerkontos ist schon ein wenig angsterregend und intim, da viele Menschen ein Passwort f\u00fcr alle Dienste haben und es zu faul ist, ein separates Konto sogar nur f\u00fcr Tests zu erstellen. Aber derzeit gibt es eine Vielzahl von Diensten, denen Menschen ihre Zugangsdaten und mehr anvertrauen. Und wir streben danach, einer von ihnen zu werden. <\/p>\n<p>Viele Kommentare hatten einen solchen Tenor, dass wir das irgendwoher gestohlen h\u00e4tten. Das hat uns etwas \u00fcberrascht. Nun, die Meinung eines Einzelnen ist das eine, aber solche Kommentare kamen in verschiedenen Ver\u00f6ffentlichungen von verschiedenen Personen vor. Zuerst wussten wir nicht, wie wir darauf reagieren sollten. Sollten wir traurig sein \u00fcber die Meinung mancher Leute, dass in Russland niemand etwas selbst tun kann, sondern nur stehlen kann, oder sollten wir uns freuen, dass man glaubt, dass man sowas nur stehlen kann? <\/p>\n<p>Jetzt haben wir das Verfahren zur Erlangung des EV Code Sign Certificate abgeschlossen. Um dieses zu erhalten, sind eine Reihe von \u00dcberpr\u00fcfungen und das Einreichen einer Menge von Unternehmensdokumenten erforderlich, von denen einige von einem Anwalt beglaubigt werden m\u00fcssen. Der Erhalt des EV Code Sign Zertifikats unter Pandemiebedingungen ist \u00fcberhaupt ein eigenes Thema f\u00fcr einen Artikel. Das Verfahren dauerte einen Monat. Und das war ein Monat nicht des Wartens, sondern st\u00e4ndiger Anfragen nach zus\u00e4tzlichen Dokumenten. Vielleicht hat die Pandemie hiermit nichts zu tun, und bei allen dauerte das Verfahren so lange? Teilen Sie Ihre Erfahrungen.<\/p>\n<p>Einige sagen, dass wir nicht nutzen werden, weil es kein FSTEC-Zertifikat gibt. Wir m\u00fcssen erkl\u00e4ren, dass wir es nicht erhalten k\u00f6nnen und nicht werden, da f\u00fcr den Erhalt dieses Zertifikats die Verschl\u00fcsselung nach GOST erfolgen muss, und wir planen die Verbreitung der Software nicht nur in Russland und verwenden AES.<\/p>\n<p>All diese Kommentare weckten ein gewisses Unbehagen dar\u00fcber, dass es m\u00f6glich sein k\u00f6nnte, ein Produkt zu bewerben, f\u00fcr das Konten eingerichtet werden m\u00fcssen, ohne dabei in der \u00d6ffentlichkeit zu stehen. Selbst in Anbetracht der Tatsache, dass wir wussten, dass es Leute geben w\u00fcrde, die dies sehr negativ bewerten. Nachdem die Anzahl der Registrierungen die Tausend \u00fcberschritt, h\u00f6rten wir auf, dar\u00fcber nachzudenken. Besonders nachdem neben der negativen Resonanz von denen, die das Produkt nicht einmal ausprobiert haben, auch sehr positive Bewertungen aufkamen. Man muss sagen, dass diese positiven Bewertungen der gr\u00f6\u00dfte Motivator f\u00fcr die Produktentwicklung sind.<\/p>\n<h3>Hinzuf\u00fcgen der Funktionalit\u00e4t f\u00fcr den Fernzugriff f\u00fcr Mitarbeiter<\/h3>\n<p>\nEine h\u00e4ufige Anfrage von Kunden ist: \u201eGeben Sie Wanja Zugriff auf seinen Computer von zu Hause aus\u201c. Wir haben VPN auf MikroTik eingerichtet und Benutzerkonten f\u00fcr die Nutzer erstellt. Aber das ist wirklich ein Problem. Die Benutzer sind nicht in der Lage, die Anleitung zu lesen und sie Schritt f\u00fcr Schritt zu befolgen, um sich \u00fcber VPN zu verbinden. Es gibt verschiedene Versionen von Windows. In einer Windows-Version funktioniert die Verbindung gut, in einer anderen ist ein anderer Protokoll erforderlich. Insgesamt war das immer mit einer Neukonfiguration der Netzwerkausr\u00fcstung verbunden, die als VPN-Server fungierte, und nicht alle Mitarbeiter haben Zugriff darauf, was unpraktisch war. <\/p>\n<p>Wir haben bereits entfernte Verbindungen zu Servern und Netzwerkger\u00e4ten. Warum nicht den vorhandenen Transport nutzen und ein kleines, separates Tool erstellen, das wir einfach dem Benutzer zum Verbinden geben k\u00f6nnen? Ich wollte nur sicherstellen, dass der Benutzer dort nichts Kompliziertes eingeben muss. Einfach nur ein Button \u201eVerbinden\u201c. Aber wie soll dieses Tool wissen, wo es sich verbinden soll, wenn es nur einen Button hat? Es gab die Idee einer online Zusammenstellung der ben\u00f6tigten Anwendung auf unseren Servern. Der Systemadministrator dr\u00fcckt die Taste \u201eVerkn\u00fcpfung herunterladen\u201c, und bei uns in der Cloud wird ein Befehl zur Zusammenstellung eines individuellen Binaries mit den verschl\u00fcsselten Verbindungsinformationen f\u00fcr den ben\u00f6tigten Server \/ Computer \u00fcber RDP gesendet. Im Grunde h\u00e4tte man das umsetzen k\u00f6nnen. Aber das dauert lange, der Administrator m\u00fcsste zun\u00e4chst warten, bis das Binary kompiliert ist, und dann bis es heruntergeladen ist. Man k\u00f6nnte nat\u00fcrlich einfach eine zweite Datei mit einer Konfiguration hinzuf\u00fcgen, aber das w\u00e4ren dann schon 2 Dateien, und f\u00fcr die Einfachheit braucht der Benutzer nur eine. Eine Datei, ein Button und keine Installer. Nachdem ich ein wenig im Internet recherchiert habe, bin ich zu dem Schluss gekommen, dass, wenn man am Ende des kompilierten \u201e.exe\u201c zus\u00e4tzliche Informationen hinzuf\u00fcgt, es nicht besch\u00e4digt wird (na ja, fast). Man k\u00f6nnte sogar Krieg und Frieden hinzuf\u00fcgen, und es w\u00fcrde weiterhin funktionieren wie zuvor. Es w\u00e4re eine S\u00fcnde, dies nicht auszunutzen. Jetzt kann man einfach unterwegs direkt im Client die Anwendung entpacken, die \u00fcbrigens Veliam Connector hei\u00dft, und einfach die ben\u00f6tigten Verbindungsinformationen am Ende erg\u00e4nzen. Und die Anwendung selbst wei\u00df, was sie damit machen soll. Warum ich weiter oben in Klammern \u201ena ja, fast\u201c geschrieben habe? Weil man f\u00fcr diesen Komfort damit bezahlen muss, dass die Anwendung ihre digitale Signatur verliert. Aber wir glauben an dieser Stelle, dass dies ein kleiner Preis f\u00fcr diesen Komfort ist. <\/p>\n<h3>Lizenzen von Drittanbietermodulen<\/h3>\n<p>\nWie bereits erw\u00e4hnt, nachdem wir beschlossen hatten, das Produkt \u00f6ffentlich zug\u00e4nglich zu machen und nicht nur f\u00fcr den eigenen Gebrauch, mussten wir betr\u00e4chtliche Anstrengungen unternehmen und alternative Module suchen, die es uns erm\u00f6glichten, Teil unseres Produktes zu sein. Doch nach der Ver\u00f6ffentlichung trat zuf\u00e4llig ein recht unangenehmes Problem auf. Im Veliam Server, der auf der Clientseite installiert war, befand sich die Datenbank MariaDB. Und diese hat eine GPL-Lizenz. Die GPL-Lizenz besagt, dass Software mit offenem Quellcode bereitgestellt werden muss, und wenn unser Produkt die MariaDB enth\u00e4lt, die diese Lizenz hat, muss auch unser Produkt unter dieser Lizenz stehen. Gl\u00fccklicherweise liegt das Ziel dieser Lizenz in der Bereitstellung von offenem Quellcode und nicht in der rechtlichen Bestrafung derjenigen, die einen Fehler gemacht haben. Wenn der Rechteinhaber eine Beschwerde hat, wird der Verletzer schriftlich informiert und muss innerhalb von 30 Tagen das Problem beheben. Wir entdeckten unseren Fehler selbst, erhielten keine Schreiben und begannen sofort, Optionen zur L\u00f6sung des Problems zu pr\u00fcfen. Die L\u00f6sung war offensichtlich: Der Wechsel zu SQLite. Diese Datenbank hat keine Lizenzbeschr\u00e4nkungen. Die meisten modernen Browser verwenden SQLite, ebenso viele andere Programme. Im Internet fand ich Informationen, dass SQLite die am weitesten verbreitete Datenbank der Welt ist, gerade wegen der Browser, aber ich suchte keine Beweise, daher k\u00f6nnte das ungenau sein. Ich begann zu untersuchen, welche Risiken der Wechsel zu SQLite birgt.<\/p>\n<p>Dies wird zu einer nicht trivialen Aufgabe, wenn es mehrere Hundert installierte Server bei Kunden mit MariaDB und den darin gespeicherten Daten gibt. Einige Funktionen von MariaDB sind in SQLite nicht verf\u00fcgbar. Zum Beispiel wurden im Code Abfragen vom Typ verwendet, <\/p>\n<pre><code class=\"sql\">Select * FROM `table` WHERE `id`&gt;1000 FOR UPDATE\n<\/code><\/pre>\n<p>\nDiese Konstruktion f\u00fchrt nicht nur eine Auswahl aus der Tabelle durch, sondern sperrt auch die betreffenden Datenzeilen. Und einige andere Konstruktionen mussten ebenfalls umgeschrieben werden. Aber abgesehen davon, dass viele Abfragen umgeschrieben werden mussten, musste auch ein Mechanismus erdacht werden, der beim Update des Veliam Servers bei den Kunden alle Daten in die neue Datenbank portiert und die alte l\u00f6scht. Au\u00dferdem funktionierten Transaktionen in SQLite nicht, was ein echtes Problem darstellte. Aber nachdem ich die Weiten des World Wide Web durchst\u00f6bert hatte, stellte ich problemlos fest, dass man Transaktionen in SQLite aktivieren kann, indem man beim Verbindungsaufbau einfach den Befehl \u00fcbergibt, <\/p>\n<pre><code class=\"sql\">PRAGMA journal_mode=WAL;<\/code><\/pre>\n<p>\nAm Ende ist die Aufgabe abgeschlossen und nun funktioniert der Serverbereich bei den Kunden mit SQLite. Irgendwelche \u00c4nderungen in der Systemleistung haben wir nicht bemerkt.<\/p>\n<h3>Neuer HelpDesk<\/h3>\n<p>\nEs war notwendig, das HelpDesk-System von der internen Version zur SaaS-Version zu portieren, jedoch mit einigen \u00c4nderungen. Das erste, was wir umsetzen wollten, war die Integration mit der Domain des Kunden bez\u00fcglich der transparenten Authentifizierung der Nutzer im System. Der Benutzer muss jetzt, um in den HelpDesk zu gelangen und eine Anfrage im System zu hinterlassen, einfach auf das Symbol auf dem Desktop klicken und der Browser \u00f6ffnet sich. Der Benutzer gibt keine Anmeldedaten ein. Das Modul f\u00fcr Apache SSPI, das Teil des Veliam Servers ist, authentifiziert den Benutzer automatisch mit dem Dom\u00e4nenbenutzerkonto. Um eine Anfrage im System zu hinterlassen, wenn der Benutzer au\u00dferhalb des Unternehmensnetzwerks ist, klickt er auf einen Button, und ihm wird ein Link per E-Mail gesendet, \u00fcber den er sich ohne Passw\u00f6rter im HelpDesk-System authentifizieren kann. Wird der Benutzer in der Domain deaktiviert oder gel\u00f6scht, funktioniert auch das Benutzerkonto im HelpDesk nicht mehr. Damit muss der Systemadministrator nicht selbst die Konten sowohl in der Domain als auch im HelpDesk \u00fcberwachen. Ein Mitarbeiter hat gek\u00fcndigt \u2013 das Benutzerkonto in der Domain wurde deaktiviert und alles, er kann das System weder aus dem Unternehmensnetzwerk noch \u00fcber den Link betreten. F\u00fcr die Umsetzung dieser Integration muss der Systemadministrator eine GPO erstellen, die <noindex><a rel=\"nofollow\" href=\"https:\/\/veliam.com\/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F\/helpdesk\/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0-%D0%B2-%D0%B7%D0%BE%D0%BD%D1%83\/\">die interne Website in die Intranetzonen hinzuf\u00fcgt<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/veliam.com\/%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F\/helpdesk\/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%8F%D1%80%D0%BB%D1%8B%D0%BA%D0%B0-helpdesk-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8-gpo\/\">das Symbol an alle Benutzer auf dem Desktop verteilt<\/a><\/noindex>. <\/p>\n<p>Was wir f\u00fcr HelpDesk-Systeme als \u00e4u\u00dferst notwendig erachten, ist die M\u00f6glichkeit, aus einem Antrag heraus mit einem Klick eine Verbindung zum Antragsteller herzustellen. Dar\u00fcber hinaus sollten die Verbindungen auch dann funktionieren, wenn der Systemadministrator sich in einem anderen Netzwerk befindet. Dies ist f\u00fcr die Outsourcing-Dienste unerl\u00e4sslich, wird aber auch h\u00e4ufig von internen Systemadministratoren ben\u00f6tigt. Es gibt bereits mehrere Produkte, die hervorragend mit der Aufgabe der Remote-Verbindungen umgehen. Deshalb haben wir beschlossen, Integrationen f\u00fcr diese zu erstellen. Momentan haben wir eine Integration f\u00fcr VNC umgesetzt und planen in Zukunft, Radmin und TeamViewer hinzuzuf\u00fcgen. Mithilfe unseres Netzwerktransports f\u00fcr Remote-Verbindungen zur Infrastruktur haben wir es erm\u00f6glicht, dass sich VNC mit Remote-Workstations hinter NAT verbindet. Das gleiche wird auch f\u00fcr Radmin funktionieren. Um sich jetzt mit einem Benutzer zu verbinden, gen\u00fcgt es, in der Anfrage auf die Schaltfl\u00e4che \u201eMit Antragsteller verbinden\u201c zu dr\u00fccken. Der VNC-Client \u00f6ffnet sich und verbindet sich mit dem Antragsteller, unabh\u00e4ngig davon, ob Sie sich im selben Netzwerk befinden oder zu Hause in Pantoffeln sitzen. Zuvor muss der Systemadministrator \u00fcber die Gruppenrichtlinie den VNC-Server auf allen Arbeitsstationen installieren. <\/p>\n<p>Jetzt wechseln wir selbst zu einem neuen HelpDesk und nutzen die Integration mit der Dom\u00e4ne und VNC. Das ist sehr praktisch f\u00fcr uns. Jetzt m\u00fcssen wir nicht mehr f\u00fcr TeamViewer bezahlen, das wir mehr als drei Jahre f\u00fcr unsere Support-Dienste genutzt haben.<\/p>\n<h3>Was wir als N\u00e4chstes planen<\/h3>\n<p>\nAls wir das Produkt ver\u00f6ffentlichten, hatten wir keine kostenpflichtigen Tarife eingerichtet, sondern unseren kostenlosen Tarif auf 50 Monitoring-Objekte beschr\u00e4nkt. F\u00fcnf Dutzend Netzwerkger\u00e4te und Server sollten f\u00fcr alle ausreichen, dachten wir. Und pl\u00f6tzlich kamen die Anfragen zur Erh\u00f6hung des Limits. Zu sagen, dass wir etwas geschockt waren, w\u00e4re eine Untertreibung. Hatten sich wirklich Unternehmen f\u00fcr unsere Software interessiert, die so viele Server besitzen? Wir haben das Limit kostenlos f\u00fcr diejenigen erh\u00f6ht, die solche Anfragen stellten. Einige fragten wir im Gegenzug, warum sie so viele ben\u00f6tigen, ob sie wirklich so viele Server und Netzwerkger\u00e4te haben. Und es stellte sich heraus, dass die Systemadministratoren begannen, das System so zu nutzen, wie wir es \u00fcberhaupt nicht geplant hatten. Es stellte sich als ganz einfach heraus \u2013 unser Softwaremonitoring begann nicht nur f\u00fcr Server, sondern auch f\u00fcr Arbeitsstationen verwendet zu werden. Daher kamen auch viele Anfragen zur Erweiterung der Limits. Inzwischen haben wir bereits kostenpflichtige Tarife eingef\u00fchrt und die Limits k\u00f6nnen nun selbstst\u00e4ndig erweitert werden. <\/p>\n<p>Server arbeiten fast immer entweder mit SAN oder mit lokalen Festplatten in RAID-Konfigurationen. Und urspr\u00fcnglich haben wir ein Produkt f\u00fcr diese konzipiert. Das Monitoring von SMART war f\u00fcr diese Aufgabe nicht relevant. Aber da die Leute die Software f\u00fcr das Monitoring von Arbeitsstationen angepasst hatten, kamen die Anfragen zur Implementierung des SMART-Monitorings. Bald werden wir es umsetzen. <\/p>\n<p>Mit dem Erscheinen von Veliam Connector war es nicht mehr notwendig, einen VPN-Server im Unternehmensnetzwerk zu implementieren oder RDGW einzurichten, oder einfach Ports zu den notwendigen Maschinen f\u00fcr die RDP-Verbindung weiterzuleiten. Viele nutzen unser System ausschlie\u00dflich f\u00fcr diese Fernverbindungen. Der Veliam Connector ist nur f\u00fcr Windows verf\u00fcgbar, und einige Unternehmensnutzer verbinden sich von ihren privaten Laptops mit MacOS zu Arbeitsstationen oder Terminals im Unternehmensnetzwerk. Daher sieht sich der Systemadministrator gezwungen, aufgrund einiger Benutzer doch wieder das Thema Portweiterleitungen oder VPN aufzugreifen. Deshalb beenden wir jetzt die Version des Veliam Connectors f\u00fcr MacOS. Benutzer ihrer geliebten Apple-Technik werden ebenfalls die M\u00f6glichkeit erhalten, sich mit einem Klick mit der Unternehmensinfrastruktur zu verbinden.<\/p>\n<p>Ich mag es sehr, dass, wenn man eine gro\u00dfe Anzahl von Nutzern im System hat, man sich nicht den Kopf dar\u00fcber zerbrechen muss, was die Menschen brauchen und was bequemer w\u00e4re. Sie \u00e4u\u00dfern selbst ihre W\u00fcnsche, so dass es f\u00fcr die nahen Entwicklungspl\u00e4ne sehr viele gibt.<\/p>\n<p>Parallel planen wir jetzt die \u00dcbersetzung des Systems ins Englische und dessen Verbreitung im Ausland. Wir wissen noch nicht, wie wir das Produkt au\u00dferhalb unseres Landes vertreiben werden, suchen nach M\u00f6glichkeiten. Vielleicht wird es sp\u00e4ter einen eigenen Artikel dar\u00fcber geben. M\u00f6glicherweise kann uns jemand, der diesen Artikel gelesen hat, den notwendigen Weg aufzeigen oder wei\u00df selbst, wie das geht, und bietet seine Dienste an. Wir w\u00e4ren dankbar f\u00fcr die Hilfe.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audit-telecom\/blog\/505678\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e \u0431\u044b \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0441\u0442\u0430\u043b \u043d\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c, \u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c. \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0431\u044b\u043b\u0430 \u043d\u0430 Linux. \u041f\u043e\u0447\u0442\u0438 [&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-85605","post","type-post","status-publish","format-standard","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=\"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.\" \/>\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\/iz-autsorsa-v-razrabotku-chast-2\" \/>\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\u0418\u0437 \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0430 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2\" \/>\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-06-17T11:42:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-17T11:42:57+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\udd47Vom Outsourcing zur Entwicklung (Teil 2) | ProHoster","description":"Im vorherigen Artikel habe ich die Vorgeschichte zur Erstellung von Veliam und zur Entscheidung \u00fcber dessen Verbreitung im SaaS-System erz\u00e4hlt.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","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\u0418\u0437 \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0430 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 (\u0427\u0430\u0441\u0442\u044c 2) | ProHoster","og:description":"\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Veliam \u0438 \u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 SaaS.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/iz-autsorsa-v-razrabotku-chast-2","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-06-17T11:42:57+00:00","article:modified_time":"2020-06-17T11:42:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"85605","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 14:33:42","updated":"2022-09-28 15:54:11","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\/85605","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=85605"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/85605\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=85605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=85605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=85605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}