{"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>In <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audit-telecom\/blog\/504376\/\">im vorherigen Artikel<\/a><\/noindex>, ich sprach \u00fcber die Hintergrundgeschichte der Entstehung von Veliam und \u00fcber die Entscheidung, es als SaaS-System zu verbreiten. In diesem Artikel werde ich erkl\u00e4ren, was n\u00f6tig war, damit das Produkt nicht lokal, sondern \u00f6ffentlich wurde. Ich werde dar\u00fcber berichten, wie wir mit der Verbreitung begannen und welche Probleme wir dabei begegneten.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Planung<\/h3>\n<p>\nDer aktuelle Server f\u00fcr die Benutzer l\u00e4uft unter Linux. In fast jeder Organisation gibt es Windows-Server, was f\u00fcr Linux nicht gesagt werden kann. Die gro\u00dfe St\u00e4rke von Veliam ist der Remote-Zugriff auf Server und Netzwerkger\u00e4te hinter NAT. Allerdings war diese Funktionalit\u00e4t sehr stark davon abh\u00e4ngig, dass der Router unbedingt ein MikroTik sein musste. Offensichtlich w\u00fcrde das viele unzufriedenstellen. Zun\u00e4chst dachte ich dar\u00fcber nach, die Unterst\u00fctzung f\u00fcr Router der g\u00e4ngigsten Anbieter hinzuzuf\u00fcgen. Aber ich wusste, dass das ein endloser Wettlauf w\u00e4re, um die Liste der unterst\u00fctzten Firmen zu erweitern. Zudem k\u00f6nnen die bereits unterst\u00fctzten Modelle von Ger\u00e4t zu Ger\u00e4t unterschiedliche Befehle zur \u00c4nderung von NAT-Regeln haben. Die einzig praktikable L\u00f6sung erschien mir ein VPN. <\/p>\n<p>Da wir beschlossen haben, das Produkt nicht als Open Source zu verbreiten, war es nicht mehr m\u00f6glich, verschiedene Bibliotheken mit offenen Lizenzen wie GPL in unser Produkt aufzunehmen. Das ist an sich ein gro\u00dfes Thema. Nach der Entscheidung, das Produkt zu verkaufen, mussten wir die H\u00e4lfte der Bibliotheken \u00fcberpr\u00fcfen, da sie GPL waren. Als wir es f\u00fcr uns selbst geschrieben haben, war das in Ordnung. Aber f\u00fcr die Verbreitung war das nicht geeignet. Das erste VPN, das einem in den Sinn kommt, ist OpenVPN. Aber das ist GPL. Es gab auch die Option, SoftEther VPN aus Japan zu verwenden. Seine Lizenz erlaubte es, in unser Produkt integriert zu werden. Nach ein paar Tagen verschiedener Tests, um es so zu integrieren, dass der Benutzer nichts konfigurieren oder \u00fcber SoftEther VPN wissen musste, entstand ein Prototyp. Es war alles in Ordnung. Aber aus irgendeinem Grund beunruhigte uns dieses Konzept trotzdem, und letztendlich haben wir uns davon verabschiedet. Nat\u00fcrlich haben wir das erst gemacht, nachdem wir eine andere L\u00f6sung gefunden hatten. Letztendlich haben wir alles \u00fcber gew\u00f6hnliche TCP-Verbindungen realisiert. Ein Teil der Verbindungen l\u00e4uft \u00fcber einen Koordinator, ein anderer Teil direkt \u00fcber die Technologie Nat Hole Punching (NHP), die ebenfalls in Free Pascal implementiert wurde. Ich muss sagen, dass ich zuvor noch nie von NHP geh\u00f6rt hatte. Es war mir nicht in den Sinn gekommen, dass man zwei Netzwerkger\u00e4te, die sich beide hinter NAT befinden, direkt verbinden k\u00f6nnte. Ich habe das Thema durchstudiert, den Arbeitsprinzip verstanden und angefangen zu schreiben. Das Geplante wurde umgesetzt, der Benutzer verbindet sich mit einem Klick mit dem gew\u00fcnschten Ger\u00e4t hinter NAT \u00fcber RDP, SSH oder Winbox, ohne Passw\u00f6rter einzugeben oder VPN zu konfigurieren. Zudem l\u00e4uft der Gro\u00dfteil dieser Verbindungen an unserem Koordinator vorbei, was sich positiv auf die Latenz und die Kosten f\u00fcr die Wartung dieser Verbindungen auswirkt.<\/p>\n<h3>\u00dcbergang der Serverkomponenten von Linux auf Windows<\/h3>\n<p>\nEs gab mehrere Probleme beim Umstieg auf Windows. Das erste war, dass das integrierte wmic in Windows keine WQL-Abfragen erm\u00f6glicht. In unserem System war jedoch alles darauf aufgebaut. Ich kann mich nicht mehr genau erinnern, warum wir letztendlich von seiner Nutzung Abstand genommen haben. M\u00f6glicherweise liegen die Unterschiede zwischen den Windows-Versionen. Das zweite Problem war die Multithreading. Nachdem ich keine geeignete Drittanbieteranwendung mit einer f\u00fcr uns akzeptablen Lizenz gefunden habe, startete ich erneut die IDE Lazarus und schrieb das ben\u00f6tigte Tool. Als Eingabe erhalten wir die ben\u00f6tigte Liste von Objekten und die genau auszuf\u00fchrenden Abfragen, und als Antwort erhalte ich die Daten. Und das alles im Multithreading-Modus. Hervorragend.<\/p>\n<p>Nachdem ich pthreads f\u00fcr PHP unter Windows eingerichtet hatte, dachte ich, es w\u00fcrde sofort funktionieren, aber dem war nicht so. Nach einiger Zeit des Debuggens wurde mir klar, dass pthreads zwar zu funktionieren schien, jedoch in unserem System nicht funktionierte. Es stellte sich heraus, dass es eine Besonderheit im Umgang mit pthreads unter Windows gab. Das wurde best\u00e4tigt. Ich las die Dokumentation und stellte fest, dass die Anzahl der Threads f\u00fcr Windows begrenzt ist, wobei ich meine, dass dies implizit war. Das stellte ein Problem dar. Denn als ich begann, die Anzahl der Threads, bei denen die Anwendung funktionierte, zu reduzieren, wurde die Verarbeitung extrem langsam. Ich \u00f6ffnete erneut die IDE und f\u00fcgte der gleichen Anwendung die Funktionalit\u00e4t zur Multithreading-Ping\u00fcberpr\u00fcfung von Objekten hinzu. Au\u00dferdem wurde auch das Port-Scanning integriert. Tats\u00e4chlich verschwand danach die Notwendigkeit f\u00fcr pthreads in PHP, und es wird nicht mehr verwendet. Anschlie\u00dfend wurden dieser Anwendung weitere Funktionen hinzugef\u00fcgt, und sie funktioniert bis heute. Daraufhin wurde ein Installer f\u00fcr Windows erstellt, der Apache, PHP, MariaDB, die PHP-Anwendung selbst sowie eine Sammlung von Hilfsprogrammen zur Interaktion mit dem System, die in Free Pascal geschrieben wurden, enthielt. Was den Installer betrifft, so dachte ich, dass ich dieses Problem schnell l\u00f6sen k\u00f6nnte, da es sich um ein \u00e4u\u00dferst verbreitetes und f\u00fcr fast jede Software notwendiges Element handelt. Entweder suchte ich nicht richtig oder es lag an etwas anderem. Mir begegneten st\u00e4ndig Produkte, die entweder nicht flexibel genug waren oder zu teuer und dabei ebenfalls unflexibel. Schlie\u00dflich fand ich jedoch einen kostenlosen Installer, bei dem s\u00e4mtliche Anpassungen vorgesehen werden k\u00f6nnen. Das ist InnoSetup. Ich schreibe dar\u00fcber, weil ich etwas suchen musste und vielleicht jemandem damit Zeit sparen kann.<\/p>\n<h3>Abkehr vom Plugin zugunsten des eigenen Clients<\/h3>\n<p>\nIch habe bereits erw\u00e4hnt, dass der Client ein Browser mit einem 'Plugin' war. Es gab Zeiten, in denen entweder Chrome aktualisiert wurde und das Layout leicht fehlerhaft war, oder Windows aktualisiert wurde und der benutzerdefinierte URI-Schema verloren ging. Solche \u00dcberraschungen wollte ich in der \u00f6ffentlichen Produktversion vermeiden. Zudem fielen die benutzerdefinierten URIs nach jedem Windows-Update aus. Microsoft hat einfach alle nicht eigenen Verzweigungen im entsprechenden Abschnitt entfernt. Auch Google Chrome erlaubt nicht mehr, die Auswahl zum \u00d6ffnen oder Nicht\u00f6ffnen einer Anwendung aus einem benutzerdefinierten URI zu speichern und stellt diese Frage bei jedem Klick auf das \u00dcberwachungsobjekt. Generell war es notwendig, eine vern\u00fcnftige Interaktion mit dem lokalen System des Benutzers zu haben, die der Browser nicht bietet. Die einfachste L\u00f6sung in einem solchen Schema erschien, einfach einen eigenen Browser zu erstellen, wie es viele heutzutage \u00fcber Electron machen. Aber viele Dinge waren bereits in Free Pascal geschrieben, auch im Serverteil, daher entschieden wir uns, auch den Client in derselben Sprache zu erstellen, um keinen Zoo zu schaffen. So wurde der Client mit Chromium an Bord geschrieben. Danach begann er, mit verschiedenen Bindungen zu wachsen.<\/p>\n<h3>Release<\/h3>\n<p>\nEndlich haben wir einen Namen f\u00fcr das System gew\u00e4hlt. Wir haben st\u00e4ndig verschiedene Optionen in Betracht gezogen, w\u00e4hrend wir von der lokalen Version auf SaaS umschwenkten. Da wir urspr\u00fcnglich nicht nur auf den Inlandsmarkt abzielen wollten, war ein Hauptkriterium bei der Namensfindung die Verf\u00fcgbarkeit einer freien oder nicht allzu teuren Domain in der Zone \".com\". Einige Funktionen\/Module waren noch nicht von der lokalen Version nach Veliam portiert, aber wir entschieden, dass wir mit den derzeit verf\u00fcgbaren Funktionen starten und den Rest \u00fcber Updates nachliefern w\u00fcrden. In der allerersten Version gab es keinen HelpDesk, keinen Veliam Connector, man konnte die Trigger-Schwellen f\u00fcr Benachrichtigungen nicht \u00e4ndern und vieles mehr. Wir haben ein Code Sign Certificate gekauft und sowohl die Client- als auch die Server-Komponenten signiert. Eine Website f\u00fcr das Produkt wurde erstellt, und wir haben die Registrierung der Software, der Marken usw. begonnen. Kurz gesagt, wir sind bereit zu starten. Ein leichtes Gef\u00fchl der Euphorie \u00fcber die geleistete Arbeit und \u00fcber die M\u00f6glichkeit, dass jemand unser Produkt nutzen k\u00f6nnte, obwohl wir diesbez\u00fcglich keine Zweifel hatten. Und dann kam der Stopp. Der Partner sagte, dass der Markteintritt ohne Benachrichtigungen in Messenger nicht m\u00f6glich sei. Man kann auf vieles andere verzichten, aber nicht darauf. Nach einigem kurzen Streit wurde die Integration mit Telegram hinzugef\u00fcgt, was f\u00fcr uns in Ordnung war. Von allen verf\u00fcgbaren Messengern ist dies der einzige, der kostenlosen Zugang zu seinen APIs gew\u00e4hrt, ohne komplizierte Genehmigungsverfahren. WhatsApp hingegen verlangt, dass man sich an Anbieter wendet, die viel Geld f\u00fcr die Inanspruchnahme ihrer Dienste verlangen, alle Anfragen nach einem Zugang ohne Umwege wurden ignoriert. Und Viber... ich wei\u00df nicht, wer das momentan noch nutzt, da Spam und Werbung dort \u00fcberhandnehmen. Ende Dezember, nach einer Reihe interner Tests und Tests im Freundeskreis, haben wir die Registrierung f\u00fcr alle ge\u00f6ffnet und die Software zum Download bereitgestellt. <\/p>\n<h3>Markteinf\u00fchrung<\/h3>\n<p>\nVon Anfang an wussten wir, dass wir einen konstanten Nutzerstrom ben\u00f6tigen, damit die Systeme im Echtbetrieb getestet werden und wir ein erstes Feedback erhalten. Einige bezahlte Beitr\u00e4ge in VK haben Fr\u00fcchte getragen. Die ersten Registrierungen sind eingegangen. <\/p>\n<p>Hier muss erw\u00e4hnt werden, dass es sehr schwierig ist, auf den Markt zu treten, wenn Ihr Unternehmen keinen bekannten Namen hat und gleichzeitig eine funktionale agentenlose \u00dcberwachung anbietet, bei der die Anmeldedaten f\u00fcr eigene Server und Arbeitsstationen eingegeben werden m\u00fcssen. Viele Menschen schreckt das ab. Wir wussten von Anfang an, dass wir mit diesen Herausforderungen konfrontiert werden w\u00fcrden und waren sowohl technisch als auch moralisch darauf vorbereitet. Alle Remote-Verbindungen, auch wenn RDP und SSH standardm\u00e4\u00dfig verschl\u00fcsselt sind, werden zus\u00e4tzlich durch unsere Software nach AES-Standard verschl\u00fcsselt. Alle Daten von lokalen Servern werden \u00fcber HTTPS in die Cloud \u00fcbertragen. Die Anmeldedaten werden in verschl\u00fcsselter Form gespeichert. Die Verschl\u00fcsselungsschl\u00fcssel f\u00fcr alle Subsysteme sind individuell f\u00fcr jeden Kunden. 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 ein besseres Gef\u00fchl zu geben, ist, m\u00f6glichst transparent zu sein, an der Sicherheit zu arbeiten und unerm\u00fcdlich auf die Fragen der Menschen zu antworten, die sie besch\u00e4ftigen. <\/p>\n<p>F\u00fcr viele \u00fcberwiegen die Benutzerfreundlichkeit und die Funktionen der Software die Bedenken, und sie melden sich an. Einige Personen haben in ver\u00f6ffentlichten Beitr\u00e4gen in VK geschrieben, dass diese Software nicht verwendet werden kann, da sie ihre Passw\u00f6rter sammelt und das Unternehmen im Allgemeinen unbekannt ist. Es sei gesagt, dass diese Meinung nicht nur von einer Person stammt. Viele verstehen einfach nicht, dass, wenn sie eine andere propriet\u00e4re Software auf ihrem Server installieren, die als Dienst l\u00e4uft, diese ebenfalls volle Rechte im System hat und sie keine Anmeldedaten ben\u00f6tigen, um etwas Illegales zu tun (es ist klar, dass man den Benutzer \u00e4ndern kann, unter dem der Dienst l\u00e4uft, aber hier ist es dasselbe, jede beliebige Anmeldung kann verwendet werden). Tats\u00e4chlich sind die Bedenken der Menschen verst\u00e4ndlich. Die Installation von Software auf einem Server ist eine gewohnte Sache, aber die Eingabe von Anmeldedaten ist bereits etwas Angst einfl\u00f6\u00dfend und intim, da viele Menschen ein Passwort f\u00fcr alle Dienste verwenden und es ihnen zu l\u00e4stig erscheint, f\u00fcr Tests ein separates Konto zu erstellen. Aber momentan gibt es eine enorme Anzahl von Diensten, denen die Menschen ihre Anmeldedaten und mehr anvertrauen. Und wir streben danach, einer von ihnen zu werden. <\/p>\n<p>Es gab viele Kommentare dieser Art, die besagten, wir h\u00e4tten das irgendwo gestohlen. Das hat uns etwas \u00fcberrascht. Nun, die Meinung einer Person ist das eine, aber solche Kommentare tauchten in verschiedenen Ver\u00f6ffentlichungen von unterschiedlichen Personen auf. Zun\u00e4chst wussten wir nicht, wie wir darauf reagieren sollten. Ob wir traurig dar\u00fcber sein sollten, dass einige Menschen denken, in Russland k\u00f6nne niemand etwas selbst machen, sondern nur stehlen, oder ob wir uns dar\u00fcber freuen sollten, dass sie glauben, so etwas k\u00f6nne man nur stehlen. <\/p>\n<p>Wir haben jetzt den Prozess zur Erlangung des EV Code Sign Certificate abgeschlossen. Um dieses zu erhalten, muss man eine Reihe von Pr\u00fcfungen durchlaufen und eine Menge Dokumente \u00fcber das Unternehmen einreichen, von denen einige von einem Anwalt beglaubigt werden m\u00fcssen. Der Erhalt des EV Code Sign-Zertifikats unter pandemiebedingten Bedingungen ist im \u00dcbrigen ein eigenes Thema f\u00fcr einen Artikel. Der Prozess hat einen Monat gedauert. Und das war ein Monat voller Anfragen nach zus\u00e4tzlichen Dokumenten, nicht des Wartens. Vielleicht hat die Pandemie hier nichts mit zu tun, und bei allen dauerte der Prozess so lange? Teilen Sie Ihre Erfahrungen.<\/p>\n<p>Einige sagen, dass wir es nicht nutzen werden, weil es kein FSTEK-Zertifikat gibt. Es ist notwendig zu erkl\u00e4ren, dass wir es nicht erhalten k\u00f6nnen und auch nicht wollen, da f\u00fcr den Erhalt dieses Zertifikats die Verschl\u00fcsselung nach GOST erfolgen muss, w\u00e4hrend wir planen, die Software nicht nur in Russland zu verbreiten und AES verwenden.<\/p>\n<p>All diese Kommentare haben ein gewisses Misstrauen hervorgerufen, dass es m\u00f6glich ist, ein Produkt zu bewerben, bei dem Benutzerkonten eingerichtet werden m\u00fcssen, ohne dabei wirklich im Gespr\u00e4ch zu sein. Selbst unter Ber\u00fccksichtigung der Tatsache, dass wir wussten, dass es Menschen geben w\u00fcrde, die sehr negativ eingestellt sind. Nachdem die Anzahl der Registrierungen die tausend \u00fcberschritten hatte, h\u00f6rten wir auf, dar\u00fcber nachzudenken. Besonders nachdem neben den negativen Stimmen von denen, die das Produkt nicht einmal ausprobiert hatten, auch sehr positive R\u00fcckmeldungen kamen. Man muss sagen, dass diese positiven R\u00fcckmeldungen die gr\u00f6\u00dfte Motivation f\u00fcr die Entwicklung des Produkts 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: \"Machen Sie es m\u00f6glich, dass Ivan von zu Hause aus auf seinen Computer zugreifen kann.\" Wir haben ein VPN auf einem MikroTik eingerichtet und Konten f\u00fcr die Benutzer erstellt. Aber das ist eine echte Herausforderung. Die Benutzer sind oft nicht in der Lage, die Anleitung zu lesen und die Schritte zu befolgen, um sich mit dem VPN zu verbinden. Es gibt verschiedene Versionen von Windows. In einer Version klappt die Verbindung gut, in einer anderen ist ein anderer Protokolltyp erforderlich. Generell war das immer mit der Neuanpassung der Netzwerkausr\u00fcstung verbunden, die als VPN-Server fungierte. Nicht alle Mitarbeiter haben Zugang dazu, und das war oft unpraktisch. <\/p>\n<p>Wir verf\u00fcgen bereits \u00fcber Remote-Zugriffe auf Server und Netzwerkger\u00e4te. Warum nicht einen vorhandenen Transport nutzen und ein kleines, eigenst\u00e4ndiges Tool erstellen, das wir einfach den Nutzern f\u00fcr die Verbindung bereitstellen? Dabei wollten wir sicherstellen, dass der Nutzer keine komplizierten Eingaben t\u00e4tigen muss. Nur ein Knopf mit der Aufschrift \u201eVerbinden\u201c. Aber wie soll dieses Tool wissen, zu welchem Server es sich verbinden soll, wenn es nur einen Knopf gibt? Eine Idee war, eine Online-Zusammenstellung der ben\u00f6tigten Anwendung auf unseren Servern anzubieten. Der Systemadministrator dr\u00fcckt den Knopf \u201eVerkn\u00fcpfung herunterladen\u201c, und wir erhalten einen Befehl in unsere Cloud, um ein individuelles Bin\u00e4rpaket mit installierten Verbindungsinformationen zu dem gew\u00fcnschten Server\/Computer via RDP zu erstellen. Grunds\u00e4tzlich w\u00e4re das machbar gewesen. Es w\u00fcrde jedoch lange dauern, da der Administrator erst auf die Kompilierung des Bin\u00e4rpakets warten m\u00fcsste, bevor er es herunterladen kann. Man k\u00f6nnte nat\u00fcrlich einfach eine zweite Datei mit einer Konfiguration hinzuf\u00fcgen, aber das w\u00e4ren dann schon zwei Dateien, und der Nutzer ben\u00f6tigt zur Vereinfachung nur eine. Eine Datei, ein Knopf und keine Installer. Nach ein wenig Recherche bei Google bin ich zu dem Schluss gekommen, dass man einfach am Ende einer kompilierten \u201e.exe\u201c einige Informationen hinzuf\u00fcgen kann, ohne dass sie besch\u00e4digt wird (na ja, fast). Man k\u00f6nnte sogar Krieg und Frieden hinzuf\u00fcgen, und sie w\u00fcrde weiterhin funktionieren wie zuvor. Es w\u00e4re eine S\u00fcnde, dies nicht zu nutzen. Jetzt k\u00f6nnen wir direkt im Client die Anwendung entpacken, die \u00fcbrigens Veliam Connector hei\u00dft, und einfach die ben\u00f6tigten Verbindungsinformationen am Ende hinzuf\u00fcgen. Das Programm selbst wei\u00df, was damit zu tun ist. Warum habe ich oben in Klammern \u201ena ja, fast\u201c geschrieben? Weil wir f\u00fcr diesen Komfort einen Preis zahlen m\u00fcssen: die Anwendung verliert ihre digitale Signatur. Aber wir betrachten das in diesem Stadium als einen kleinen Preis f\u00fcr diesen Komfort. <\/p>\n<h3>Lizenzen f\u00fcr Drittanbieter-Module<\/h3>\n<p>\nIch habe bereits erw\u00e4hnt, dass es nach der Entscheidung, das Produkt \u00f6ffentlich zug\u00e4nglich zu machen und nicht nur f\u00fcr den internen Gebrauch, viel Arbeit erforderte, um einige Module zu ersetzen, die nicht in unser Produkt integriert werden konnten. Doch nach der Ver\u00f6ffentlichung entdeckten wir zuf\u00e4llig eine unangenehme Sache. Im Veliam Server, der auf der Kundenseite verwendet wurde, befand sich die Datenbank MariaDB. Diese steht unter der GPL-Lizenz. Die GPL-Lizenz erfordert, dass die Software Open Source ist. Wenn MariaDB, die diese Lizenz hat, in unser Produkt integriert ist, muss auch unser Produkt unter dieser Lizenz stehen. Gl\u00fccklicherweise verfolgt diese Lizenz das Ziel des Open Source und nicht die Bestrafung von denen, die versehentlich einen Fehler gemacht haben. Wenn der Rechteinhaber einen Anspruch erhebt, muss er den Verletzer schriftlich benachrichtigen, und dieser hat dann 30 Tage Zeit, um den Versto\u00df zu beheben. Wir haben unseren Fehler selbst entdeckt, keine Benachrichtigungen erhalten und sofort begonnen, L\u00f6sungen f\u00fcr das Problem zu pr\u00fcfen. Die L\u00f6sung schien offensichtlich \u2014 der Umstieg auf SQLite. Diese Datenbank hat keinerlei Lizenzbeschr\u00e4nkungen. Die meisten modernen Browser verwenden SQLite und viele andere Programme ebenfalls. Ich fand im Internet Informationen, dass SQLite als die verbreitetste Datenbank der Welt gilt, insbesondere aufgrund der Browser, aber ich habe keine Beweise gesucht, daher ist dies ungenaue Information. Ich begann zu recherchieren, welche Risiken der Umstieg auf SQLite mit sich bringt.<\/p>\n<p>Es wird bereits zu einer anspruchsvollen Aufgabe, wenn es mehrere Hundert bei Kunden installierte Server mit MariaDB und deren Daten gibt. Einige Funktionen von MariaDB sind in SQLite nicht verf\u00fcgbar. Zum Beispiel wurden im Code Abfragen wie <\/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 die Auswahl aus der Tabelle durch, sondern sperrt auch die betreffenden Datenzeilen. Einige weitere Konstruktionen mussten ebenfalls umgeschrieben werden. Neben dem Umstand, dass viele Abfragen umgeschrieben werden mussten, war es notwendig, einen Mechanismus zu entwickeln, der bei der Aktualisierung des Veliam Servers beim Kunden alle Daten in die neue Datenbank migriert und die alte entfernt. Au\u00dferdem funktionierten Transaktionen in SQLite nicht, und das war ein echtes Problem. Allerdings fand ich nach etwas Recherche im Internet schnell heraus, dass Transaktionen in SQLite aktiviert werden k\u00f6nnen, indem man beim Verbinden den einfachen Befehl \u00fcbergibt <\/p>\n<pre><code class=\"sql\">PRAGMA journal_mode=WAL;<\/code><\/pre>\n<p>\nLetztendlich wurde die Aufgabe erledigt und jetzt l\u00e4uft der Serverbereich bei den Kunden auf SQLite. Von \u00c4nderungen in der Systemfunktionalit\u00e4t haben wir nichts bemerkt.<\/p>\n<h3>Neues HelpDesk<\/h3>\n<p>\nBei der Portierung des HelpDesk-Systems von einer internen Version auf eine SaaS-Version mussten bestimmte Anpassungen vorgenommen werden. Das erste Ziel war die Integration mit der Domain des Kunden, um eine nahtlose Authentifizierung der Nutzer im System zu gew\u00e4hrleisten. Der Benutzer kann jetzt einfach auf das Desktop-Symbol klicken, um auf HelpDesk zuzugreifen und eine Anfrage zu hinterlassen; es wird automatisch ein Browser ge\u00f6ffnet. Der Nutzer muss keine Anmeldedaten eingeben. Das Apache SSPI-Modul, das zum Veliam Server geh\u00f6rt, authentifiziert den Nutzer automatisch mit dem Domain-Konto. Um eine Anfrage au\u00dferhalb des Unternehmensnetzwerks zu erstellen, klickt der Nutzer auf eine Schaltfl\u00e4che, und erh\u00e4lt eine E-Mail mit einem Link, \u00fcber den er sich ohne Passwort im HelpDesk-System anmelden kann. Wird der Nutzer im Netzwerk deaktiviert oder gel\u00f6scht, so funktioniert auch sein Konto im HelpDesk nicht mehr. Damit muss der Systemadministrator die Konten im Domain- und HelpDesk-System nicht manuell \u00fcberwachen. K\u00fcndigt ein Mitarbeiter, gen\u00fcgt es, das Konto in der Domain zu deaktivieren, und schon hat er keinen Zugriff mehr auf das System, weder im Unternehmensnetzwerk noch \u00fcber den Link. F\u00fcr die Implementierung 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\/\">f\u00fcgt die interne Website zur Intranet-Zone hinzu<\/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\/\">verteilt das Symbol an alle Benutzer auf dem Desktop<\/a><\/noindex>. <\/p>\n<p>Das Zweite, was wir f\u00fcr HelpDesk-Systeme als \u00e4u\u00dferst notwendig erachten \u2013 zumindest f\u00fcr uns selbst \u2013 ist die M\u00f6glichkeit, mit einem einzigen Klick direkt aus dem Ticket heraus auf den Anfragenden zuzugreifen. Dar\u00fcber hinaus sollten die Verbindungen auch dann funktionieren, wenn der Systemadministrator sich in einem anderen Netzwerk befindet. F\u00fcr Outsourcing ist das unerl\u00e4sslich, und auch f\u00fcr interne Systemadministratoren oft sehr wichtig. Es gibt bereits mehrere Produkte, die hervorragend mit der Aufgabe der Remote-Verbindungen umgehen. Daher haben wir beschlossen, Integrationen daf\u00fcr zu schaffen. Momentan haben wir eine Integration f\u00fcr VNC entwickelt, und in Zukunft planen wir, Radmin und TeamViewer hinzuzuf\u00fcgen. Mit unserem Netzwerktransport f\u00fcr Remote-Verbindungen zur Infrastruktur haben wir es erm\u00f6glicht, dass VNC zu Remote-Workstations hinter NAT verbindet. Dasselbe wird auch f\u00fcr Radmin gelten. Jetzt muss der Systemadministrator nur in dem Ticket auf die Schaltfl\u00e4che \"Mit Anfragenden verbinden\" klicken. Der VNC-Client \u00f6ffnet sich und stellt die Verbindung zum Anfragenden her, unabh\u00e4ngig davon, ob Sie sich im selben Netzwerk befinden oder zuhause in Pantoffeln sitzen. Vorausgesetzt, der Systemadministrator hat mithilfe von GPO VNC Server auf allen Arbeitsstationen installiert. <\/p>\n<p>Wir steigen jetzt selbst auf das neue HelpDesk um und nutzen die Integration mit der Domain und VNC. Das ist f\u00fcr uns sehr praktisch. Jetzt m\u00fcssen wir nicht mehr f\u00fcr TeamViewer bezahlen, das wir \u00fcber drei Jahre lang f\u00fcr unseren Support verwendet haben.<\/p>\n<h3>Was planen wir als N\u00e4chstes?<\/h3>\n<p>\nAls wir unser Produkt ver\u00f6ffentlicht haben, haben wir keine kostenpflichtigen Tarife eingef\u00fchrt, sondern einfach das kostenlose Konto auf 50 Monitoring-Objekte beschr\u00e4nkt. F\u00fcnf Dutzend Netzwerkger\u00e4te und Server sollten f\u00fcr alle ausreichen, dachten wir. Doch dann begannen die Anfragen zur Erh\u00f6hung des Limits einzutreffen. Zu sagen, dass wir etwas \u00fcberrascht waren, w\u00e4re eine Untertreibung. Haben tats\u00e4chlich Unternehmen Interesse an unserer Software gezeigt, die so viele Server betreiben? Wir haben das Limit kostenlos f\u00fcr diejenigen erweitert, die solche Anfragen stellten. Bei einigen haben wir als Antwort auf ihre Anfrage sogar gefragt, warum sie so viele ben\u00f6tigen, ob sie wirklich so viele Server und Netzwerkger\u00e4te haben. Und es stellte sich heraus, dass Systemadministratoren das System in einer Weise nutzen, die wir \u00fcberhaupt nicht vorgesehen hatten. Alles war ganz einfach \u2014 unsere Software wurde nicht nur zur \u00dcberwachung von Servern, sondern auch von Arbeitsstationen eingesetzt. Daher gab es viele Anfragen zur Erh\u00f6hung der Limits. Mittlerweile haben wir bereits kostenpflichtige Tarife eingef\u00fchrt, und die Limits k\u00f6nnen nun auch selbst\u00e4ndig erweitert werden. <\/p>\n<p>Server arbeiten fast immer entweder mit SAN oder mit lokalen Festplatten in einem RAID-Verbund. Unser Produkt wurde urspr\u00fcnglich daf\u00fcr entwickelt. Der SMART-Monitoring war f\u00fcr diese Aufgabe uninteressant. Da jedoch die Leute Software zur \u00dcberwachung von Arbeitsstationen angepasst haben, gab es Anfragen f\u00fcr die Implementierung von SMART-Monitoring. Bald werden wir das umsetzen. <\/p>\n<p>Mit dem Veliam Connector ist es nicht mehr n\u00f6tig, einen VPN-Server im Unternehmensnetzwerk zu implementieren, RDGW bereitzustellen oder Ports zu den erforderlichen Maschinen f\u00fcr RDP-Verbindungen weiterzuleiten. Viele nutzen unser System nur f\u00fcr diese Remote-Verbindungen. Der Veliam Connector ist derzeit nur f\u00fcr Windows verf\u00fcgbar, w\u00e4hrend einige Firmenanwender von ihren privaten MacOS-Laptops aus auf Arbeitsstationen oder Terminals im Unternehmensnetzwerk zugreifen. Das bedeutet, dass der Systemadministrator wegen einiger Benutzer immer wieder auf das Thema Portweiterleitungen oder VPN zur\u00fcckkommen muss. Daher sind wir jetzt dabei, eine Version des Veliam Connectors f\u00fcr MacOS zu beenden. Auch die Nutzer ihrer geliebten Apple-Technik werden so die M\u00f6glichkeit haben, mit nur einem Klick auf die Unternehmensinfrastruktur zuzugreifen.<\/p>\n<p>Es gef\u00e4llt mir sehr, dass wir mit einer gro\u00dfen Anzahl von Benutzern nicht r\u00e4tseln m\u00fcssen, was die Menschen ben\u00f6tigen und was am praktischsten ist. Sie \u00e4u\u00dfern selbst ihre W\u00fcnsche, sodass wir aktuell viele Entwicklungspl\u00e4ne haben.<\/p>\n<p>Au\u00dferdem planen wir, das System jetzt ins Englische zu \u00fcbersetzen und international zu verbreiten. Wir wissen noch nicht, wie wir das Produkt au\u00dferhalb unseres Landes vertreiben werden, und suchen nach M\u00f6glichkeiten. Vielleicht wird es sp\u00e4ter einen eigenen Artikel dazu geben. M\u00f6glicherweise kann jemand, der diesen Artikel gelesen hat, den richtigen Weg aufzeigen, oder kennt sich aus und bietet seine Dienste an. \u00dcber Hilfe w\u00fcrden wir uns freuen.<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 4.9.10 - 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. \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\" \/>\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) 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\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. \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\" \/>\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 Hintergr\u00fcnde zur Entstehung von Veliam und der Entscheidung f\u00fcr die Verbreitung \u00fcber ein SaaS-System behandelt. In diesem Artikel berichte ich, welche Schritte notwendig waren, damit das Produkt nicht lokal, sondern \u00f6ffentlich verbreitet werden konnte. Ich erl\u00e4utere, wie die Verbreitung begann und mit welchen Herausforderungen wir konfrontiert waren. Die aktuelle Serverinfrastruktur f\u00fcr die Nutzer basiert auf Linux. Fast","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. \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","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"},"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}]}}