Wie Docker sein GeschĂ€ft fĂŒr Millionen von Entwicklern ausweitet, Teil 2: Ausgehende Daten

Wie Docker sein GeschĂ€ft fĂŒr Millionen von Entwicklern ausweitet, Teil 2: Ausgehende Daten

Dies ist der zweite Artikel einer Serie, in dem die EinschrÀnkungen beim Herunterladen von Container-Images behandelt werden.

In dem ersten Teil Wir haben die in Docker Hub gespeicherten Images, dem grĂ¶ĂŸten Registry fĂŒr Container-Images, ausfĂŒhrlich betrachtet. Wir schreiben darĂŒber, um Ihnen ein besseres VerstĂ€ndnis dafĂŒr zu geben, wie unsere aktualisierten Nutzungsbedingungen die Entwicklungsteams beeinflussen, die Docker Hub zur Verwaltung von Container-Images und CI/CD-Pipelines nutzen.

Über die Download-HĂ€ufigkeitsbeschrĂ€nkungen wurde zuvor in unseren Nutzungsbedingungeninformiert. Wir werden die HĂ€ufigkeitsbeschrĂ€nkungen, die am 1. November 2020 in Kraft treten, nĂ€her beleuchten:

Kostenloser Tarifplan, anonyme Benutzer: 100 Downloads innerhalb von 6 Stunden
Kostenloser Tarifplan, autorisierte Benutzer: 200 Downloads innerhalb von 6 Stunden
Pro-Tarifplan: keine EinschrÀnkungen
Team-Tarifplan: keine EinschrÀnkungen

Die Downloadfrequenz von Docker wird als Anzahl der Manifestanfragen an den Docker Hub definiert. Die BeschrĂ€nkungen fĂŒr das Herunterladen von Images hĂ€ngen vom Kontotyp des anfragenden Nutzers ab, nicht vom Kontotyp des Imagebesitzers. FĂŒr anonyme (nicht autorisierte) Nutzer ist die Downloadfrequenz an die IP-Adresse gebunden.

N.B. Weitere Tipps und Best Practices erhalten Sie im Docker-Kurs von Praktikern. Sie können ihn in Ihrem eigenen Tempo und zu einem fĂŒr Sie passenden Zeitpunkt absolvieren.

Wir erhalten Fragen von Kunden und der Community bezĂŒglich der Schichten von Container-Images. Wir berĂŒcksichtigen die Schichten des Images nicht bei der Begrenzung der Downloadfrequenz, da wir die Downloads von Manifesten einschrĂ€nken, und derzeit gibt es keine Begrenzung fĂŒr die Anzahl der Schichten (Blob-Anfragen). Diese Änderung basiert auf dem Feedback der Community, um die Nutzung benutzerfreundlicher zu gestalten, damit die Nutzer nicht die Schichten in jedem von ihnen verwendeten Image zĂ€hlen mĂŒssen.

Detaillierte Analyse der Downloadfrequenzen von Docker Hub

Wir haben viel Zeit damit verbracht, die Downloads von Abbildungen aus Docker Hub zu analysieren, um die Ursachen der Geschwindigkeitsbegrenzung zu ermitteln und herauszufinden, wie diese genau implementiert werden sollte. Was wir feststellten, bestĂ€tigte, dass nahezu alle Benutzer die Abbildungen mit einer vorhersehbaren Geschwindigkeit fĂŒr gĂ€ngige ArbeitsablĂ€ufe herunterladen. Es gibt jedoch einen signifikanten Einfluss einer kleinen Anzahl an anonymen Nutzern: fast 30 % aller Downloads stammen lediglich von 1 % dieser anonymen Nutzer.

Wie Docker sein GeschĂ€ft fĂŒr Millionen von Entwicklern ausweitet, Teil 2: Ausgehende Daten

Die neuen EinschrĂ€nkungen basieren auf dieser Analyse, sodass die meisten unserer Benutzer nicht betroffen sein werden. Diese Begrenzungen spiegeln die ĂŒbliche Nutzung durch Entwickler wider — das Erlernen von Docker, die Entwicklung von Code, das Erstellen von Abbildungen usw.

UnterstĂŒtzung fĂŒr Entwickler, um ein besseres VerstĂ€ndnis der Download-Rate-Limitierung zu erhalten.

Jetzt, da wir die Auswirkungen und die erforderlichen Grenzen verstehen, mĂŒssen wir die technischen Bedingungen fĂŒr die Arbeit mit diesen EinschrĂ€nkungen festlegen. Es ist recht komplex, den Download von Images aus der Docker-Registry zu begrenzen. Sie werden keine API fĂŒr Uploads in der Registry-Beschreibung finden – diese existiert einfach nicht. TatsĂ€chlich stellt der Download eines Images eine Kombination aus Manifestanfragen und Blobs in der API dar, und diese werden unterschiedlich ausgefĂŒhrt, abhĂ€ngig vom Status des Clients und dem angeforderten Image.

Wenn Sie beispielsweise bereits ein Image haben, wird die Docker-Engine eine Manifestanfrage stellen, feststellen, dass sie bereits alle notwendigen Schichten basierend auf dem angenommenen Manifest hat, und dann anhalten. Andererseits, wenn Sie ein Image herunterladen, das mehrere Architekturen unterstĂŒtzt, wird die Manifestanfrage eine Liste von Image-Manifesten fĂŒr jede unterstĂŒtzte Architektur zurĂŒckgeben. Anschließend wird die Docker-Engine eine weitere Manifestanfrage fĂŒr die spezifische Architektur stellen, auf der sie lĂ€uft, und erhĂ€lt die Liste aller Image-Schichten. Danach wird sie jede fehlende Schicht (Blob) anfragen.

N.B. Ein umfassenderer Überblick ĂŒber dieses Thema findet sich im Docker-Kurs, in dem wir alle seine Werkzeuge von grundlegenden Abstraktionen bis hin zu Netzwerkkonfigurationen sowie den Feinheiten der Arbeit mit verschiedenen Betriebssystemen und Programmiersprachen behandeln. Sie werden mit der Technologie vertraut gemacht und verstehen, wo und wie Sie Docker am besten einsetzen können.

Das Herunterladen eines Images besteht tatsĂ€chlich aus einem oder zwei Manifestanfragen sowie von null bis unendlich — Anfragen nach Schichten (blobs). Historisch gesehen hat Docker die Download-HĂ€ufigkeit basierend auf den Schichten verfolgt, da dies am stĂ€rksten mit der Bandbreitennutzung verbunden ist. Dennoch haben wir auf die Community gehört, da dies komplizierter ist, weil man die Anzahl der angeforderten Schichten verfolgen muss, was dazu fĂŒhrt, dass bewĂ€hrte Verfahren im Umgang mit Dockerfiles ignoriert werden und es fĂŒr Benutzer, die einfach nur mit dem Registry arbeiten möchten, weniger intuitiv ist.

Daher beschrĂ€nken wir die Anzahl der Anfragen basierend auf den Manifestanfragen. Dies steht direkt im Zusammenhang mit dem Herunterladen von Images, was fĂŒr die Benutzer leicht nachvollziehbar ist. Es gibt jedoch einen kleinen Haken: Wenn Sie versuchen, ein bereits vorhandenes Image herunterzuladen, wird die Anfrage trotzdem gezĂ€hlt, auch wenn Sie die Schichten nicht herunterladen. Wir hoffen, dass diese Methode zur Begrenzung der Downloadfrequenz sowohl fair als auch benutzerfreundlich ist.

Wir freuen uns auf Ihr Feedback

Wir werden die EinschrĂ€nkungen ĂŒberwachen und entsprechende Anpassungen basierend auf typischen Nutzungsszenarien vornehmen, um sicherzustellen, dass die BeschrĂ€nkungen fĂŒr jeden Benutzertyp geeignet sind. Zudem werden wir uns bemĂŒhen, Entwicklern nicht in die Quere zu kommen, damit sie ihre Arbeit erledigen können.

Verfolgen Sie die Nachrichten in den kommenden Wochen, es wird einen weiteren Artikel zur Einrichtung von CI und Produktionssystemen im Lichte dieser Änderungen geben.

Im Rahmen der UnterstĂŒtzung der Open-Source-Entwicklergemeinschaft werden wir bis zum 1. November neue Tarife fĂŒr Open Source anbieten. Um sich zu bewerben, muss ein Formular ausgefĂŒllt werden. hier.

FĂŒr weitere Informationen zu den neuesten Änderungen der Nutzungsbedingungen wenden Sie sich bitte an FAQ.

Diejenigen, die die Download-GeschwindigkeitsbeschrÀnkungen anheben möchten, bietet Docker unbegrenzte Downloads von Images als Funktion an der Pro- oder Team-PlÀne. Wie immer freuen wir uns auf Ihr Feedback und Ihre Fragen hier.

Quelle: habr.com

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster