{"id":84876,"date":"2020-06-11T13:43:18","date_gmt":"2020-06-11T11:43:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno"},"modified":"2020-06-11T13:43:18","modified_gmt":"2020-06-11T11:43:18","slug":"uskoryaem-internet-zaprosy-i-spim-spokojno","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno","title":{"rendered":"Wir beschleunigen Internet-Anfragen und schlafen ruhig.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/07e2e32d406b8b5d6d6cb3f627a31c3a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNetflix \u2013 der Marktf\u00fchrer im Bereich Online-Streaming \u2013 ist ein Unternehmen, das dieses Segment ma\u00dfgeblich gepr\u00e4gt hat und kontinuierlich weiterentwickelt. Netflix ist nicht nur f\u00fcr sein umfangreiches Katalogangebot an Filmen und Serien bekannt, das von nahezu jedem Ort der Welt und auf jedem Bildschirm verf\u00fcgbar ist, sondern auch f\u00fcr seine zuverl\u00e4ssige Infrastruktur und die einzigartige Ingenieurkultur. <\/p>\n<p>Ein anschauliches Beispiel f\u00fcr den Ansatz von Netflix zur Entwicklung und Wartung komplexer Systeme wurde auf der DevOops 2019 pr\u00e4sentiert von <noindex><a rel=\"nofollow\" href=\"https:\/\/sfedov.com\">Sergej Fedorov<\/a><\/noindex> \u2013 Entwicklungsdirektor bei Netflix. Als Absolvent der Fakult\u00e4t f\u00fcr Angewandte Mathematik und Informatik an der Lobatschewski-Universit\u00e4t in Nischni Nowgorod war Sergej einer der ersten Ingenieure im Open Connect \u2013 dem CDN-Team von Netflix. Er hat Systeme zur \u00dcberwachung und Analyse von Videodaten aufgebaut, den beliebten Dienst zur Bewertung der Internetgeschwindigkeit FAST.com ins Leben gerufen und arbeitet seit mehreren Jahren an der Optimierung von Internetanfragen, um sicherzustellen, dass die Netflix-App so schnell wie m\u00f6glich f\u00fcr die Nutzer funktioniert.<\/p>\n<p>Der Vortrag erhielt hervorragende R\u00fcckmeldungen von den Konferenzteilnehmern, und wir haben eine schriftliche Version f\u00fcr Sie vorbereitet.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"n7Te9WIz1ho\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/n7Te9WIz1ho\/hqdefault.jpg\" alt=\"Video abspielen\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h2>In dem Vortrag erl\u00e4uterte Sergej detailliert<\/h2>\n<p><\/p>\n<ul>\n<li>was die Verz\u00f6gerung von Internetanfragen zwischen Client und Server beeinflusst;<\/li>\n<li>wie man diese Verz\u00f6gerung reduzieren kann;<\/li>\n<li>wie man fehlertolerante Systeme entwirft, unterst\u00fctzt und \u00fcberwacht;<\/li>\n<li>wie man in kurzer Zeit Ergebnisse mit minimalem Risiko f\u00fcr das Unternehmen erzielt;<\/li>\n<li>wie man Ergebnisse analysiert und aus Fehlern lernt.<\/li>\n<\/ul>\n<p>\nDie Antworten auf diese Fragen sind nicht nur f\u00fcr Menschen in gro\u00dfen Unternehmen wichtig. <\/p>\n<p>Die vorgestellten Prinzipien und Techniken sollten von jedem, der Internetprodukte entwickelt und pflegt, gekannt und angewendet werden.<\/p>\n<p><b>Nun folgt die Erz\u00e4hlung aus der Perspektive des Sprechers.<\/b><\/p>\n<h2>Die Bedeutung der Internetgeschwindigkeit<\/h2>\n<p>\nDie Geschwindigkeit von Internetanfragen ist direkt mit dem Gesch\u00e4ft verbunden. Betrachten wir den Bereich des Online-Shoppings: Das Unternehmen Amazon erkl\u00e4rte 2009, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gigaspaces.com\/blog\/amazon-found-every-100ms-of-latency-cost-them-1-in-sales\/\">dass eine Verz\u00f6gerung von 100 ms zu einem Verlust von 1 % der Verk\u00e4ufe f\u00fchrt.<\/a><\/noindex>Es gibt immer mehr mobile Ger\u00e4te, und damit auch mobile Websites und Anwendungen. Wenn Ihre Seite l\u00e4nger als 3 Sekunden zum Laden ben\u00f6tigt, verlieren Sie etwa die H\u00e4lfte der Nutzer. Ab<\/p>\n<p>Juli 2018 <noindex><a rel=\"nofollow\" href=\"https:\/\/webmasters.googleblog.com\/2018\/01\/using-page-speed-in-mobile-search.html\">ber\u00fccksichtigt Google die Ladegeschwindigkeit Ihrer Seite in den Suchergebnissen: Je schneller die Seite, desto h\u00f6her ihr Rang bei Google.<\/a><\/noindex> Die Geschwindigkeit der Verbindung ist auch in Finanzinstituten wichtig, wo Verz\u00f6gerungen kritisch sind. Im Jahr 2015 hat das Unternehmen Hibernia Networks<\/p>\n<p>abgeschlossen <noindex><a rel=\"nofollow\" href=\"https:\/\/www.submarinenetworks.com\/en\/systems\/trans-atlantic\/project-express\/hibernia-express-connects-new-york-to-london-in-under-58-95ms\">beendet<\/a><\/noindex> eine Kabelverlegung zwischen New York und London f\u00fcr 400 Millionen Dollar, um die Verz\u00f6gerung zwischen den St\u00e4dten um 6 ms zu reduzieren. Stellen Sie sich vor, 66 Millionen Dollar pro 1 ms Verz\u00f6gerungsreduktion!<\/p>\n<p>Laut <noindex><a rel=\"nofollow\" href=\"https:\/\/hpbn.co\/primer-on-web-performance\/\">einer Studie<\/a><\/noindex>, bei einer Verbindungsrate von \u00fcber 5 Mbit\/s hat die Geschwindigkeit keinen direkten Einfluss mehr auf die Ladegeschwindigkeit einer typischen Webseite. Allerdings gibt es eine lineare Abh\u00e4ngigkeit zwischen der Verbindungslatenz und der Ladegeschwindigkeit der Seite:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/340ca1f2c5bdd6ca95a5caf02f67e3fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNetflix ist jedoch kein Standardprodukt. Die Auswirkungen von Latenz und Geschwindigkeit auf den Nutzer sind ein aktives Forschungs- und Entwicklungsfeld. Es gibt App-Ladezeiten und Content-Auswahl, die von der Latenz abh\u00e4ngen, aber das Laden statischer Elemente und das Streaming h\u00e4ngen ebenfalls von der Verbindungsgeschwindigkeit ab. Die Analyse und Optimierung der Schl\u00fcsselfaktoren, die die Servicequalit\u00e4t f\u00fcr den Nutzer beeinflussen, sind aktive Entwicklungsbereiche mehrerer Teams bei Netflix. Eine der Aufgaben besteht darin, die Anfragen zwischen den Netflix-Ger\u00e4ten und der Cloud-Infrastruktur zu reduzieren.<\/p>\n<p>In diesem Bericht konzentrieren wir uns speziell auf die Reduzierung der Latenz am Beispiel der Netflix-Infrastruktur. Wir betrachten aus praktischer Sicht, wie wir die Prozesse des Designs, der Entwicklung und des Betriebs komplexer verteilter Systeme angehen k\u00f6nnen, um Zeit f\u00fcr Innovationen und Ergebnisse zu haben, anstatt f\u00fcr die Diagnose von Betriebsproblemen und Ausf\u00e4llen.<\/p>\n<h2>Innerhalb von Netflix<\/h2>\n<p>\nTausende verschiedener Ger\u00e4te unterst\u00fctzen die Netflix-Anwendungen. Ihre Entwicklung erfolgt durch vier verschiedene Teams, die separate Client-Versionen f\u00fcr Android, iOS, TV und Webbrowser erstellen. Wir investieren viel Energie in die Verbesserung und Personalisierung der Benutzeroberfl\u00e4che. Dazu f\u00fchren wir parallel Hunderte von A\/B-Tests durch.<\/p>\n<p>Die Personalisierung wird durch hunderte von Mikrodiensten in der AWS-Cloud unterst\u00fctzt, die personalisierte Daten f\u00fcr den Nutzer bereitstellen, Anfragen verwalten, Telemetrie, Big Data und Encodierung durchf\u00fchren. Die Visualisierung des Datenverkehrs sieht so aus:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/n7Te9WIz1ho?t=364\">Link zum Video mit Demo (6:04-6:23)<\/a><\/noindex><\/p>\n<p>Links befindet sich der Einstiegspunkt, von dem aus der Datenverkehr auf mehrere Hundert Mikrodienste verteilt wird, die von verschiedenen Backend-Teams unterst\u00fctzt werden.<\/p>\n<p>Ein weiterer wichtiger Bestandteil unserer Infrastruktur ist das Open Connect CDN, das statische Inhalte wie Videos, Bilder und Code f\u00fcr Kunden bis zum Endbenutzer liefert. Das CDN ist auf ma\u00dfgeschneiderten Servern (OCA - Open Connect Appliance) untergebracht. Innerhalb dieser Server befinden sich SSD- und HDD-Speicherplatten, die von einem optimierten FreeBSD-Betriebssystem, NGINX und einer Reihe von Diensten verwaltet werden. Wir entwerfen und optimieren die Hardware- und Softwarekomponenten so, dass der CDN-Server m\u00f6glichst viele Daten an die Benutzer \u00fcbertragen kann. <\/p>\n<p>Die \u201eWand\u201c aus diesen Servern am Internet-Datenaustauschpunkt (Internet eXchange - IX) sieht folgenderma\u00dfen aus:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/8155601c344acb1eb05b925193af8f9a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInternet Exchanges erm\u00f6glichen Internetanbietern und Content-Anbietern, sich miteinander zu \u201everbinden\u201c, um Daten direkter im Internet auszutauschen. Weltweit gibt es etwa 70-80 Internet Exchange-Punkte, an denen unsere Server installiert sind, und wir k\u00fcmmern uns selbst um deren Installation und Wartung:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/77a2465314e47c0b2c90dbf7a2fb5e6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDar\u00fcber hinaus bieten wir auch Server direkt an Internetanbieter an, die diese in ihr Netzwerk integrieren, um die Lokalisierung des Netflix-Traffics zu verbessern und die Streaming-Qualit\u00e4t f\u00fcr die Benutzer zu erh\u00f6hen:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/63e077d2649bfafea5c7af43a0faaf85.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas AWS-Service-Paket ist verantwortlich f\u00fcr die Verwaltung von Videoanfragen von Kunden zu den CDN-Servern sowie f\u00fcr die Konfiguration der Server selbst \u2013 dazu geh\u00f6ren die Aktualisierung von Inhalten, Programmcode, Einstellungen usw. Zu diesem Zweck haben wir auch ein Backbone-Netzwerk aufgebaut, das die Server an Internet Exchange-Punkten mit AWS verbindet. Das Backbone-Netzwerk ist ein globales Netzwerk aus Glasfaserkabeln und Routern, die wir gem\u00e4\u00df unseren Bed\u00fcrfnissen gestalten und konfigurieren k\u00f6nnen.<\/p>\n<p>Nach <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sandvine.com\/hubfs\/Sandvine_Redesign_2019\/Downloads\/Internet%20Phenomena\/Internet%20Phenomena%20Report%20Q32019%2020190910.pdf\">Bewertungen von Sandvine<\/a><\/noindex>, unsere CDN-Infrastruktur liefert zu Spitzenzeiten etwa \u215b des weltweiten Internetverkehrs und \u2153 des Verkehrs in Nordamerika, wo Netflix am l\u00e4ngsten aktiv ist. Beeindruckende Zahlen, aber f\u00fcr mich ist eine der bemerkenswertesten Leistungen, dass das gesamte CDN-System von einem Team von weniger als 150 Personen entwickelt und gewartet wird.<\/p>\n<p>Urspr\u00fcnglich wurde die CDN-Infrastruktur f\u00fcr die Bereitstellung von Videodaten konzipiert. Im Laufe der Zeit haben wir jedoch erkannt, dass wir sie auch zur Optimierung dynamischer Anfragen von Kunden in die AWS-Cloud nutzen k\u00f6nnen.<\/p>\n<h2>\u00dcber die Beschleunigung des Internets<\/h2>\n<p>\nHeute hat Netflix 3 AWS-Regionen, und die Verz\u00f6gerung bei den Anfragen an die Cloud h\u00e4ngt davon ab, wie weit der Kunde von der n\u00e4chstgelegenen Region entfernt ist. Dabei verf\u00fcgen wir \u00fcber zahlreiche CDN-Server, die f\u00fcr die Auslieferung statischer Inhalte genutzt werden. Gibt es eine M\u00f6glichkeit, diese Infrastruktur zu nutzen, um dynamische Anfragen zu beschleunigen? Das Caching dieser Anfragen ist leider nicht m\u00f6glich, da die APIs personalisiert sind und jedes Ergebnis einzigartig ist.<\/p>\n<p>Lassen Sie uns ein Proxy auf dem CDN-Server einrichten und den Traffic dar\u00fcber leiten. Wird das schneller sein?<\/p>\n<h2>Technische Grundlagen<\/h2>\n<p>\nErinnern wir uns, wie Netzprotokolle funktionieren. Heute nutzt der Gro\u00dfteil des Internetverkehrs HTTPs, das von den darunter liegenden Protokollen TCP und TLS abh\u00e4ngt. Damit sich ein Client mit einem Server verbindet, muss er einen Handshake durchf\u00fchren, und um eine gesicherte Verbindung herzustellen, muss der Client mindestens dreimal Nachrichten mit dem Server austauschen und mindestens einmal zus\u00e4tzlich, um Daten zu \u00fcbertragen. Bei einer Verz\u00f6gerung von 100 ms pro Austausch (RTT) ben\u00f6tigen wir 400 ms, um das erste Datenbit zu erhalten:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/ab12024f5a9940ca470f27821ca3c631.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn wir Zertifikate auf einem CDN-Server platzieren, k\u00f6nnen wir die \"Handshake\"-Zeit zwischen Client und Server erheblich verk\u00fcrzen, insbesondere wenn sich das CDN n\u00e4her befindet. Angenommen, die Verz\u00f6gerung zum CDN-Server betr\u00e4gt 30 ms. Dann ben\u00f6tigt der erste Bit bereits 220 ms:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/d63134bb51592aaa6a5e0c86f1a070e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAber die Vorteile enden hier nicht. Nachdem die Verbindung hergestellt wurde, erh\u00f6ht TCP das Congestion Window (die Menge an Informationen, die es \u00fcber diese Verbindung gleichzeitig \u00fcbertragen kann). Wenn ein Datenpaket verloren geht, reduzieren klassische Implementierungen des TCP-Protokolls (wie TCP New Reno) das ge\u00f6ffnete \"Fenster\" um die H\u00e4lfte. Das Wachstum des Congestion Windows und die Geschwindigkeit seiner Wiederherstellung nach dem Verlust h\u00e4ngen wieder von der Verz\u00f6gerung (RTT) zum Server ab. Wenn diese Verbindung nur zu einem CDN-Server f\u00fchrt, wird die Wiederherstellung schneller sein. Paketverluste sind dabei ein normales Ph\u00e4nomen, insbesondere in drahtlosen Netzwerken.<\/p>\n<p>Die Internetbandbreite kann insbesondere w\u00e4hrend der Sto\u00dfzeiten aufgrund des Nutzertraffics sinken, was zu \"Staus\" f\u00fchren kann. Dabei gibt es im Internet keine M\u00f6glichkeit, bestimmten Anfragen Priorit\u00e4t gegen\u00fcber anderen zu geben. Beispielsweise ist es nicht m\u00f6glich, kleinvolumige und latenzempfindliche Anfragen im Vergleich zu \"schweren\" Datenstr\u00f6men, die das Netzwerk belasten, zu priorisieren. Bei uns erm\u00f6glicht jedoch das Vorhandensein eines eigenen Backbone-Netzes, dies teilweise im Verlauf der Anfrage \u2014 zwischen dem CDN und der Cloud \u2014 zu realisieren, und wir k\u00f6nnen es vollst\u00e4ndig konfigurieren. So kann sichergestellt werden, dass kleine und latenzabh\u00e4ngige Pakete bevorzugt behandelt werden, w\u00e4hrend gro\u00dfe Datenstr\u00f6me etwas sp\u00e4ter verarbeitet werden. Je n\u00e4her das CDN am Kunden ist, desto effektiver wird der Prozess.<\/p>\n<p>Ein weiterer Einfluss auf die Latenz sind die Protokolle der Anwendungs-EBene (OSI Level 7). Neue Protokolle wie HTTP\/2 erm\u00f6glichen eine Optimierung der Leistung parallel ablaufender Anfragen. Allerdings haben wir bei Netflix Kunden mit \u00e4lteren Ger\u00e4ten, die diese neuen Protokolle nicht unterst\u00fctzen. Nicht alle Kunden k\u00f6nnen aktualisiert oder optimal konfiguriert werden. Dabei besteht zwischen dem CDN-Proxy und der Cloud vollst\u00e4ndige Kontrolle und die M\u00f6glichkeit, neue, optimale Protokolle und Einstellungen zu verwenden. Der ineffiziente Teil mit alten Protokollen wirkt sich lediglich zwischen dem Client und dem CDN-Server aus. Dar\u00fcber hinaus k\u00f6nnen wir Multiplex-Anfragen \u00fcber die bereits bestehende Verbindung zwischen dem CDN und der Cloud durchf\u00fchren, was die Auslastung der Verbindung auf TCP-Ebene verbessert.<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/a05b49680734670dcfce9111f3ba1919.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Wir messen<\/h2>\n<p>\nObwohl die Theorie Verbesserungen verspricht, st\u00fcrzen wir uns nicht sofort darauf, das System in die Produktion zu bringen. Stattdessen m\u00fcssen wir zun\u00e4chst nachweisen, dass die Idee in der Praxis funktioniert. Dazu m\u00fcssen wir einige Fragen beantworten:<\/p>\n<ul>\n<li><b>Geschwindigkeit<\/b>: Wird der Proxy schneller sein?<\/li>\n<li><b>Zuverl\u00e4ssigkeit<\/b>: Wird er h\u00e4ufiger ausfallen?<\/li>\n<li><b>Komplexit\u00e4t<\/b>: Wie integrieren wir es mit Anwendungen?<\/li>\n<li><b>Kosten<\/b>: Was kostet der Einsatz zus\u00e4tzlicher Infrastruktur?<\/li>\n<\/ul>\n<p>\nLassen Sie uns unseren Ansatz zur Bewertung des ersten Punkts im Detail betrachten. Die anderen werden auf \u00e4hnliche Weise behandelt.<\/p>\n<p>F\u00fcr die Analyse der Anfrageschnelligkeit m\u00f6chten wir Daten von allen Nutzern erhalten, ohne viel Zeit f\u00fcr die Entwicklung aufzuwenden und ohne den Produktionsbetrieb zu st\u00f6ren. Daf\u00fcr gibt es mehrere Ans\u00e4tze:<\/p>\n<ol>\n<li>RUM oder passives Messen von Anfragen. Wir messen die Ausf\u00fchrungszeit aktueller Anfragen von Nutzern und gew\u00e4hrleisten eine umfassende Abdeckung. Nachteil ist, dass das Signal nicht sehr stabil ist, da zahlreiche Faktoren Einfluss nehmen, wie die unterschiedlichen Gr\u00f6\u00dften der Anfragen und die Verarbeitungszeit auf Server und Client. Au\u00dferdem kann eine neue Konfiguration nicht getestet werden, ohne Auswirkungen auf die Produktion zu haben.<\/li>\n<li>Labortests. Spezielle Server und Infrastruktur, die Clients simulieren. Damit f\u00fchren wir die notwendigen Tests durch. So erhalten wir vollst\u00e4ndige Kontrolle \u00fcber die Messergebnisse und ein klares Signal. Aber wir haben keine vollst\u00e4ndige Abdeckung der Ger\u00e4te und Standorte der Nutzer (insbesondere bei einem Service weltweit und der Unterst\u00fctzung von Tausenden von Ger\u00e4ten).<\/li>\n<\/ol>\n<p>\nWie k\u00f6nnen wir die Vorteile beider Methoden kombinieren?<\/p>\n<p>Unser Team hat eine L\u00f6sung gefunden. Wir haben ein kleines St\u00fcck Code \u2014 einen Test \u2014 geschrieben, das wir in unsere Anwendung integriert haben. Die Tests erlauben es uns, vollst\u00e4ndig kontrollierte Netzwerktests von unseren Ger\u00e4ten aus durchzuf\u00fchren. Das funktioniert folgenderma\u00dfen: <\/p>\n<ol>\n<li>Kurz nach dem Laden der Anwendung und dem Abschluss der Erstaktivit\u00e4ten starten wir unsere Tests. <\/li>\n<li>Der Kunde sendet eine Anfrage an den Server und erh\u00e4lt das 'Rezept' f\u00fcr den Test. Das Rezept besteht aus einer Liste von URLs, zu denen HTTP(s)-Anfragen gestellt werden m\u00fcssen. Dar\u00fcber hinaus konfiguriert das Rezept die Anfrageparameter: Wartezeiten zwischen den Anfragen, die Menge der angeforderten Daten, HTTP(s)-Header usw. Dabei k\u00f6nnen wir gleichzeitig mehrere verschiedene Rezepte testen \u2014 bei der Anfrage zur Konfiguration wird zuf\u00e4llig bestimmt, welches Rezept ausgegeben wird. <\/li>\n<li>Die Startzeit des Tests wird so gew\u00e4hlt, dass sie nicht mit der aktiven Nutzung der Netzwerkressourcen des Kunden in Konflikt steht. Im Wesentlichen wird eine Zeit gew\u00e4hlt, in der der Kunde inaktiv ist.<\/li>\n<li>Nach Erhalt des Rezepts stellt der Kunde Anfragen an jede der URLs parallel. Eine Anfrage an jede URL kann wiederholt werden \u2013 die sogenannten \u201ePulse\u201c. Beim ersten Pulse messen wir, wie viel Zeit ben\u00f6tigt wird, um eine Verbindung herzustellen und Daten herunterzuladen. Beim zweiten Pulse messen wir die Ladezeit der Daten \u00fcber die bereits hergestellte Verbindung. Vor dem dritten Pulse k\u00f6nnen wir eine Verz\u00f6gerung einf\u00fcgen und die Geschwindigkeit der erneuten Verbindungsherstellung messen usw.\n<p>W\u00e4hrend des Tests messen wir alle Parameter, die das Ger\u00e4t erfassen kann:<\/p>\n<ul>\n<li>Zeit der DNS-Anfrage;<\/li>\n<li>Zeit f\u00fcr den Verbindungsaufbau \u00fcber TCP;<\/li>\n<li>Zeit f\u00fcr den Verbindungsaufbau \u00fcber TLS;<\/li>\n<li>Zeit bis zum Erhalt des ersten Datenbytes;<\/li>\n<li>Gesamtzeit zum Laden;<\/li>\n<li>Statuscode des Ergebnisses.<\/li>\n<\/ul>\n<\/li>\n<li> Nach Abschluss aller Pulse l\u00e4dt die Probe die Ergebnisse aller Messungen f\u00fcr die Analyse hoch.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/fff11d487b7c7725707cdeeca0734296.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie Hauptpunkte sind eine minimale Abh\u00e4ngigkeit von der Logik auf der Client-Seite, die Datenverarbeitung auf dem Server und die Messung parallel laufender Anfragen. Dadurch gewinnen wir die M\u00f6glichkeit, die Auswirkungen verschiedener Faktoren, die die Leistung von Anfragen beeinflussen, zu isolieren und zu testen, sie innerhalb eines einzigen Rezepts zu variieren und Ergebnisse von echten Kunden zu erhalten.<\/p>\n<p>Diese Infrastruktur hat sich nicht nur f\u00fcr die Analyse der Anfrageleistung als n\u00fctzlich erwiesen. Momentan verf\u00fcgen wir \u00fcber 14 aktive Rezepte, mehr als 6000 Proben pro Sekunde, die Daten aus allen Ecken der Welt erfassen und dabei vollumf\u00e4ngliche Ger\u00e4teabdeckung bieten. Wenn Netflix einen solchen Service von Drittanbietern erwerben w\u00fcrde, w\u00fcrde dieser Millionen Dollar pro Jahr kosten, bei deutlich schlechterer Abdeckung.<\/p>\n<h2>Wir testen die Theorie in der Praxis: Prototyp<\/h2>\n<p>\nMit einem solchen System haben wir die M\u00f6glichkeit erhalten, die Effizienz von CDN-Proxys hinsichtlich der Anfragelatenz zu bewerten. Jetzt m\u00fcssen wir:<\/p>\n<ul>\n<li>einen Prototyp des Proxys erstellen;<\/li>\n<li>den Prototyp im CDN bereitstellen;<\/li>\n<li>festlegen, wie Kunden zu Proxys auf einem bestimmten CDN-Server geleitet werden;<\/li>\n<li>die Leistung mit Anfragen in AWS ohne Proxy vergleichen.<\/li>\n<\/ul>\n<p>\nDas Ziel ist es, die Effizienz der vorgeschlagenen L\u00f6sung so schnell wie m\u00f6glich einzusch\u00e4tzen. F\u00fcr die Umsetzung des Prototyps haben wir Go gew\u00e4hlt, da es gute Netzwerkbibliotheken bietet. Auf jedem CDN-Server haben wir den Prototyp als statisches Binary installiert, um Abh\u00e4ngigkeiten zu minimieren und die Integration zu vereinfachen. In der ersten Implementierung haben wir m\u00f6glichst viele Standardkomponenten und kleinere Modifikationen f\u00fcr HTTP\/2 Connection Pooling und Request Multiplexing verwendet.<\/p>\n<p>F\u00fcr die Lastverteilung zwischen AWS-Regionen haben wir eine geografische DNS-Datenbank verwendet, die auch f\u00fcr die Lastverteilung von Clients genutzt wird. Zur Auswahl des CDN-Servers f\u00fcr den Client verwenden wir TCP Anycast f\u00fcr Server im Internet Exchange (IX). In diesem Setup nutzen wir eine einzige IP-Adresse f\u00fcr alle CDN-Server, sodass der Client zu dem CDN-Server mit der geringsten Anzahl an IP-Hops geleitet wird. Auf den CDN-Servern, die bei Internetdienstanbietern (ISP) installiert sind, haben wir jedoch keine Kontrolle \u00fcber den Router zur Konfiguration von TCP Anycast, deshalb setzen wir <noindex><a rel=\"nofollow\" href=\"https:\/\/www.infoq.com\/presentations\/netflix-streaming-arch\/\">die gleiche Logik<\/a><\/noindex>, nach der die Kunden zu Internetanbietern f\u00fcr Video-Streaming geleitet werden.<\/p>\n<p>Wir haben also drei Arten von Verbindungen zu untersuchen: \u00fcber das \u00f6ffentliche Internet in die Cloud, \u00fcber einen CDN-Server im IX oder \u00fcber einen CDN-Server beim Internetdienstanbieter. Unser Ziel ist es herauszufinden, welcher Weg der beste ist und welchen Vorteil ein Proxy im Vergleich zur direkten Umleitung von Anfragen in die Produktion bietet. Dazu nutzen wir ein Testsystem wie folgt:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/51b64d5be0aaf0f141484ee0fd373396.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJeder der Wege wird zu einem separaten Ziel, und wir beobachten die erreichte Zeit. F\u00fcr die Analyse fassen wir die Proxy-Ergebnisse in einer Gruppe zusammen (w\u00e4hlen die beste Zeit zwischen IX und ISP Proxy) und vergleichen diese mit der Zeit der Anfragen in die Cloud ohne Proxy:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/ec01690f6a312e61649282b0e6208778.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie zu sehen ist, sind die Ergebnisse zwiesp\u00e4ltig \u2013 in den meisten F\u00e4llen bietet der Proxy eine gute Beschleunigung, jedoch gibt es auch eine signifikante Anzahl von Kunden, bei denen sich die Situation erheblich verschlechtert. <\/p>\n<p>Zusammenfassend haben wir einige wichtige Punkte festgestellt:<\/p>\n<ol>\n<li>Wir haben die erwartete Leistung von Anfragen der Kunden in die Cloud \u00fcber einen CDN-Proxy bewertet.<\/li>\n<li>Wir haben Daten von echten Kunden von s\u00e4mtlichen Ger\u00e4tetypen gesammelt.<\/li>\n<li>Wir haben erkannt, dass die Theorie nicht zu 100 % best\u00e4tigt wurde und unser urspr\u00fcnglicher Vorschlag mit dem CDN-Proxy f\u00fcr uns nicht funktionieren wird.<\/li>\n<li>Wir haben kein Risiko eingegangen \u2013 keine Produktionskonfigurationen f\u00fcr unsere Kunden ge\u00e4ndert.<\/li>\n<li>Nichts ist kaputtgegangen. <\/li>\n<\/ol>\n<p><\/p>\n<h2>Prototyp 2.0<\/h2>\n<p>\nAlso, zur\u00fcck an die Zeichentafel und den Prozess erneut durchlaufen.<\/p>\n<p>Die Idee ist, anstelle von 100 % Proxy f\u00fcr jeden Kunden den schnellsten Weg zu bestimmen und die Anfragen dorthin zu leiten \u2013 das, was man Client-Steering nennt.<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/780817f48a4d2b292d5545e0aa1ccc50.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie setzen wir das um? Wir k\u00f6nnen die Logik nicht auf der Serverseite verwenden, da das Ziel ist, mit diesem Server zu verbinden. Wir m\u00fcssen irgendwie das auf der Clientseite erledigen. Und idealerweise mit minimalem Aufwand an komplexer Logik, um nicht die Integration mit einer Vielzahl von Kundenplattformen zu verwalten. <\/p>\n<p>Die Antwort ist die Verwendung von DNS. In unserem Fall verf\u00fcgen wir \u00fcber unsere eigene DNS-Infrastruktur und k\u00f6nnen eine Domainzone einrichten, f\u00fcr die unsere Server autoritativ sind. So funktioniert das:<\/p>\n<ol>\n<li>Der Kunde sendet eine Anfrage an den DNS-Server unter Verwendung des Hosts, z. B. api.netflix.com.<\/li>\n<li>Die Anfrage erreicht unseren DNS-Server.<\/li>\n<li>Der DNS-Server wei\u00df, welcher Weg f\u00fcr diesen Kunden der schnellste ist und gibt die entsprechende IP-Adresse aus. <\/li>\n<\/ol>\n<p>\nDie L\u00f6sung bringt eine zus\u00e4tzliche Komplexit\u00e4t mit sich: autoritative DNS-Anbieter sehen nicht die IP-Adresse des Kunden und k\u00f6nnen nur die IP-Adresse des rekursiven Resolvers ber\u00fccksichtigen, den der Kunde verwendet. <\/p>\n<p>Letztendlich muss unser autoritativer Resolver Entscheidungen nicht f\u00fcr einen einzelnen Kunden treffen, sondern f\u00fcr eine Gruppe von Kunden basierend auf dem rekursiven Resolver. <\/p>\n<p>F\u00fcr die L\u00f6sung verwenden wir dieselben Proben, aggregieren die Messergebnisse von Kunden f\u00fcr jeden der rekursiven Resolver und entscheiden, wohin wir diese Gruppe leiten \u2013 \u00fcber ein Proxy \u00fcber IX mit TCP Anycast, \u00fcber ISP-Proxy oder direkt in die Cloud.<\/p>\n<p>Wir erhalten ein solches System:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/ad23219938d1cb7b6eef498671c3e151.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas resultierende Modell f\u00fcr DNS Steering erm\u00f6glicht es, die Kunden basierend auf historischen Beobachtungen der Verbindungsgeschwindigkeiten von Kunden zur Cloud zu leiten. <\/p>\n<p>Nochmals die Frage \u2013 wie effektiv wird ein solcher Ansatz sein? Um dies zu beantworten, verwenden wir erneut unser Proben-System. Daher konfigurieren wir eine Recency-Umgebung, in der eines der Ziele dem DNS Steering folgt, w\u00e4hrend das andere direkt in die Cloud geht (aktuelles Produktionssystem).<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/ceb2ded9367ebd0aa0ede46191a89a88.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSchlie\u00dflich vergleichen wir die Ergebnisse und erhalten eine Bewertung der Effektivit\u00e4t:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/ca0db88461d5f2cb0f3f7c07eae14f10.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDabei haben wir einige wichtige Erkenntnisse gewonnen:<\/p>\n<ol>\n<li>Wir haben die erwartete Leistungsf\u00e4higkeit von Anfragen von Kunden an die Cloud mit DNS Steering bewertet.<\/li>\n<li>Wir haben Daten von echten Kunden von s\u00e4mtlichen Ger\u00e4tetypen gesammelt.<\/li>\n<li>Wir haben die Effektivit\u00e4t der vorgeschlagenen Idee nachgewiesen.<\/li>\n<li>Wir haben kein Risiko eingegangen \u2013 keine Produktionskonfigurationen f\u00fcr unsere Kunden ge\u00e4ndert.<\/li>\n<li>Nichts ist kaputtgegangen.<\/li>\n<\/ol>\n<p><\/p>\n<h2>Jetzt wird es ernst \u2014 wir gehen live.<\/h2>\n<p>\nDas Einfachste liegt nun hinter uns \u2014 wir haben einen funktionierenden Prototypen. Der herausfordernde Teil besteht jetzt darin, die L\u00f6sung f\u00fcr den gesamten Netflix-Verkehr bereitzustellen, sie auf 150 Millionen Nutzern, Tausenden von Ger\u00e4ten, Hunderten von Mikrodiensten und einer st\u00e4ndig wechselnden Produkt- und Infrastruktur zu implementieren. Auf die Netflix-Server treffen Millionen von Anfragen pro Sekunde ein, und man kann den Dienst mit einer unvorsichtigen Handlung leicht zum Erliegen bringen. Gleichzeitig m\u00f6chten wir den Datenverkehr dynamisch \u00fcber Tausende von CDN-Servern leiten, im Internet, wo sich st\u00e4ndig etwas \u00e4ndert und bricht, oft im ung\u00fcnstigsten Moment. <\/p>\n<p>Und dabei besteht das Team aus nur drei Ingenieuren, die f\u00fcr die Entwicklung, Bereitstellung und vollst\u00e4ndige Unterst\u00fctzung des Systems verantwortlich sind.<\/p>\n<p>Deshalb werden wir nun \u00fcber ruhigen und gesunden Schlaf sprechen.<\/p>\n<p>Wie k\u00f6nnen wir die Entwicklung fortsetzen, ohne die ganze Zeit mit Support besch\u00e4ftigt zu sein? Unser Ansatz basiert auf drei Prinzipien:<\/p>\n<ol>\n<li>Wir reduzieren den potenziellen Umfang von Fehlfunktionen (blast radius). <\/li>\n<li>Wir bereiten uns auf \u00dcberraschungen vor \u2013 wir erwarten, dass etwas kaputtgeht, trotz Tests und pers\u00f6nlicher Erfahrung.<\/li>\n<li>Sanfte Degradation \u2013 wenn etwas nicht richtig funktioniert, sollte es automatisch repariert werden, auch wenn es nicht die effizienteste Methode ist.<\/li>\n<\/ol>\n<p>\nEs hat sich herausgestellt, dass wir in diesem Fall, mit diesem Ansatz f\u00fcr das Problem, eine einfache und effektive L\u00f6sung finden und die Systemunterst\u00fctzung erheblich vereinfachen k\u00f6nnen. Wir haben erkannt, dass wir einen kleinen Code-Schnipsel in den Client einf\u00fcgen und die Fehler bei Netzwerk-Anfragen, die durch Verbindungsprobleme verursacht werden, \u00fcberwachen k\u00f6nnen. Bei Netzwerkfehlern f\u00fchren wir ein Fallback direkt in die Cloud durch. Diese L\u00f6sung erfordert keinen erheblichen Aufwand f\u00fcr die Client-Teams, reduziert jedoch das Risiko unerwarteter Ausf\u00e4lle und \u00dcberraschungen f\u00fcr uns erheblich.<\/p>\n<p>Selbstverst\u00e4ndlich folgen wir trotz des Fallbacks w\u00e4hrend der Entwicklung einer klaren Disziplin:<\/p>\n<ol>\n<li>Probentest.<\/li>\n<li>A\/B-Tests oder Canaries.<\/li>\n<li>Progressiver Rollout.<\/li>\n<\/ol>\n<p>\nBei den Proben wurde der Ansatz beschrieben \u2013 \u00c4nderungen werden zun\u00e4chst durch ein eingerichtetes Rezept getestet.<\/p>\n<p>F\u00fcr das Canary-Testing ben\u00f6tigen wir vergleichbare Serverpaare, auf denen wir das System vor und nach den \u00c4nderungen vergleichen k\u00f6nnen. Dazu w\u00e4hlen wir aus unseren zahlreichen CDN-Standorten Paare von Servern aus, die vergleichbaren Traffic erhalten:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/eef504f5c81aa985b78339fd5f913d14.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAnschlie\u00dfend installieren wir die Version mit den \u00c4nderungen auf den Canary-Servern. Zur Bewertung der Ergebnisse setzen wir ein System ein, das etwa 100-150 Metriken mit einer Stichprobe von Kontroll-Servern vergleicht:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/898edb0a5bd493d6ef228cd116c1a939.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn das Canary-Testing erfolgreich ist, f\u00fchren wir die Ver\u00f6ffentlichung schrittweise in Wellen durch. Auf jedem der Standorte aktualisieren wir die Server nicht gleichzeitig \u2013 der Verlust einer gesamten Website bei Problemen hat einen gr\u00f6\u00dferen Einfluss auf den Service f\u00fcr die Nutzer als der Verlust derselben Anzahl von Servern an unterschiedlichen Standorten.<\/p>\n<p>Insgesamt h\u00e4ngt die Effizienz und Sicherheit dieses Ansatzes von der Anzahl und Qualit\u00e4t der gesammelten Metriken ab. F\u00fcr unser System zur Beschleunigung von Anfragen sammeln wir Metriken von allen m\u00f6glichen Komponenten: <\/p>\n<ul>\n<li>von den Clients \u2013 Anzahl der Sessions und Anfragen, Fallback-Raten; <\/li>\n<li>von Proxys \u2013 Statistik \u00fcber die Anzahl und Dauer der Anfragen;<\/li>\n<li>von DNS \u2013 Anzahl und Ergebnisse der Anfragen;<\/li>\n<li>Cloud-Edge \u2014 Anzahl und Bearbeitungszeit von Anfragen in der Cloud.<\/li>\n<\/ul>\n<p>\nAll dies wird in einem einheitlichen Pipeline zusammengef\u00fchrt, und je nach Bedarf entscheiden wir, welche Metriken f\u00fcr die Echtzeitanalyse gesendet werden und welche nach Elasticsearch oder Big Data f\u00fcr eine detailliertere Diagnostik gehen.<\/p>\n<h2>Wir \u00fcberwachen<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/ff8b00b1239a20f85e96ce23c2d7c2d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn unserem Fall nehmen wir \u00c4nderungen auf dem kritischen Anfragenweg zwischen dem Kunden und dem Server vor. Dabei ist die Anzahl der verschiedenen Komponenten auf dem Client, dem Server und dem Weg \u00fcber das Internet enorm. \u00c4nderungen auf dem Client und Server geschehen st\u00e4ndig \u2014 w\u00e4hrend das Team an verschiedenen Projekten arbeitet und infolge nat\u00fcrlicher Ver\u00e4nderungen im \u00d6kosystem. Wir befinden uns in der Mitte \u2014 bei der Problemdiagnose besteht eine hohe Wahrscheinlichkeit, dass wir involviert sind. Daher m\u00fcssen wir klar verstehen, wie wir Metriken zur schnellen Lokalisierung von Problemen definieren, sammeln und analysieren. <\/p>\n<p>Idealerweise haben wir vollst\u00e4ndigen Zugriff auf alle Arten von Metriken und Filtern in Echtzeit. Aber es gibt so viele Metriken, dass die Kostenfrage aufkommt. In unserem Fall gliedern wir Metriken und Entwicklungstools wie folgt:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/0b4a15776f3b44331652adc14ea87390.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZur Problemerkennung und -analyse verwenden wir unser eigenes Echtzeitsystem mit offenem Quellcode. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Netflix\/atlas\">Atlas<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/netflixtechblog.com\/lumen-custom-self-service-dashboarding-for-netflix-8c56b541548c\">Lumen<\/a><\/noindex> \u2014 zur Visualisierung. Es speichert aggregierte Metriken im Speicher, ist zuverl\u00e4ssig und integriert sich mit dem Alarmsystem. F\u00fcr die Lokalisierung und Diagnose haben wir Zugriff auf Logs mit Elasticsearch und Kibana. F\u00fcr statistische Analysen und Modellierungen setzen wir Big Data und Visualisierungen in Tableau ein.<\/p>\n<p>Es scheint, dass es mit diesem Ansatz sehr schwierig zu arbeiten ist. Doch bei einer hierarchischen Organisation der Metriken und Tools k\u00f6nnen wir Probleme schnell analysieren, den Typ des Problems bestimmen und dann \u2013 in die detaillierten Metriken eintauchen. Um die Ursache eines Ausfalls zu identifizieren, ben\u00f6tigen wir im Durchschnitt etwa 1-2 Minuten. Danach arbeiten wir mit einem speziellen Team an der Diagnose \u2013 von mehreren Minuten bis hin zu einigen Stunden.<\/p>\n<p>Selbst wenn die Diagnose schnell erfolgt, m\u00f6chten wir, dass dies nicht h\u00e4ufig geschieht. Im Idealfall erhalten wir einen kritischen Alarm nur, wenn es erhebliche Auswirkungen auf den Service gibt. F\u00fcr unser Anfragesystem haben wir lediglich 2 Alarme, die Benachrichtigungen ausl\u00f6sen:<\/p>\n<ul>\n<li>Prozentsatz des Client Fallback \u2013 Bewertung des Kundenverhaltens;<\/li>\n<li>Prozentsatz der Probe-Fehler \u2013 Daten zur Stabilit\u00e4t der Netzkomponenten.<\/li>\n<\/ul>\n<p>\nDiese kritischen Warnungen \u00fcberwachen, ob das System f\u00fcr die meisten Nutzer funktioniert. Wir beobachten, wie viele Kunden auf den Fallback zur\u00fcckgegriffen haben, falls sie keine Beschleunigung der Anfragen erhalten konnten. Im Durchschnitt haben wir weniger als eine kritische Warnung pro Woche, obwohl im System viele \u00c4nderungen stattfinden. Warum reicht uns das aus?<\/p>\n<ol>\n<li>Es gibt einen Kunden-Fallback f\u00fcr den Fall, dass unser Proxy nicht funktioniert.<\/li>\n<li>Es gibt ein automatisches Steuerungssystem, das auf Probleme reagiert.<\/li>\n<\/ol>\n<p>\nDazu mehr im Detail. Unser System f\u00fcr Tests und das automatisierte System zur Bestimmung des optimalen Pfads f\u00fcr Anfragen vom Kunden in die Cloud erm\u00f6glichen es, automatisch mit bestimmten Problemen umzugehen. <\/p>\n<p>Lassen Sie uns zu unserer Konfiguration der Tests und den drei Kategorien von Pfaden zur\u00fcckkehren. Neben der Ladezeit k\u00f6nnen wir auch auf die tats\u00e4chliche Zustellung achten. Wenn das Laden von Daten nicht erfolgreich war, k\u00f6nnen wir anhand der Ergebnisse \u00fcber verschiedene Pfade bestimmen, wo und was kaputt gegangen ist, und ob wir dies automatisch beheben k\u00f6nnen, indem wir den Anfragereise \u00e4ndern.<\/p>\n<p>Beispiele:<\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/7d935da82aaca53af87f05fbdf215c4c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/f74ef9d3de953099921a68fbc65cb187.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/3c77cbd47813d3320efbf339a0690c53.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDieser Prozess kann automatisiert werden. In das Steering-System integriert werden. Und ihm beigebracht werden, auf Probleme mit der Performance und Zuverl\u00e4ssigkeit zu reagieren. Wenn etwas anf\u00e4ngt, fehlerhaft zu sein \u2013 sofort handeln, wenn es eine bessere Option gibt. Dabei ist eine sofortige Reaktion nicht kritisch, dank Fallback auf den Clients.<\/p>\n<p>Die Prinzipien zur Unterst\u00fctzung des Systems k\u00f6nnen wie folgt formuliert werden:<\/p>\n<ul>\n<li>wir reduzieren das Ausma\u00df von Fehlern;<\/li>\n<li>wir sammeln Metriken;<\/li>\n<li>wir beheben automatisch Fehler, wenn m\u00f6glich;<\/li>\n<li>wenn nicht, benachrichtigen wir;<\/li>\n<li>wir arbeiten an Dashboards und einem Triage-Toolset f\u00fcr schnelle Reaktionen.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Erlernte Lektionen<\/h2>\n<p>\nF\u00fcr die Erstellung eines Prototyps wird nicht viel Zeit ben\u00f6tigt. In unserem Fall war er bereits nach 4 Monaten bereit. Mit ihm erhielten wir neue Metriken, und nach 10 Monaten ab Beginn der Entwicklung hatten wir den ersten Produktionsverkehr. Dann begann die m\u00fchsame und sehr komplexe Arbeit: das Produkt schrittweise zu entwickeln und zu skalieren, den Hauptverkehr zu migrieren und aus Fehlern zu lernen. Dieser effektive Prozess wird dabei nicht linear sein \u2013 trotz aller Bem\u00fchungen kann man nicht alles vorhersehen. Viel effektiver ist es, schnell zu iterieren und auf neue Daten zu reagieren. <\/p>\n<p><img decoding=\"async\" alt=\"Wir beschleunigen Internet-Anfragen und schlafen ruhig.\" src=\"\/wp-content\/uploads\/2020\/06\/c9c182a1a4fa048b1f1b2a82a4db65e1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBasierend auf unserer Erfahrung empfehlen wir Folgendes:<\/p>\n<ol>\n<li>Vertrauen Sie nicht Ihrer Intuition.\n<p>Unsere Intuition hat uns immer wieder im Stich gelassen, trotz der umfangreichen Erfahrung der Teammitglieder. Zum Beispiel haben wir die erwartete Beschleunigung durch die Nutzung eines CDN-Proxys oder das Verhalten von TCP Anycast falsch vorhergesagt.<\/li>\n<li>Sammeln Sie Daten aus der Produktion.\n<p>Es ist wichtig, so schnell wie m\u00f6glich Zugriff auf zumindest einige Produktionsdaten zu erhalten. Die Anzahl einzigartiger F\u00e4lle, Konfigurationen und Einstellungen unter Laborbedingungen ist nahezu unm\u00f6glich zu replicieren. Der schnelle Zugang zu Ergebnissen erm\u00f6glicht es, potenzielle Probleme fr\u00fcher zu erkennen und diese in die Systemarchitektur einflie\u00dfen zu lassen.<\/li>\n<li>Folgen Sie nicht den Ratschl\u00e4gen und Ergebnissen anderer \u2013 sammeln Sie Ihre eigenen Daten.\n<p>Befolgen Sie die Prinzipien der Datensammlung und -analyse, aber \u00fcbernehmen Sie nicht blind die Ergebnisse und Behauptungen anderer. Nur Sie k\u00f6nnen genau wissen, was f\u00fcr Ihre Nutzer funktioniert. Ihre Systeme und Ihre Kunden k\u00f6nnen sich erheblich von denen anderer Unternehmen unterscheiden. Gl\u00fccklicherweise sind Analysewerkzeuge heute verf\u00fcgbar und einfach zu verwenden. Die Ergebnisse, die Sie erhalten, stimmen m\u00f6glicherweise nicht mit dem \u00fcberein, was Unternehmen wie Netflix, Facebook, Akamai und andere behaupten. In unserem Fall unterscheiden sich die TLS-Leistung, HTTP2 oder DNS-Abfrage-Statistiken von den Ergebnissen von Facebook, Uber, Akamai \u2013 denn wir haben andere Ger\u00e4te, Kunden und Datenstr\u00f6me.<\/li>\n<li>Streben Sie nicht unn\u00f6tig nach modischen Trends, ohne deren Effektivit\u00e4t zu bewerten.\n<p>Beginnen Sie mit einfachen L\u00f6sungen. Es ist besser, ein einfaches funktionierendes System in kurzer Zeit zu schaffen, als viel Zeit mit der Entwicklung von Komponenten zu verschwenden, die Sie nicht ben\u00f6tigen. Fokussieren Sie sich auf die Herausforderungen und Probleme, die anhand Ihrer Messungen und Ergebnisse wichtig sind. <\/li>\n<li>Seien Sie offen f\u00fcr neue Anwendungen.\n<p>Ebenso schwierig wie es ist, alle Probleme vorherzusagen, ist es, im Voraus die Vorteile und Anwendungen zu erkennen. Lassen Sie sich von Startups inspirieren \u2013 ihre F\u00e4higkeit, sich an die Bed\u00fcrfnisse der Kunden anzupassen. In Ihrem Fall k\u00f6nnen Sie neue Probleme und deren L\u00f6sungen entdecken. In unserem Projekt hatten wir das Ziel, die Anfragenlatenz zu verringern. Allerdings haben wir w\u00e4hrend der Analyse und Diskussionen festgestellt, dass wir Proxy-Server auch f\u00fcr folgende Zwecke einsetzen k\u00f6nnen:<\/p>\n<ul>\n<li>um den Traffic \u00fcber AWS-Regionen zu balancieren und Kosten zu reduzieren;<\/li>\n<li>um die Stabilit\u00e4t von CDNs zu modellieren;<\/li>\n<li>um die DNS-Konfiguration zu optimieren;<\/li>\n<li>um TLS\/TCP zu konfigurieren.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Fazit<\/h2>\n<p>\nIn meinem Bericht habe ich beschrieben, wie Netflix die Herausforderung meistert, Internetanfragen zwischen Kunden und der Cloud zu beschleunigen. Wie wir Daten durch ein Sampling-System bei den Kunden sammeln und die gesammelten historischen Daten nutzen, um Produktionsanfragen von den Kunden \u00fcber den schnellsten Weg im Internet zu leiten. Wie wir die Prinzipien der Netzwerkprotokolle, unsere CDN-Infrastruktur, das Backbone-Netzwerk und DNS-Server verwenden, um dieses Ziel zu erreichen.<\/p>\n<p>Unser Ansatz ist ein Beispiel daf\u00fcr, wie wir bei Netflix ein solches System implementiert haben. Es hat bei uns funktioniert. Der praktische Teil meines Berichts f\u00fcr Sie sind die Prinzipien der Entwicklung und Wartung, denen wir folgen, um gute Ergebnisse zu erzielen.<\/p>\n<p>Unsere L\u00f6sung k\u00f6nnte f\u00fcr Sie nicht passen. Dennoch bleiben die Theorien und Entwicklungsmethoden relevant, auch wenn Sie keine eigene CDN-Infrastruktur haben oder wenn Ihre Infrastruktur erheblich von unserer abweicht. <\/p>\n<p>Die Geschwindigkeit der Anfragen hat auch eine entscheidende Bedeutung f\u00fcr das Gesch\u00e4ft. Selbst f\u00fcr einen einfachen Dienst m\u00fcssen Sie Entscheidungen treffen: zwischen \"Cloud\"-Anbietern, dem Standort der Server, CDN- und DNS-Anbietern. Ihre Wahl wird die Effektivit\u00e4t der Internetanfragen f\u00fcr Ihre Kunden beeinflussen. Es ist wichtig, diesen Einfluss zu messen und zu verstehen.<\/p>\n<p>Beginnen Sie mit einfachen L\u00f6sungen und bedenken Sie, wie Sie Ihr Produkt ver\u00e4ndern. Lernen Sie im Prozess und optimieren Sie das System basierend auf den Daten Ihrer Kunden, Ihrer Infrastruktur und Ihres Unternehmens. Denken Sie bei der Planung an die M\u00f6glichkeit unerwarteter Ausf\u00e4lle. So k\u00f6nnen Sie Ihren Entwicklungsprozess beschleunigen, die Effizienz der L\u00f6sung verbessern, unn\u00f6tige Belastungen f\u00fcr den Support vermeiden und ruhig schlafen.<\/p>\n<blockquote><p>In diesem Jahr <noindex><a rel=\"nofollow\" href=\"http:\/\/devoops-moscow.ru\/?utm_source=habr&amp;utm_medium=506106\">findet die Konferenz vom 6. bis 10. Juli statt<\/a><\/noindex> im Online-Format. Sie k\u00f6nnen Fragen an einen der V\u00e4ter von DevOps, John Willis, stellen!<\/p><\/blockquote>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/506106\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Netflix \u2014 \u043b\u0438\u0434\u0435\u0440 \u0440\u044b\u043d\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0442\u0435\u043b\u0435\u0432\u0438\u0434\u0435\u043d\u0438\u044f \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044d\u0442\u043e\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442. Netflix \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043a\u0438\u043d\u043e \u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0433\u043e\u043b\u043a\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u044b \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c, \u043d\u043e \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043e\u0439. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Netflix \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0430 DevOops 2019 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":84877,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-84876","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"Netflix \u2014 \u043b\u0438\u0434\u0435\u0440 \u0440\u044b\u043d\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0442\u0435\u043b\u0435\u0432\u0438\u0434\u0435\u043d\u0438\u044f \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044d\u0442\u043e\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442. Netflix \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043a\u0438\u043d\u043e \u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0433\u043e\u043b\u043a\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u044b \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c, \u043d\u043e \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043e\u0439. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Netflix \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0430 DevOops 2019 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\" \/>\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\/uskoryaem-internet-zaprosy-i-spim-spokojno\" \/>\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\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0441\u043f\u0438\u043c \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Netflix \u2014 \u043b\u0438\u0434\u0435\u0440 \u0440\u044b\u043d\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0442\u0435\u043b\u0435\u0432\u0438\u0434\u0435\u043d\u0438\u044f \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044d\u0442\u043e\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442. Netflix \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043a\u0438\u043d\u043e \u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0433\u043e\u043b\u043a\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u044b \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c, \u043d\u043e \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043e\u0439. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Netflix \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0430 DevOops 2019 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno\" \/>\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-11T11:43:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-11T11:43: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\udd47Beschleunigen Sie Internetanfragen und schlafen Sie ruhig | ProHoster","description":"Netflix ist der Marktf\u00fchrer im Bereich Internet-Fernsehen und hat dieses Segment ma\u00dfgeblich gepr\u00e4gt und entwickelt. Netflix ist nicht nur f\u00fcr sein umfangreiches Angebot an Filmen und Serien bekannt, die von fast jedem Ort der Erde und von jedem Ger\u00e4t mit Bildschirm aus zug\u00e4nglich sind, sondern auch f\u00fcr seine zuverl\u00e4ssige Infrastruktur und einzigartige Ingenieurkultur. Ein anschauliches Beispiel f\u00fcr den Netflix-Ansatz in der Entwicklung und im Betrieb komplexer Systeme wurde auf der DevOps 2019 vorgestellt.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno","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\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0441\u043f\u0438\u043c \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e | ProHoster","og:description":"Netflix \u2014 \u043b\u0438\u0434\u0435\u0440 \u0440\u044b\u043d\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0442\u0435\u043b\u0435\u0432\u0438\u0434\u0435\u043d\u0438\u044f \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044d\u0442\u043e\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442. Netflix \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043a\u0438\u043d\u043e \u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0433\u043e\u043b\u043a\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u044b \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c, \u043d\u043e \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043e\u0439. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Netflix \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0430 DevOops 2019 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno","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-11T11:43:18+00:00","article:modified_time":"2020-06-11T11:43:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"84876","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:48:22","updated":"2022-09-27 23:34:06"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/84876","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=84876"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/84876\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/84877"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=84876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=84876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=84876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}