{"id":36207,"date":"2019-10-31T22:10:17","date_gmt":"2019-10-31T19:10:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\/"},"modified":"2019-10-31T22:10:17","modified_gmt":"2019-10-31T19:10:17","slug":"ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","title":{"rendered":"ISPsystem, entschuldige und lebe wohl! Warum und wie wir unser eigenes Server-Control-Panel entwickelt haben.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ISPsystem, entschuldige und lebe wohl! Warum und wie wir unser eigenes Server-Control-Panel entwickelt haben.\" src=\"\/wp-content\/uploads\/2019\/07\/512df00a9ec2d8ff8e3586dd57702924.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHallo! Wir sind \u201eHosting-Technologien\u201c und haben vor 5 Jahren gestartet <noindex><a rel=\"nofollow\" href=\"https:\/\/vdsina.ru\/?partner=habr1\">VDSina<\/a><\/noindex> \u2014 das erste VDS-Hosting, das speziell f\u00fcr Entwickler geschaffen wurde. Wir streben an, es so benutzerfreundlich wie DigitalOcean zu gestalten, jedoch mit russischer Unterst\u00fctzung, Zahlungsm\u00f6glichkeiten und Servern in Russland. Aber DigitalOcean bietet nicht nur Zuverl\u00e4ssigkeit und Preis, sondern auch Service.<\/p>\n<p>Die Software von ISPsystem stellte sich als das Seil heraus, das uns auf dem Weg zu einem gro\u00dfartigen Service die H\u00e4nde band. Vor drei Jahren nutzten wir das Billing-System Billmanager und das Server-Management-Panel VMmanager und merkten schnell, dass es praktisch unm\u00f6glich ist, einen guten Service ohne unser eigenes Panel anzubieten. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Wie ISPsystem den Komfort zunichte machte<\/h2>\n<p>\n<b>Bugs<\/b><\/p>\n<p>Wir konnten Bugs nicht selbst beheben \u2013 jedes Mal mussten wir den Support eines Dritten kontaktieren und warten. Die L\u00f6sung eines Problems erforderte immer die Reaktion eines externen Unternehmens. <\/p>\n<p>Der Support von ISPsystem antwortete normalerweise, aber die Fixes kamen nur mit mehreren Releases, und das auch nicht immer und nicht f\u00fcr alle. Manchmal wurden kritische Bugs Wochen lang nicht behoben. Wir mussten unsere Kunden beruhigen, uns entschuldigen und warten, bis ISPsystem den Bug behob.<\/p>\n<p><b>Bedrohung durch Ausfallzeiten<\/b><\/p>\n<p>Updates konnten unvorhersehbare Ausfallzeiten hervorrufen, die neue Fehler verursachten. <\/p>\n<p>Jedes Update war ein Gl\u00fccksspiel: Wir mussten das Billing-System schlie\u00dfen und Opfer an die G\u00f6tter der Updates bringen \u2013 ein paar Mal f\u00fchrte ein Update zu einer Ausfallzeit von 10-15 Minuten. Unsere Admins sa\u00dfen in der Zwischenzeit angespannt \u2013 wir hatten nie eine Ahnung, wie lange die Ausfallzeit dauern w\u00fcrde und konnten nicht vorhersagen, wann ISPsystem entschlie\u00dfen w\u00fcrde, ein neues Update herauszugeben. <\/p>\n<p>Im f\u00fcnften Generation von Billmanager wurde es besser, aber um Zugang zu den ben\u00f6tigten Funktionen zu erhalten, mussten wir die Beta installieren, die bereits w\u00f6chentlich aktualisiert wurde. Wenn etwas kaputt ging, mussten wir externen Entwicklern Zugang geben, damit sie etwas reparieren. <\/p>\n<p><b>Unbequeme Benutzeroberfl\u00e4che des Panels<\/b><\/p>\n<p>Alles war auf verschiedene Panels aufgeteilt und wurde von verschiedenen Orten aus gesteuert. Zum Beispiel zahlten Kunden \u00fcber Billmanager, w\u00e4hrend sie VDS in VMManager neu starten oder neu installieren mussten. Auch unsere Mitarbeiter mussten zwischen Fenstern wechseln, um dem Kunden zu helfen, die Last auf seinem Server zu \u00fcberpr\u00fcfen oder zu sehen, welches Betriebssystem er verwendet.<\/p>\n<p>Eine solche Benutzeroberfl\u00e4che kostet Zeit \u2013 sowohl unsere als auch die der Kunden. In einer solchen Situation kann von Benutzerfreundlichkeit wie bei DigitalOcean keine Rede sein. <\/p>\n<p><b>Kurze Lebenszyklen mit h\u00e4ufigen API-Updates<\/b><\/p>\n<p>Wir haben eigene Plugins geschrieben \u2014 zum Beispiel ein Plugin mit zus\u00e4tzlichen Zahlungsmethoden, die in VMManager nicht vorhanden sind.<\/p>\n<p>In den letzten Jahren hatte VMManager einen relativ kurzen Lebenszyklus, wobei die Namen der Variablen oder Funktionen in der API in neuen Versionen wahllos ge\u00e4ndert werden konnten \u2014 das hat unsere Plugins gebrochen. Der Support f\u00fcr alte Versionen wurde schnell eingestellt, und es musste ein Update durchgef\u00fchrt werden.<\/p>\n<p><b>Kann nicht angepasst werden.<\/b><\/p>\n<p>Genauer gesagt, kann man es, aber es ist \u00e4u\u00dferst ineffektiv. Lizenzbeschr\u00e4nkungen erlauben keine \u00c4nderungen am Quellcode, man kann nur Plugins schreiben. Die maximalen Plugins sind einige Men\u00fcelemente, ein Schritt-f\u00fcr-Schritt-Assistent. ISPsystem ist auf Universalit\u00e4t ausgelegt, aber wir ben\u00f6tigten spezielle L\u00f6sungen.<\/p>\n<p>So reifte die Entscheidung, unser eigenes Panel zu schreiben. Wir setzen uns Ziele:<\/p>\n<ul>\n<li>Schnell auf Fehler und Bugs reagieren und die M\u00f6glichkeit haben, sie selbst zu beheben, ohne den Kunden warten zu lassen.<\/li>\n<li>Den Bereich frei an die Arbeitsabl\u00e4ufe und Bed\u00fcrfnisse des Kunden anzupassen.<\/li>\n<li>Die Benutzerfreundlichkeit durch ein sauberes und verst\u00e4ndliches Design zu erh\u00f6hen.<\/li>\n<\/ul>\n<p>\nUnd begannen mit der Entwicklung.<\/p>\n<h2>Die Architektur des neuen Panels.<\/h2>\n<p>\nWir haben ein eigenst\u00e4ndiges Entwicklerteam, sodass wir das Panel selbst geschrieben haben. <br \/>\nDie Hauptarbeit wurde von drei Ingenieuren geleistet \u2014 der technische Direktor Sergey entwarf die Architektur und schrieb den Server-Agenten, Alexey k\u00fcmmerte sich um das Billing, und unser Frontend-Entwickler Artysh baute das Frontend zusammen. <\/p>\n<h3>Schritt 1. Server-Agent.<\/h3>\n<p>Der Server-Agent ist ein Webserver in Python, der die Bibliothek verwaltet <noindex><a rel=\"nofollow\" href=\"https:\/\/libvirt.org\/\">libvirt<\/a><\/noindex>, die wiederum verwaltet <noindex><a rel=\"nofollow\" href=\"https:\/\/www.qemu.org\/\">den Hypervisor Qemu-kvm.<\/a><\/noindex>. <\/p>\n<p>Der Agent verwaltet alle Dienste auf dem Server: Erstellung, Stopp, L\u00f6schung von VDS, Installation von Betriebssystemen, \u00c4nderung von Parametern und so weiter \u00fcber die Bibliothek libvirt. Zum Zeitpunkt der Ver\u00f6ffentlichung dieses Artikels sind das mehr als vierzig verschiedene Funktionen, die wir je nach Aufgabe und Bedarf des Kunden erg\u00e4nzen.<\/p>\n<p>Idealerweise k\u00f6nnte man libvirt direkt aus dem Billing heraus steuern, aber das erforderte zu viel zus\u00e4tzlichen Code, und wir entschieden uns, diese Funktionen zwischen Agent und Billing aufzuteilen \u2014 das Billing stellt einfach Anfragen an den Agenten \u00fcber die JSON-API.<\/p>\n<p>Der Agent war das erste, was wir gemacht haben, da er keine Benutzeroberfl\u00e4che erforderte und direkt aus der Konsole des Servers getestet werden konnte. <\/p>\n<p><b>Was uns der Server-Agent gebracht hat:<\/b> Es entstand eine Schicht, die das Leben f\u00fcr alle erleichtert - das Billing muss nicht mehr eine ganze Reihe von Befehlen \u00fcbermitteln, sondern nur eine Anfrage stellen. Der Agent erledigt alles Notwendige: zum Beispiel wird Platz auf der Festplatte und RAM bereitgestellt. <\/p>\n<h3>Schritt 2. Billing<\/h3>\n<p>\nF\u00fcr unseren Entwickler Alex war dies nicht das erste Control Panel - Alex ist schon lange im Hosting-Bereich t\u00e4tig, daher wusste er im Allgemeinen, was der Kunde braucht und was der Host ben\u00f6tigt.<\/p>\n<p>Billing nennen wir untereinander \"Control Panel\": es enth\u00e4lt nicht nur Geld und Dienstleistungen, sondern auch deren Verwaltung, Kundensupport und vieles mehr.<\/p>\n<p>F\u00fcr den \u00dcbergang von der Software ISPSystem war es notwendig, die vorherigen Funktionen f\u00fcr die Kunden vollst\u00e4ndig zu bewahren, alle finanziellen Transaktionen der Nutzer aus dem alten Billing in das neue zu \u00fcbertragen sowie alle Dienstleistungen und deren Verbindungen zu sichern. Wir haben untersucht, was im aktuellen Produkt vorhanden ist, dann die L\u00f6sungen der Wettbewerber, haupts\u00e4chlich DO und Vultr, betrachtet. Wir schauten uns die Nachteile und Vorteile an und sammelten R\u00fcckmeldungen von Personen, die mit den alten Produkten von ISPsystem gearbeitet haben. <\/p>\n<p>Im neuen Billing haben wir zwei Stacks verwendet: klassisches PHP, MySQL (und in Zukunft ist geplant, auf PostgreSQL umzusteigen), Yii2 als Backend-Framework und VueJS f\u00fcr das Frontend. Die Stacks arbeiten unabh\u00e4ngig voneinander, werden von verschiedenen Personen entwickelt und kommunizieren \u00fcber ein JSON-API. F\u00fcr die Entwicklung nutzen wir damals und jetzt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jetbrains.com\/phpstorm\/\">PHPStorm<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jetbrains.com\/webstorm\/\">WebStorm<\/a><\/noindex> von JetBrains und wir lieben sie sehr (Leute, hallo!)<\/p>\n<p>Das Panel ist modular aufgebaut: Module f\u00fcr Zahlungssysteme, ein Modul f\u00fcr Domainregistrare oder beispielsweise ein Modul f\u00fcr SSL-Zertifikate. Es ist einfach, eine neue Funktion hinzuzuf\u00fcgen oder eine alte zu entfernen. Die architektonische Grundlage f\u00fcr Erweiterungen ist gegeben, auch in umgekehrter Richtung, \"zum Ger\u00e4t hin.\"<br \/>\n<img decoding=\"async\" alt=\"ISPsystem, entschuldige und lebe wohl! Warum und wie wir unser eigenes Server-Control-Panel entwickelt haben.\" src=\"\/wp-content\/uploads\/2019\/07\/8f4b1bf9c16cc73023cacdde44cae0b3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Was wir erhalten haben<\/b>: ein Control Panel, \u00fcber das wir die volle Kontrolle haben. Jetzt werden Bugs in Stunden und nicht in Wochen behoben, und neue Funktionen werden auf Anfrage der Kunden und nicht nach dem Wunsch von ISPSystem umgesetzt.<\/p>\n<h3>Schritt 3. Interface<\/h3>\n<p>\n<img decoding=\"async\" alt=\"ISPsystem, entschuldige und lebe wohl! Warum und wie wir unser eigenes Server-Control-Panel entwickelt haben.\" src=\"\/wp-content\/uploads\/2019\/07\/48be006688e2246f9a416d2d6a717a82.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDas Interface ist unser gemeinsames Baby. <\/p>\n<p>Zuerst haben wir geschaut, was passiert, wenn wir eine Erweiterung \u00fcber die API von ISPsystem machen, ohne das Interface grundlegend zu \u00e4ndern. Das Ergebnis war nicht zufriedenstellend und wir entschieden uns, alles von Grund auf neu zu machen.<\/p>\n<p>Wir glaubten, dass das Wichtigste darin besteht, die Schnittstelle logisch zu gestalten, mit einem klaren und minimalistischen Design, um ein sch\u00f6nes Panel zu erhalten. Die Anordnung der Elemente wurde im Megaplan besprochen, und allm\u00e4hlich entstand die Schnittstelle, die die Benutzer jetzt im Kontrollpanel sehen. <\/p>\n<p>Zuerst kam das Design der Abrechnungsseite, da wir bereits Zahlungs-Plugins f\u00fcr ISPsystem entwickelt hatten. <\/p>\n<p><b>Frontend<\/b><\/p>\n<p>Wir entschieden uns, das Panel als SPA-Anwendung zu gestalten \u2013 ressourcenschonend und mit schneller Datenladezeit. Unser Frontend-Entwickler Artysh entschied sich, es mit Vue zu schreiben \u2013 zu der Zeit war Vue gerade erschienen. Wir vermuteten, dass das Framework dynamisch wachsen w\u00fcrde, \u00e4hnlich wie React, und dass die Vue-Community sich erweitern und eine F\u00fclle von Bibliotheken entstehen w\u00fcrde. Wir setzten auf Vue und bereuten es nicht \u2013 jetzt dauert es wenig Zeit, neue Funktionen, die bereits im Backend programmiert wurden, ins Frontend hinzuzuf\u00fcgen. Mehr \u00fcber das Frontend des Panels werden wir in einem separaten Artikel berichten.<\/p>\n<p><b>Verbindung zwischen Frontend und Backend<\/b><\/p>\n<p>Das Frontend wurde mit dem Backend \u00fcber Push-Nachrichten verbunden. Wir mussten uns anstrengen und einen eigenen Handler schreiben, aber jetzt erfolgt die Aktualisierung der Informationen auf der Seite nahezu in Echtzeit.<\/p>\n<p><b>Was wir erreicht haben:<\/b> Das Panel-Interface wurde einfacher. Wir haben es responsive gemacht, und das schnelle Laden erm\u00f6glicht die Nutzung auch auf Mobilger\u00e4ten in den letzten Minuten vor dem Abflug, ohne dass eine separate Anwendung f\u00fcr die Arbeit mit dem Panel installiert werden muss.<\/p>\n<h3>Schritt 4. Testen und Migrationsschema <\/h3>\n<p>\nAls alles gestartet war und die ersten Tests bestanden wurden, stellte sich die Frage der Migration. Zuerst richteten wir die Abrechnung ein und begannen, deren Zusammenarbeit mit dem Server-Agenten zu testen.<\/p>\n<p>Dann schrieben wir ein einfaches Skript, das die Datenbank aus der alten Abrechnung in die neue \u00fcbertr\u00e4gt.<\/p>\n<p>Wir mussten tats\u00e4chlich alles testen und \u00fcberpr\u00fcfen, da die Daten in eine neue Datenbank aus drei alten: Billmanager, VMmanager und IPmanager zusammengef\u00fchrt wurden. Vielleicht sind die Testmigrationen das Schwierigste, mit dem wir im Entwicklungsprozess des neuen Panels konfrontiert waren.<\/p>\n<p>Nach den \u00dcberpr\u00fcfungen schlossen wir die alte Abrechnung. Die endg\u00fcltige Datenmigration war ein sehr angespanntes Ereignis, aber zum Gl\u00fcck wurde sie innerhalb weniger Minuten und ohne nennenswerte Probleme durchgef\u00fchrt. Es gab einige kleinere Bugs, die wir im Laufe einer Woche beheben mussten. Die meiste Zeit nahm das Testen in Anspruch, was wir erreicht hatten.<\/p>\n<p>Dann haben wir den Kunden E-Mails mit der Adresse des neuen Panels und der Abrechnung geschickt und eine Weiterleitung eingerichtet. <\/p>\n<p><b>Insgesamt:<\/b> <b>ES LEBT!<\/b><\/p>\n<h2>Happy End<\/h2>\n<p>\nVon den ersten Stunden der Arbeit mit unserer Software haben wir die Vorteile des Wechsels gesp\u00fcrt. Der Code war vollst\u00e4ndig unser eigener und hatte eine benutzerfreundliche Architektur, und die Benutzeroberfl\u00e4che war klar und logisch.<br \/>\n<img decoding=\"async\" alt=\"ISPsystem, entschuldige und lebe wohl! Warum und wie wir unser eigenes Server-Control-Panel entwickelt haben.\" src=\"\/wp-content\/uploads\/2019\/07\/c673e49afb4bf25c8922161a8bb927a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Die erste R\u00fcckmeldung nach dem Start des neuen Panels<\/i><\/p>\n<p>Wir haben den \u00dcbergangsprozess im Dezember gestartet, kurz vor dem Neujahr 2017, als die Last am geringsten war, um den Wechsel f\u00fcr die Kunden einfacher zu gestalten \u2013 fast niemand arbeitet vor den Feiertagen.<\/p>\n<p>Das Wichtigste, was wir durch den Wechsel zu unserem System (neben allgemeiner Zuverl\u00e4ssigkeit und Benutzerfreundlichkeit) erhalten haben, ist die M\u00f6glichkeit, schnell Funktionen f\u00fcr Schl\u00fcsselkunden hinzuzuf\u00fcgen \u2013 ihnen ein Gesicht zu geben und nicht im Hintergrund zu agieren.<\/p>\n<h3>Was folgt jetzt?<\/h3>\n<p>\nWir wachsen, die Menge an Daten, Kunden und Kundendaten w\u00e4chst. Auf die Backend-Seite musste ein Memcached-Server und zwei Task-Manager mit unterschiedlichen Aufgaben hinzugef\u00fcgt werden. Auf der Frontend-Seite gibt es Caching und eigene Warteschlangen. <\/p>\n<p>Nat\u00fcrlich hatten wir auch Abenteuer w\u00e4hrend der Entwicklung und komplexer werdenden Produktgestaltung, zum Beispiel als wir HighLoad hinzugef\u00fcgt haben. <\/p>\n<p>Im n\u00e4chsten Artikel werden wir erz\u00e4hlen, wie wir den Hi-CPU-Tarif gestartet haben: \u00fcber die Hardware, Software, welche Aufgaben wir gel\u00f6st haben und was wir erreicht haben.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/460107\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u044b \u00ab\u0425\u043e\u0441\u0442\u0438\u043d\u0433 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438\u00bb \u0438 5 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 VDSina \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 vds \u0445\u043e\u0441\u0442\u0438\u043d\u0433, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041c\u044b \u0441\u0442\u0440\u0435\u043c\u0438\u043c\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u0443\u0434\u043e\u0431\u043d\u044b\u043c, \u043a\u0430\u043a DigitalOcean, \u043d\u043e \u0441 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u043e\u043f\u043b\u0430\u0442\u044b \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438. \u041d\u043e DigitalOcean \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0446\u0435\u043d\u0430, \u044d\u0442\u043e \u0435\u0449\u0435 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441. \u0421\u043e\u0444\u0442 \u043e\u0442 ISPsystem \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0432\u0435\u0440\u0435\u0432\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043b\u0430 \u043d\u0430\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36207","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"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\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\" \/>\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\udd47ISPsystem, \u043f\u0440\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0449\u0430\u0439! \u041f\u043e\u0447\u0435\u043c\u0443 \u0438 \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:10:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:10:17+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\udd47ISPsystem, entlassen und auf Wiedersehen! Warum und wie wir unser eigenes Serververwaltungs-Panel geschrieben haben | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","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\udd47ISPsystem, \u043f\u0440\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0449\u0430\u0439! \u041f\u043e\u0447\u0435\u043c\u0443 \u0438 \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ispsystem-prosti-i-proshhaj-pochemu-i-kak-my-napisali-svoyu-panel-upravleniya-serverami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:10:17+00:00","article:modified_time":"2019-10-31T19:10:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36207","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 02:25:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:48:27","updated":"2026-01-22 02:25:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36207","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=36207"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36207\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/27085"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=36207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=36207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=36207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}