In che modo il business di Docker si espande per servire milioni di sviluppatori, parte 2: dati in uscita

In che modo il business di Docker si espande per servire milioni di sviluppatori, parte 2: dati in uscita

Questo è il secondo articolo di una serie di articoli che coprirà le limitazioni durante il download delle immagini del contenitore.

В la prima parte abbiamo esaminato più da vicino le immagini archiviate in Docker Hub, il più grande registro di immagini di container. Stiamo scrivendo questo per aiutarti a capire meglio in che modo i nostri Termini di servizio aggiornati influiranno sui team di sviluppo che utilizzano Docker Hub per gestire le immagini dei contenitori e le pipeline CICD.

I limiti di frequenza di download sono stati precedentemente annunciati nel nostro Termini di servizio. Diamo un'occhiata più da vicino ai limiti di frequenza che entreranno in vigore il 1° novembre 2020:

Piano gratuito, utenti anonimi: 100 download in 6 ore
Piano gratuito, utenti autorizzati: 200 download in 6 ore
Piano Pro: illimitato
Piano squadra: illimitato

La frequenza di download di Docker è definita come il numero di richieste manifest a Docker Hub. I limiti di frequenza del download delle immagini dipendono dal tipo di account che richiede l'immagine, non dal tipo di account del proprietario dell'immagine. Per gli utenti anonimi (non autorizzati), la frequenza di download è legata all'indirizzo IP.

NB Riceverai più sottigliezze e casi di best practice sul corso Docker da professionisti. Inoltre, puoi affrontarlo quando è conveniente per te, sia nel tempo che nell'umore.

Stiamo ricevendo domande dai clienti e dalla community in merito ai livelli delle immagini dei contenitori. Non consideriamo i livelli di immagine quando limitiamo la frequenza di download, perché limitiamo i download manifest e il numero di livelli (richieste blob) è attualmente illimitato. Questa modifica si basa sul feedback della community per renderlo più user friendly in modo che gli utenti non debbano contare i livelli su ogni aspetto che utilizzano.

Analisi dettagliata delle frequenze di download delle immagini di Docker Hub

Abbiamo passato molto tempo ad analizzare il download di immagini da Docker Hub per determinare il motivo del limite di velocità, nonché esattamente come limitarlo. Ciò che abbiamo visto ha confermato che praticamente tutti gli utenti scaricano immagini a una velocità prevedibile per i flussi di lavoro tipici. Tuttavia, vi è una notevole influenza di un piccolo numero di utenti anonimi, ad esempio, circa il 30% di tutti i download proviene solo dall'1% di utenti anonimi.

In che modo il business di Docker si espande per servire milioni di sviluppatori, parte 2: dati in uscita

I nuovi limiti si basano su questa analisi, quindi la maggior parte dei nostri utenti non sarà interessata. Questi limiti sono fatti per riflettere il normale utilizzo da parte degli sviluppatori: apprendimento di Docker, sviluppo di codice, creazione di immagini e così via.

Aiutare gli sviluppatori a comprendere meglio i limiti di frequenza dei download

Ora che abbiamo compreso l'impatto e anche dove dovrebbero essere i confini, abbiamo dovuto determinare le condizioni tecniche per il funzionamento di queste restrizioni. Limitare il download di immagini dal registro Docker è piuttosto difficile. Non troverai un'API per i download nella descrizione del registro: semplicemente non esiste.In effetti, il download di un'immagine è una combinazione di richieste manifest e blob nell'API e vengono eseguiti in modo diverso, a seconda dello stato di il cliente e l'immagine richiesta.

Ad esempio, se disponi già di un'immagine, Docker Engine emetterà una richiesta per un manifest, capirà che ha già tutti i livelli necessari in base al manifest accettato e quindi si fermerà. D'altra parte, se stai scaricando un'immagine che supporta più architetture, una richiesta manifest restituirà un elenco di manifest di immagini per ogni architettura supportata. Il motore Docker emetterà quindi un'altra richiesta manifest per la particolare architettura su cui è in esecuzione, in cambio otterrà un elenco di tutti i livelli nell'immagine. Quindi eseguirà una query per ogni livello mancante (blob).

NB Questo argomento è trattato più ampiamente in Corso Docker, in cui analizzeremo tutti i suoi strumenti: dalle astrazioni di base ai parametri di rete, le sfumature del lavoro con vari sistemi operativi e linguaggi di programmazione. Conoscerai la tecnologia e capirai dove e come utilizzare al meglio Docker.

Si scopre che il download di un'immagine è in realtà una o due richieste manifest, nonché da zero a infinito - richieste di livelli (blob). Storicamente, Docker ha monitorato la frequenza di download strato per strato, poiché è più correlata all'utilizzo della larghezza di banda. Tuttavia, abbiamo ascoltato la comunità, il che è più difficile, perché è necessario tenere traccia del numero richiesto di livelli, il che porterà a ignorare le migliori pratiche relative al lavoro con Dockerfile e anche più intuitivo per gli utenti che vogliono solo lavorare con il registro senza comprendere molto i dettagli.

Quindi limitiamo il numero di richieste in base alle richieste manifest. Questo è direttamente correlato al download di immagini, che è facile da capire per gli utenti. C'è davvero una piccola sfumatura: se provi a scaricare un'immagine già esistente, la richiesta verrà comunque presa in considerazione, anche se non scarichi i livelli. In ogni caso, ci auguriamo che questo metodo di limitazione della frequenza dei download sia equo e di facile utilizzo.

In attesa di una risposta

Monitoreremo le restrizioni e apporteremo le opportune modifiche in base a casi d'uso comuni per garantire che le restrizioni siano appropriate per ogni tipo di utente e, in particolare, cercheremo di non impedire mai agli sviluppatori di svolgere il proprio lavoro.

Resta sintonizzato nelle prossime settimane per un altro articolo sulle modifiche ai sistemi di combattimento e CI alla luce di questi cambiamenti.

Infine, come parte del nostro supporto per la comunità open source, forniremo nuovi piani tariffari per l'open source fino al 1° novembre. Per candidarsi compilare il form qui.

Per ulteriori informazioni sulle ultime modifiche ai termini di servizio, visitare il sito FAQ.

Per coloro che hanno bisogno di aumentare i limiti di frequenza di download delle immagini, Docker offre download di immagini illimitati come funzionalità. Piani Pro o Team. Come sempre, accogliamo con favore feedback e domande. qui.

Fonte: habr.com

Aggiungi un commento