{"id":35092,"date":"2019-10-31T22:02:18","date_gmt":"2019-10-31T19:02:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim\/"},"modified":"2019-10-31T22:02:18","modified_gmt":"2019-10-31T19:02:18","slug":"bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim","title":{"rendered":"\u201eBitrix24\u201c: \u201eSchnell aufgestellte Dinge z\u00e4hlen nicht als gefallen\u201c","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Der Dienst \u201eBitrix24\u201c hat heute keine Hunderte von Gigabit Traffic, keine riesigen Serverparks (obwohl es nat\u00fcrlich auch einige gibt). F\u00fcr viele Kunden ist es jedoch das Hauptwerkzeug in ihrem Unternehmen, eine echte business-kritische Anwendung. Daher darf ein Ausfall einfach nicht passieren. Und was, wenn doch ein Ausfall eingetreten ist, der Dienst jedoch so schnell \u201eauferstanden\u201c ist, dass niemand etwas bemerkt hat? Und wie gelingt es dabei, Failover zu realisieren, ohne die Qualit\u00e4t der Arbeit und die Anzahl der Kunden zu beeintr\u00e4chtigen? Alexander Demidov, Direktor der Cloud-Services bei \u201eBitrix24\u201c, hat f\u00fcr unseren Blog erz\u00e4hlt, wie sich das Reservierungssystem in den 7 Jahren des Bestehens des Produkts entwickelt hat.<\/p>\n<p><img decoding=\"async\" alt=\"\u201eBitrix24\u201c: \u201eSchnell aufgestellte Dinge z\u00e4hlen nicht als gefallen\u201c\" src=\"\/wp-content\/uploads\/2019\/06\/973fa076fc654237aa869d0ecb0dae9a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nWir haben \u201eBitrix24\u201c vor 7 Jahren als SaaS gestartet. Die gr\u00f6\u00dfte Herausforderung war wahrscheinlich folgendes: Vor dem \u00f6ffentlichen Start als SaaS existierte dieses Produkt einfach in Form einer Boxl\u00f6sung. Kunden kauften es bei uns, installierten es auf ihren eigenen Servern, und definierten ein Unternehmensportal \u2013 eine Gesamtl\u00f6sung f\u00fcr die Kommunikation der Mitarbeiter, Speicherung von Dateien, Aufgabenverwaltung, CRM und all das. Und bis 2012 haben wir beschlossen, dass wir es als SaaS starten wollen, um es selbst zu administrieren und Ausfallsicherheit sowie Zuverl\u00e4ssigkeit zu gew\u00e4hrleisten. Unsere Erfahrungen haben wir im Prozess gesammelt, denn bis zu diesem Zeitpunkt hatten wir einfach keine \u2013 wir waren nur Softwarehersteller, keine Serviceanbieter. <\/p>\n<p>Als wir den Dienst starteten, wussten wir, dass das Wichtigste darin besteht, Ausfallsicherheit, Zuverl\u00e4ssigkeit und st\u00e4ndige Verf\u00fcgbarkeit des Dienstes zu gew\u00e4hrleisten, denn wenn Sie eine einfache Website haben, beispielsweise einen Online-Shop, und sie st\u00fcrzt ab und bleibt eine Stunde lang offline, leiden nur Sie selbst, Sie verlieren Auftr\u00e4ge, Sie verlieren Kunden, aber f\u00fcr den Kunden selbst ist das nicht sehr kritisch. Er ist nat\u00fcrlich entt\u00e4uscht, aber er geht und kauft auf einer anderen Website. Wenn es sich jedoch um eine Anwendung handelt, von der die gesamte Arbeit im Unternehmen abh\u00e4ngt, Kommunikation und Entscheidungen, dann ist das Wichtigste, das Vertrauen der Benutzer zu gewinnen, d.h. sie nicht im Stich zu lassen und nicht abzust\u00fcrzen. Denn die gesamte Arbeit kann stillstehen, wenn etwas im Inneren nicht funktioniert.<\/p>\n<h4>Bitrix24 als SaaS<\/h4>\n<p>\nDen ersten Prototypen haben wir ein Jahr vor dem \u00f6ffentlichen Launch im Jahr 2011 zusammengestellt. Wir haben ihn in etwa einer Woche zusammengebaut, angesehen und ausprobiert \u2013 er war sogar schon funktionsf\u00e4hig. Das hei\u00dft, man konnte in das Formular gehen, den Namen des Portals eingeben, und es wurde ein neues Portal erstellt, und eine Benutzerdatenbank angelegt. Wir haben uns das angeschaut, das Produkt grunds\u00e4tzlich bewertet, es verworfen und ein ganzes Jahr weiter daran gearbeitet. Denn wir hatten eine gro\u00dfe Herausforderung: Wir wollten keine zwei verschiedenen Codebasen erstellen, wir wollten kein separates Box-Produkt und separate Cloud-L\u00f6sungen unterst\u00fctzen \u2013 wir wollten all das innerhalb eines Codes umsetzen. <\/p>\n<p><img decoding=\"async\" alt=\"\u201eBitrix24\u201c: \u201eSchnell aufgestellte Dinge z\u00e4hlen nicht als gefallen\u201c\" src=\"\/wp-content\/uploads\/2019\/06\/9f5781f4609b5e204f40c9c237deae03.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEin typisches Webanwendungsdesign zu diesem Zeitpunkt war ein einzelner Server, auf dem ein PHP-Code lief, eine MySQL-Datenbank, Dateien wurden hochgeladen, Dokumente und Bilder landeten im Upload-Ordner \u2013 und das war's. Leider ist es unm\u00f6glich, einen kritischen, stabilen Webdienst auf dieser Grundlage zu starten. Verteilte Caching-Methoden werden nicht unterst\u00fctzt, die Replikation von Datenbanken ist nicht m\u00f6glich. <\/p>\n<p>Wir haben die Anforderungen formuliert: Es muss m\u00f6glich sein, sich an verschiedenen Standorten zu platzieren, Replikation zu unterst\u00fctzen, idealerweise in geografisch verteilten Rechenzentren untergebracht zu werden. Die Logik des Produkts von der Datenlagerung zu trennen. Dynamisch skalierbar zu sein je nach Last, statische Daten vollst\u00e4ndig auszulagern. Aus diesen \u00dcberlegungen ergaben sich letztlich die Anforderungen an das Produkt, das wir im Laufe des Jahres entwickelt haben. W\u00e4hrend dieser Zeit haben wir in der Plattform, die uns eine Einheitlichkeit bot \u2013 sowohl f\u00fcr Box-L\u00f6sungen als auch f\u00fcr unseren eigenen Dienst \u2013 die Unterst\u00fctzung f\u00fcr die Dinge integriert, die wir ben\u00f6tigten. Unterst\u00fctzung f\u00fcr MySQL-Replikation auf Produktebene: das hei\u00dft, der Entwickler, der den Code schreibt, muss sich keine Gedanken dar\u00fcber machen, wie seine Anfragen verteilt werden, er nutzt unsere API, und wir k\u00f6nnen die Anfragen zum Schreiben und Lesen zwischen Master- und Slave-Datenbanken korrekt verteilen. <\/p>\n<p>Wir haben auf Produktebene die Unterst\u00fctzung f\u00fcr verschiedene Cloud-Objektspeicher eingerichtet: Google Storage, Amazon S3 \u2013 plus die Unterst\u00fctzung f\u00fcr OpenStack Swift. Daher war es sowohl f\u00fcr uns als Dienstleister als auch f\u00fcr die Entwickler, die mit der Box-L\u00f6sung arbeiten, praktisch: Wenn sie einfach unsere API nutzen, brauchen sie sich keine Gedanken dar\u00fcber zu machen, wo die Datei letztendlich gespeichert wird, ob lokal im Dateisystem oder im objektorientierten Dateispeicher.<\/p>\n<p>Letztendlich haben wir uns sofort entschieden, dass wir uns auf der Ebene eines gesamten Rechenzentrums reservieren werden. Im Jahr 2012 haben wir vollst\u00e4ndig auf Amazon AWS gestartet, da wir bereits Erfahrung mit dieser Plattform hatten \u2013 unsere eigene Website war dort gehostet. Uns hat angezogen, dass es in jeder Region bei Amazon mehrere Verf\u00fcgbarkeitszonen gibt \u2013 im Wesentlichen (in ihrer Terminologie) mehrere Rechenzentren, die mehr oder weniger unabh\u00e4ngig voneinander sind und uns erm\u00f6glichen, auf der Ebene eines gesamten Rechenzentrums zu reservieren: Wenn eines pl\u00f6tzlich ausf\u00e4llt, werden die Datenbanken master-master repliziert, die Webanwendungsserver sind reserviert, und die Statische wird in den Objektspeicher S3 ausgelagert. Die Last wird verteilt \u2013 zu diesem Zeitpunkt mit Amazons ELB, aber etwas sp\u00e4ter haben wir eigene Lastenausgleicher entwickelt, da wir komplexere Logiken ben\u00f6tigten. <\/p>\n<h4>Was wir wollten, das haben wir auch bekommen...<\/h4>\n<p>\nAlle grundlegenden Dinge, die wir absichern wollten \u2013 die Ausfallsicherheit der Server, der Webanwendungen und der Datenbanken \u2013 funktionierten gut. Das einfachste Szenario: Wenn eines unserer Webanwendungen ausf\u00e4llt, ist es einfach \u2013 sie werden aus der Lastverteilung entfernt. <\/p>\n<p><img decoding=\"async\" alt=\"\u201eBitrix24\u201c: \u201eSchnell aufgestellte Dinge z\u00e4hlen nicht als gefallen\u201c\" src=\"\/wp-content\/uploads\/2019\/06\/2271e0e5f8aef72c2070a9d19d0e7dc5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie ausgefallenen Maschinen wurden vom Lastenausgleicher (damals war es Amazons ELB) selbst als unhealthy markiert und die Lastverteilung auf sie wurde deaktiviert. Amazons Auto-Scaling funktionierte: Wenn die Last anstieg, wurden neue Maschinen zur Auto-Scaling-Gruppe hinzugef\u00fcgt, die Last wurde auf die neuen Maschinen verteilt \u2013 alles war gut. Mit unseren Lastenausgleichern gilt eine \u00e4hnliche Logik: Wenn etwas mit dem Anwendungsserver passiert, entfernen wir die Anfragen von ihm, werfen diese Maschinen heraus, starten neue und arbeiten weiter. Das Schema hat sich \u00fcber all die Jahre etwas ge\u00e4ndert, funktioniert aber weiterhin: Es ist einfach, verst\u00e4ndlich und es gibt dabei keine Schwierigkeiten. <\/p>\n<p>Wir arbeiten weltweit, die Lastenspitzen unserer Kunden sind absolut unterschiedlich, und im Idealfall sollten wir in der Lage sein, zu jeder Zeit Wartungsarbeiten an beliebigen Komponenten unseres Systems unbemerkt f\u00fcr die Kunden durchzuf\u00fchren. Deshalb haben wir die M\u00f6glichkeit, die Datenbank abzuschalten und die Last auf ein zweites Rechenzentrum umzuleiten. <\/p>\n<p>Wie funktioniert das alles? \u2014 Wir leiten den Traffic auf ein funktionierendes Rechenzentrum um \u2014 wenn es sich um einen Ausfall im Rechenzentrum handelt, dann vollst\u00e4ndig, wenn es sich um geplante Wartungsarbeiten an einer bestimmten Datenbank handelt, dann leiten wir einen Teil des Traffics, der diese Kunden bedient, auf das zweite Rechenzentrum um, die Replikation wird pausiert. Wenn wir neue Maschinen f\u00fcr Webanwendungen ben\u00f6tigen, da die Last im zweiten Rechenzentrum gestiegen ist, werden sie automatisch gestartet. Die Arbeiten werden abgeschlossen, die Replikation wird wiederhergestellt, und wir geben die gesamte Last zur\u00fcck. Wenn wir spiegelbildlich Arbeiten im zweiten Rechenzentrum durchf\u00fchren m\u00fcssen, zum Beispiel systemweite Updates installieren oder Einstellungen in der zweiten Datenbank \u00e4ndern, wiederholen wir im Grunde alles genau so, nur in die andere Richtung. Und wenn es sich um einen Ausfall handelt, handeln wir ganz banal: Im \u00dcberwachungssystem verwenden wir einen Event-Handler-Mechanismus. Wenn mehrere \u00dcberpr\u00fcfungen ausl\u00f6sen und der Status auf kritisch wechselt, wird dieser Handler, der eine bestimmte Logik ausf\u00fchren kann, aktiviert. F\u00fcr jede Datenbank haben wir festgelegt, welcher Server f\u00fcr sie als Failover dient und wohin der Traffic im Fall ihrer Nichterreichbarkeit umgeleitet werden muss. Wir verwenden \u2013 so hat es sich historisch ergeben \u2013 in irgendeiner Form Nagios oder eines seiner Forks. Prinzipiell sind solche Mechanismen in praktisch jedem \u00dcberwachungssystem vorhanden, etwas Komplexeres verwenden wir derzeit nicht, aber m\u00f6glicherweise werden wir das irgendwann tun. Momentan reagiert die \u00dcberwachung auf Nichterreichbarkeit und hat die M\u00f6glichkeit, etwas umzuleiten.<\/p>\n<h4>Haben wir alles reserviert?<\/h4>\n<p>\nWir haben viele Kunden aus den USA, viele Kunden aus Europa, viele Kunden, die n\u00e4her am Osten sind \u2013 Japan, Singapur und so weiter. Nat\u00fcrlich ist ein gro\u00dfer Teil der Kunden in Russland. Das hei\u00dft, die Arbeit findet nicht nur in einer Region statt. Die Benutzer w\u00fcnschen sich eine schnelle Reaktion, es gibt Anforderungen zur Einhaltung verschiedener lokaler Gesetze, und innerhalb jeder Region reservieren wir uns zwei Rechenzentren. Au\u00dferdem gibt es einige zus\u00e4tzliche Dienste, die ebenfalls bequem innerhalb einer Region platziert werden k\u00f6nnen \u2013 f\u00fcr Kunden, die in dieser Region arbeiten. REST-Handler und Autorisierungsserver sind f\u00fcr die Gesamtfunktionalit\u00e4t des Kunden weniger kritisch; man kann mit ihnen bei einer geringen akzeptablen Verz\u00f6gerung umschalten, aber wir m\u00f6chten das Rad nicht neu erfinden, wie man sie \u00fcberwacht und was man mit ihnen macht. Daher versuchen wir, so weit wie m\u00f6glich, bestehende L\u00f6sungen zu nutzen und nicht intern eine Kompetenz f\u00fcr zus\u00e4tzliche Produkte zu entwickeln. Und manchmal nutzen wir einfach DNS-Wechsel, wobei die Verf\u00fcgbarkeit des Dienstes ebenfalls \u00fcber die DNS ermittelt wird. Bei Amazon gibt es den Dienst Route 53, aber das ist nicht einfach nur ein DNS, in das man Eintr\u00e4ge einf\u00fcgen kann \u2013 es ist viel flexibler und benutzerfreundlicher. Dar\u00fcber hinaus kann man geo-verteilte Dienste mit Geolokalisierungen aufbauen, wenn man mit seiner Hilfe bestimmt, von wo der Kunde kommt, und ihm die entsprechenden Eintr\u00e4ge gibt \u2013 damit kann man Failover-Architekturen erstellen. Dieselben Health-Checks werden direkt in Route 53 konfiguriert; man gibt den zu \u00fcberwachenden Endpunkt an, definiert Metriken und legt fest, nach welchen Protokollen die \u201eLebendigkeit\u201c des Dienstes bestimmt werden soll \u2013 TCP, HTTP, HTTPS; man gibt die H\u00e4ufigkeit der Pr\u00fcfungen an, die bestimmen, ob der Dienst lebendig ist oder nicht. Und in den DNS selbst gibt man an, was primary und was secondary sein wird sowie wohin umgeschaltet wird, wenn ein Health-Check innerhalb von Route 53 aktiviert wird. All dies kann auch mit anderen Werkzeugen erledigt werden, aber der Vorteil ist, dass man es einmal konfiguriert und dann \u00fcberhaupt nicht mehr dar\u00fcber nachdenken muss, wie unsere Pr\u00fcfungen durchgef\u00fchrt werden und wie der Umschaltung erfolgt: alles funktioniert automatisch.<\/p>\n<p><b>Das erste \u201eAber\u201c<\/b>: Aber wie sollte man Route 53 sichern? Man wei\u00df ja nie, was passieren kann. Gl\u00fccklicherweise sind wir bisher nicht in diese Falle getappt, aber ich werde bald erz\u00e4hlen, warum wir dachten, dass eine Sicherung notwendig ist. Hier legen wir uns schon mal vornedran etwas zur\u00fcck. Mehrmals t\u00e4glich machen wir eine vollst\u00e4ndige Sicherung aller Zonen, die wir in Route 53 eingerichtet haben. Die API von Amazon erlaubt es, diese problemlos im JSON-Format zu \u00fcbergeben, und wir haben mehrere Backup-Server eingerichtet, auf die wir das umwandeln und als Konfigurationen speichern, um, grob gesagt, eine Backup-Konfiguration zu haben. Im Notfall k\u00f6nnen wir sie schnell manuell wiederherstellen, sodass wir die DNS-Einstellungen nicht verlieren.<\/p>\n<p><b>Zweites \u201eaber\u201c<\/b>: was in diesem Bild noch nicht reserviert ist? Der Load Balancer! Unsere Verteilung der Kunden nach Regionen erfolgt sehr einfach. Wir haben Domains wie bitrix24.ru, bitrix24.com, .de \u2013 insgesamt sind es jetzt etwa 13 verschiedene, die in den unterschiedlichsten Zonen arbeiten. Wir sind zu folgendem gekommen: In jeder Region gibt es eigene Load Balancer. Das erleichtert die Verteilung je nach regionaler Auslastung. Wenn ein einzelner Load Balancer ausf\u00e4llt, wird er einfach au\u00dfer Betrieb genommen und aus den DNS entfernt. Wenn es ein Problem mit einer Gruppe von Load Balancern gibt, werden diese auf anderen Plattformen reserviert, und der Wechsel zwischen ihnen erfolgt mithilfe von Route 53, da der Wechsel aufgrund der kurzen TTL maximal innerhalb von 2, 3, 5 Minuten stattfindet. <\/p>\n<p><b>Drittes \u201eaber\u201c<\/b>: was ist noch nicht reserviert? S3, richtig. Als wir die Dateien, die wir bei den Nutzern in S3 speichern, hochluden, waren wir \u00fcberzeugt, dass es eine zuverl\u00e4ssige L\u00f6sung ist und keine Reservierungen notwendig sind. Aber die Geschichte zeigt, dass es anders kommt. Im Allgemeinen beschreibt Amazon S3 als einen grundlegenden Service, weil Amazon selbst S3 zur Speicherung von Maschinenbildern, Konfigurationen, AMI-Images, Snapshots usw. verwendet. Und wenn S3 ausf\u00e4llt, wie es einmal in diesen 7 Jahren, in denen wir Bitrix24 nutzen, der Fall war, zieht es eine Menge Dinge mit sich \u2013 die Unzug\u00e4nglichkeit des Starts von VMs, St\u00f6rungen in der API usw. <\/p>\n<p>Und es kann passieren, dass S3 ausf\u00e4llt \u2013 das ist einmal passiert. Deshalb sind wir zu folgendem Schema gekommen: vor einigen Jahren gab es in Russland keine ernsthaften objektbasierten \u00f6ffentlichen Speichern, und wir haben dar\u00fcber nachgedacht, etwas Eigenes zu machen\u2026 Gl\u00fccklicherweise haben wir damit nicht begonnen, denn wir h\u00e4tten uns in eine Expertise vergraben, die wir nicht besitzen, und h\u00e4tten sicherlich Fehler gemacht. Jetzt gibt es S3-kompatible Speicher bei Mail.ru, bei Yandex und auch bei einigen anderen Anbietern. Schlie\u00dflich kamen wir zu dem Schluss, dass wir, erstens, eine Sicherung ben\u00f6tigen und, zweitens, die M\u00f6glichkeit haben wollen, mit lokalen Kopien zu arbeiten. F\u00fcr die spezifische russische Region nutzen wir den Service Mail.ru Hotbox, der \u00fcber API mit S3 kompatibel ist. Wir ben\u00f6tigten keine bedeutenden Anpassungen des Codes innerhalb der Anwendung, und wir haben folgenden Mechanismus entwickelt: In S3 gibt es Trigger, die bei der Erstellung\/L\u00f6schung von Objekten aktiviert werden, und Amazon hat einen solchen Service namens Lambda \u2013 das ist serverloses Ausf\u00fchren von Code, der genau beim Ausl\u00f6sen dieser Trigger ausgef\u00fchrt wird.<\/p>\n<p><img decoding=\"async\" alt=\"\u201eBitrix24\u201c: \u201eSchnell aufgestellte Dinge z\u00e4hlen nicht als gefallen\u201c\" src=\"\/wp-content\/uploads\/2019\/06\/5366a87f56b9a6a994008feb1ccd3324.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir haben es sehr einfach gestaltet: Wenn ein Trigger aktiviert wird, f\u00fchren wir den Code aus, der das Objekt in den Speicher von Mail.ru kopiert. Um die Arbeit mit lokalen Kopien von Daten vollst\u00e4ndig zu starten, ben\u00f6tigen wir noch eine R\u00fccksynchronisierung, damit die Kunden, die im russischen Segment arbeiten, mit dem Speicher arbeiten k\u00f6nnen, der ihnen n\u00e4her ist. Mail wird gerade die Trigger in seinem Speicher finalisieren \u2013 man wird bereits auf Infrastrukturebene die R\u00fccksynchronisierung durchf\u00fchren k\u00f6nnen, w\u00e4hrend wir dies derzeit auf der Ebene unseres eigenen Codes tun. Wenn wir sehen, dass ein Kunde eine Datei hochgeladen hat, platzieren wir auf der Ebene unseres Codes ein Ereignis in die Warteschlange, bearbeiten es und f\u00fchren die R\u00fcckreplication durch. Das Problem dabei ist: Wenn irgendetwas mit unseren Objekten au\u00dferhalb unseres Produkts geschieht, also mit irgendwelchen externen Mitteln, werden wir das nicht ber\u00fccksichtigen. Deshalb warten wir darauf, dass die Trigger auf der Ebene des Speichers verf\u00fcgbar sind, damit unabh\u00e4ngig davon, von wo aus wir den Code ausgef\u00fchrt haben, das Objekt, das zu uns gekommen ist, in die andere Richtung kopiert wird. <\/p>\n<p>Auf Code-Ebene sind f\u00fcr jeden Kunden beide Speicher definiert: einer wird als prim\u00e4r betrachtet, der andere als Backup. Wenn alles gut l\u00e4uft, arbeiten wir mit dem Speicher, der uns n\u00e4her ist: Das hei\u00dft, unsere Kunden in Amazon nutzen S3, w\u00e4hrend jene in Russland mit Hotbox arbeiten. Wenn das Flag aktiviert wird, muss unser Failover aktiviert werden, und wir schalten die Kunden auf einen anderen Speicher um. Dieses Flag k\u00f6nnen wir unabh\u00e4ngig nach Regionen setzen und die Kunden hin und her umschalten. In der Praxis haben wir es bisher nicht genutzt, aber wir haben diesen Mechanismus vorgesehen und glauben, dass wir irgendwann auf dieses Umschalten angewiesen sein werden. Es ist bereits einmal passiert. <\/p>\n<h4>Oh, und euer Amazon ist abgehauen\u2026<\/h4>\n<p>\nIn diesem April j\u00e4hrt sich die Einf\u00fchrung der Telegramm-Sperren in Russland. Der am st\u00e4rksten betroffene Anbieter, der darunter gelitten hat, ist Amazon. Leider haben vor allem russische Unternehmen, die weltweit t\u00e4tig waren, mehr schadhaft unter den Blockaden gelitten. <\/p>\n<p>Wenn ein Unternehmen global t\u00e4tig ist und Russland nur einen sehr kleinen Marktanteil von 3-5% hat \u2013 ja, dann kann man sie irgendwie opfern. <\/p>\n<p>Wenn es sich um ein rein russisches Unternehmen handelt \u2013 dann bin ich mir sicher, dass man lokal agieren muss \u2013 es w\u00e4re f\u00fcr die Nutzer einfach bequemer, komfortabler, mit weniger Risiken. <\/p>\n<p>Und wenn es sich um ein Unternehmen handelt, das global t\u00e4tig ist und etwa gleich viele Kunden aus Russland und anderen Teilen der Welt hat? Die Anbindung der Segmente ist wichtig, und sie m\u00fcssen miteinander arbeiten. <\/p>\n<p>Bereits Ende M\u00e4rz 2018 hat die Roskomnadzor den gr\u00f6\u00dften Anbietern ein Schreiben geschickt, in dem sie ank\u00fcndigten, mehrere Millionen IP-Adressen von Amazon zu sperren, um\u2026 den Messenger Zello zu blockieren. Dank dieser Provider wurde das Schreiben erfolgreich an alle weitergeleitet, und es entstand das Bewusstsein, dass die Anbindung an Amazon zusammenbrechen k\u00f6nnte. Es war ein Freitag, und wir rannten in Panik zu den Kollegen von servers.ru mit den Worten: 'Freunde, wir brauchen ein paar Server, die nicht in Russland, nicht in Amazon stehen, sondern zum Beispiel irgendwo in Amsterdam', um zumindest irgendwie die M\u00f6glichkeit zu haben, dort eigene zu platzieren. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/vpn\/\"   title=\"vpn\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"39\">vpn<\/a> und einen Proxy f\u00fcr bestimmte Endpunkte, auf die wir keinen Einfluss haben, wie zum Beispiel die Endpunkte von S3 \u2014 es ist nicht m\u00f6glich, einen neuen Dienst zu starten und eine andere IP-Adresse zu bekommen, wir m\u00fcssen trotzdem darauf zugreifen. Innerhalb weniger Tage haben wir diese Server eingerichtet und in der Tat waren wir bis zum Zeitpunkt der ersten Blockierungen gut vorbereitet. Interessanterweise hat die Aufsichtsbeh\u00f6rde, nachdem sie den Aufruhr und die Panik gesehen hatte, gesagt: \u201eNein, wir werden jetzt nichts blockieren.\u201c (Aber das war genau bis zu dem Punkt, als sie mit der Blockierung von Telegram begannen.) Nachdem wir die Umgehungsma\u00dfnahmen eingerichtet hatten und feststellten, dass die Blockierung nicht eingef\u00fchrt wurde, haben wir jedoch beschlossen, das Ganze nicht weiter zu zerlegen. Sozusagen f\u00fcr alle F\u00e4lle. <\/p>\n<p><img decoding=\"async\" alt=\"\u201eBitrix24\u201c: \u201eSchnell aufgestellte Dinge z\u00e4hlen nicht als gefallen\u201c\" src=\"\/wp-content\/uploads\/2019\/06\/334611ed880b13818dccca709baa0178.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnd so leben wir im Jahr 2019 unter den Bedingungen von Blockierungen. Ich habe gestern Nacht geschaut: Rund eine Million IPs werden weiterhin blockiert. Allerdings wurde Amazon fast vollst\u00e4ndig entsperrt, im H\u00f6chstfall waren es bis zu 20 Millionen Adressen\u2026 Die Realit\u00e4t ist, dass die Konnektivit\u00e4t, gute Konnektivit\u00e4t \u2013 es k\u00f6nnte sie nicht geben. Pl\u00f6tzlich. Sie k\u00f6nnte aus technischen Gr\u00fcnden fehlen \u2013 Br\u00e4nde, Bagger, solche Dinge. Oder, wie wir gesehen haben, aus nicht ganz technischen Gr\u00fcnden. Daher kann jemand Gro\u00dfes und Bedeutendes, mit eigenen AS, wahrscheinlich auf andere Weise damit umgehen, \u2013 Direct Connect und andere Dinge bereits auf der L2-Ebene. Aber im einfachen Fall, wie wir oder kleinere Anbieter, kann man zur Sicherheit eine Reserve auf der Ebene von Servern haben, die irgendwo anders hochgefahren wurden, vorab konfigurierte VPNs, Proxys, mit der M\u00f6glichkeit, die Konfiguration schnell in den Segmenten umzuschalten, die f\u00fcr die Konnektivit\u00e4t kritisch sind. Das kam uns mehrfach zu gute, als die Blockierungen von Amazon begannen; wir haben in dem schlechtesten Fall gerade den S3-Verkehr dar\u00fcber geleitet, aber nach und nach hat sich das alles gekl\u00e4rt.<\/p>\n<h4>Und wie reserviert man\u2026 einen ganzen Anbieter?<\/h4>\n<p>\nAktuell haben wir kein Szenario f\u00fcr den Ausfall von Amazon. F\u00fcr Russland haben wir ein \u00e4hnliches Szenario. Wir haben uns in Russland bei einem Anbieter in zwei verschiedenen Rechenzentren platziert. Vor einem Jahr hatten wir ein Problem: Auch wenn es zwei Rechenzentren sind, k\u00f6nnen bereits auf der Ebene der Netzwerkkonfiguration des Anbieters Probleme auftreten, die beide Rechenzentren betreffen. Dies kann zu Ausf\u00e4llen an beiden Standorten f\u00fchren. Genau das ist passiert. Wir haben die interne Architektur daraufhin \u00fcberdacht. Sie hat sich nicht grundlegend ver\u00e4ndert, aber jetzt haben wir in Russland zwei Standorte bei zwei unterschiedlichen Anbietern. Wenn einer ausf\u00e4llt, k\u00f6nnen wir auf den anderen umschalten.<\/p>\n<p>Hypothetisch ziehen wir f\u00fcr Amazon in Betracht, auf einer anderen Anbieter-Ebene Reservierungen vorzunehmen; vielleicht Google, vielleicht irgendwann auch andere\u2026 Aber bis jetzt haben wir in der Praxis beobachtet, dass Ausf\u00e4lle bei Amazon auf der Ebene einer Availability Zone zwar vorkommen, aber Ausf\u00e4lle auf regionaler Ebene sind eher selten. Daher haben wir theoretisch die Vorstellung, dass wir eventuell Reservierungen zwischen \"Amazon und Nicht-Amazon\" vornehmen, aber in der Praxis gibt es so etwas noch nicht. <\/p>\n<h4>Ein paar Worte zur Automatisierung<\/h4>\n<p>\nIst Automatisierung immer notwendig? Hier ist es angebracht, den Dunning-Kruger-Effekt zu erw\u00e4hnen. Auf der x-Achse haben wir unser Wissen und unsere gesammelten Erfahrungen, auf der y-Achse das Vertrauen in unser Handeln. Zuerst wissen wir nichts und sind v\u00f6llig ungewiss. Dann wissen wir ein wenig und werden mega-sicher \u2013 das ist der sogenannte \u201eGipfel der Dummheit\u201c, gut veranschaulicht durch das Bild \u201eTorheit und Mut\u201c. Danach haben wir schon ein wenig gelernt und sind bereit, in den Kampf zu ziehen. Dann treten wir auf einige mega-ernste Fallen und gelangen ins Tal der Verzweiflung, wo wir zwar etwas wissen, aber in Wirklichkeit wissen wir noch sehr viel weniger. Mit zunehmender Erfahrung werden wir dann selbstbewusster.<\/p>\n<p><img decoding=\"async\" alt=\"\u201eBitrix24\u201c: \u201eSchnell aufgestellte Dinge z\u00e4hlen nicht als gefallen\u201c\" src=\"\/wp-content\/uploads\/2019\/06\/1e0321bd8d823da2439d25769cb944ab.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnsere Logik \u00fcber verschiedene Umschaltungen bei bestimmten Notf\u00e4llen wird durch dieses Diagramm sehr gut beschrieben. Wir haben angefangen \u2013 wir konnten nichts, praktisch alle Arbeiten wurden manuell durchgef\u00fchrt. Dann haben wir verstanden, dass wir alles automatisieren k\u00f6nnen und, sozusagen, ruhig schlafen k\u00f6nnen. Und pl\u00f6tzlich treten wir auf die Mega-Schaufel: wir haben einen False Positive und wechseln den Traffic hin und her, obwohl wir das in einer idealen Situation nicht tun sollten. Folglich bricht die Replikation oder etwas anderes zusammen \u2013 das ist das Tal der Verzweiflung. Und dann kommen wir zu der Einsicht, dass man alles mit Bedacht angehen muss. Das hei\u00dft, es macht Sinn, sich auf die Automatisierung zu verlassen und die M\u00f6glichkeit eines Fehlalarms einzuplanen. Aber! Wenn die Konsequenzen verheerend sein k\u00f6nnten, ist es besser, dies den Bereitschaftsschichten, den Bereitschaftsingenieuren zu \u00fcberlassen, die sicherstellen und \u00fcberpr\u00fcfen, dass es sich wirklich um einen Notfall handelt und die erforderlichen Ma\u00dfnahmen manuell ergreifen\u2026<\/p>\n<h4>Fazit<\/h4>\n<p>\nIn 7 Jahren sind wir von dem Punkt gekommen, als etwas ausfiel \u2013 da war Panik-Panik, zu dem Verst\u00e4ndnis, dass es keine Probleme gibt, nur Aufgaben, die gel\u00f6st werden m\u00fcssen \u2013 und die kann man l\u00f6sen. Wenn Sie einen Service aufbauen, schauen Sie ihn aus einer h\u00f6heren Perspektive an, bewerten Sie alle Risiken, die auftreten k\u00f6nnten. Wenn Sie sie sofort sehen \u2013 planen Sie im Voraus Redundanz und die M\u00f6glichkeit, eine fehlertolerante Infrastruktur aufzubauen, denn jeder Punkt, der ausfallen kann und zu einem Ausfall des Services f\u00fchrt, wird es zwangsl\u00e4ufig tun. Und selbst wenn es Ihnen so scheint, als ob einige Elemente der Infrastruktur nicht ausfallen werden \u2013 wie das gleiche s3 \u2013 denken Sie daran, dass sie es trotzdem k\u00f6nnen. Und zumindest theorisch sollten Sie eine Vorstellung davon haben, was Sie mit ihnen tun werden, falls doch etwas passiert. Haben Sie einen Plan zur Risikominderung. Wenn Sie dar\u00fcber nachdenken, alles automatisiert oder manuell zu erledigen \u2013 bewerten Sie die Risiken: Was passiert, wenn die Automatisierung alles umschaltet \u2013 f\u00fchrt das nicht zu einem noch schlimmeren Szenario als bei einem Notfall? M\u00f6glicherweise ist es in einigen F\u00e4llen sinnvoll, einen vern\u00fcnftigen Kompromiss zwischen dem Einsatz von Automatisierung und der Reaktion des Bereitschaftsingenieurs zu finden, der das reale Bild beurteilt und versteht, ob er sofort etwas umschalten muss oder \u201eja, aber nicht jetzt\u201c.<\/p>\n<p>Ein vern\u00fcnftiger Kompromiss zwischen Perfektionismus und den realen Ressourcen, der Zeit und dem Geld, die Sie f\u00fcr das Schema aufwenden k\u00f6nnen, das Sie letztendlich haben werden.<\/p>\n<p><i>Dieser Text ist eine erg\u00e4nzte und erweiterte Version des Berichts von Alexander Demidov auf der Konferenz. <noindex><a rel=\"nofollow\" href=\"https:\/\/uptime.community\/ru\/uptimeday-4\">Uptime Tag 4<\/a><\/noindex>.<\/i><br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/455112\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb \u043d\u0435\u0442 \u0441\u043e\u0442\u0435\u043d \u0433\u0438\u0433\u0430\u0431\u0438\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (\u0445\u043e\u0442\u044f \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u043c\u0430\u043b\u043e). \u041d\u043e \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u044d\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 business-critical \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0430\u0434\u0430\u0442\u044c \u2014 \u043d\u0443, \u043d\u0438\u043a\u0430\u043a \u043d\u0435\u043b\u044c\u0437\u044f. \u0410 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0441\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u043d\u043e \u00ab\u0432\u043e\u0441\u0441\u0442\u0430\u043b\u00bb \u0441\u0435\u0440\u0432\u0438\u0441 \u0442\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e, \u0447\u0442\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26389,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb \u043d\u0435\u0442 \u0441\u043e\u0442\u0435\u043d \u0433\u0438\u0433\u0430\u0431\u0438\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (\u0445\u043e\u0442\u044f \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u043c\u0430\u043b\u043e).\" \/>\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\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim\" \/>\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\u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb: \u00ab\u0411\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u043e\u0435 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u043f\u0430\u0432\u0448\u0438\u043c\u00bb | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb \u043d\u0435\u0442 \u0441\u043e\u0442\u0435\u043d \u0433\u0438\u0433\u0430\u0431\u0438\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (\u0445\u043e\u0442\u044f \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u043c\u0430\u043b\u043e).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim\" \/>\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:02:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:18+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\udd47\u201eBitrix24\u201c: \u201eSchnell aufgebaut z\u00e4hlt nicht als gefallen\u201c | ProHoster","description":"Derzeit hat der Dienst \u201eBitrix24\u201c keine Hunderte von Gigabit-Traffic, keine riesige Serverfarm (obwohl es nat\u00fcrlich schon einige gibt).","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim","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\u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb: \u00ab\u0411\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u043e\u0435 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u043f\u0430\u0432\u0448\u0438\u043c\u00bb | ProHoster","og:description":"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb \u043d\u0435\u0442 \u0441\u043e\u0442\u0435\u043d \u0433\u0438\u0433\u0430\u0431\u0438\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (\u0445\u043e\u0442\u044f \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u043c\u0430\u043b\u043e).","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim","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:02:18+00:00","article:modified_time":"2019-10-31T19:02:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35092","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-02-04 14:51:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:10:27","updated":"2026-02-04 14:51: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\/35092","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=35092"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/35092\/revisions"}],"predecessor-version":[{"id":156668,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/35092\/revisions\/156668"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/26389"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=35092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=35092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=35092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}