Kako se Docker Business mjeri kako bi služio milionima programera, 2. dio: Odlazni podaci

Kako se Docker Business mjeri kako bi služio milionima programera, 2. dio: Odlazni podaci

Ovo je drugi članak u nizu članaka koji će pokriti ograničenja prilikom preuzimanja slika kontejnera.

В prvi deo pažljivije smo pogledali slike pohranjene u Docker Hub-u, najvećem registru slika kontejnera. Pišemo ovo kako bismo vam pomogli da bolje shvatite kako će naši ažurirani Uvjeti korištenja utjecati na razvojne timove koji koriste Docker Hub za upravljanje slikama kontejnera i CICD cjevovodima.

Ograničenja frekvencije preuzimanja prethodno su objavljena u našoj Uslovi korištenja. Pobliže ćemo pogledati ograničenja učestalosti koja će stupiti na snagu 1. novembra 2020:

Besplatan plan, anonimni korisnici: 100 preuzimanja u 6 sati
Besplatan plan, ovlašteni korisnici: 200 preuzimanja u 6 sati
Pro plan: neograničeno
Timski plan: neograničeno

Učestalost preuzimanja Docker-a definirana je kao broj zahtjeva manifesta za Docker Hub. Ograničenja učestalosti preuzimanja slika zavise od tipa naloga koji zahteva sliku, a ne od tipa naloga vlasnika slike. Za anonimne (neovlaštene) korisnike, frekvencija preuzimanja je vezana za ip adresu.

NB Dobit ćete više suptilnosti i primjera najbolje prakse na kursu Docker od praktičara. Štaviše, možete ga proći kada vam odgovara - i po vremenu i po raspoloženju.

Dobijamo pitanja od kupaca i zajednice u vezi sa slojevima slike kontejnera. Ne uzimamo u obzir slojeve slike kada ograničavamo učestalost preuzimanja, jer ograničavamo preuzimanja manifesta, a broj slojeva (blob zahtjeva) je trenutno neograničen. Ova promjena je zasnovana na povratnim informacijama zajednice kako bi bila lakša za korisnike, tako da korisnici ne moraju brojati slojeve na svaki izgled koji koriste.

Detaljna analiza učestalosti preuzimanja Docker Hub slika

Proveli smo dosta vremena analizirajući preuzimanje slika sa Docker Huba kako bismo utvrdili razlog ograničenja brzine, kao i kako ga tačno ograničiti. Ono što smo vidjeli potvrdilo je da gotovo svi korisnici preuzimaju slike predvidljivom brzinom za tipične tokove posla. Međutim, primjetan je utjecaj malog broja anonimnih korisnika, na primjer, oko 30% svih preuzimanja dolazi od samo 1% anonimnih korisnika.

Kako se Docker Business mjeri kako bi služio milionima programera, 2. dio: Odlazni podaci

Nova ograničenja su zasnovana na ovoj analizi, tako da većina naših korisnika neće biti pogođena. Ova ograničenja su napravljena tako da odražavaju normalnu upotrebu od strane programera - učenje Dockera, razvoj koda, pravljenje slika itd.

Pomaganje programerima da bolje razumiju ograničenja učestalosti preuzimanja

Sada kada smo shvatili uticaj, a takođe i gde bi trebalo da budu granice, morali smo da odredimo tehničke uslove za delovanje ovih ograničenja. Ograničavanje preuzimanja slika iz Docker registra je prilično teško. Nećete pronaći API za preuzimanja u opisu registra - on jednostavno ne postoji. Zapravo, preuzimanje slike je kombinacija zahtjeva manifesta i blobova u API-ju, a oni se izvršavaju različito, ovisno o stanju klijenta i traženu sliku.

Na primjer, ako već imate sliku, Docker Engine će izdati zahtjev za manifest, shvatiti da već ima sve potrebne slojeve na osnovu prihvaćenog manifesta, a zatim će se zaustaviti. S druge strane, ako preuzimate sliku koja podržava višestruke arhitekture, zahtjev manifesta će vratiti listu manifesta slike za svaku podržanu arhitekturu. Docker Engine će zatim izdati još jedan manifestni zahtjev za određenu arhitekturu na kojoj radi, a zauzvrat će dobiti listu svih slojeva na slici. Zatim će postaviti upit za svaki sloj koji nedostaje (blob).

NB Ova tema je šire obrađena u Docker kurs, u kojem ćemo analizirati sve njegove alate: od osnovnih apstrakcija do mrežnih parametara, nijansi rada sa različitim operativnim sistemima i programskim jezicima. Upoznat ćete se sa tehnologijom i shvatiti gdje i kako najbolje koristiti Docker.

Ispostavilo se da je preuzimanje slike zapravo jedan ili dva manifest zahtjeva, kao i od nule do beskonačnosti - zahtjevi za slojevima (blob). Istorijski gledano, Docker je pratio učestalost preuzimanja na bazi sloj po sloj, jer je to najviše povezano s korištenjem propusnog opsega. Ali ipak, poslušali smo zajednicu, što je teže, jer morate pratiti traženi broj slojeva, što će dovesti do ignorisanja najboljih praksi u vezi sa radom sa Dockerfileom, a i intuitivnije za korisnike koji žele samo raditi sa registrom bez puno razumijevanja detalja.

Stoga ograničavamo broj zahtjeva na osnovu zahtjeva manifesta. Ovo je direktno povezano sa preuzimanjem slika, što je korisnicima lako razumjeti. Zaista postoji mala nijansa - ako pokušate preuzeti sliku koja već postoji, zahtjev će i dalje biti uzet u obzir, čak i ako ne preuzmete slojeve. U svakom slučaju, nadamo se da će ovaj način ograničavanja učestalosti preuzimanja biti i pošten i jednostavan za korištenje.

Radujemo se vašim povratnim informacijama

Pratićemo ograničenja i vršiti odgovarajuća prilagođavanja na osnovu uobičajenih slučajeva upotrebe kako bismo osigurali da su ograničenja prikladna za svaki tip korisnika, a posebno ćemo nastojati da nikada ne spriječimo programere da rade svoj posao.

Ostanite sa nama u narednim sedmicama za još jedan članak o podešavanju CI i borbenih sistema u svjetlu ovih promjena.

Konačno, kao dio naše podrške zajednici otvorenog koda, ponudit ćemo nove planove cijena za open source do 1. novembra. Da biste se prijavili, popunite formular ovdje.

Za više informacija o najnovijim promjenama uslova korištenja, posjetite FAQ.

Za one koji trebaju podići ograničenja učestalosti preuzimanja slika, Docker nudi neograničeno preuzimanje slika kao funkciju. Pro ili Timski planovi. Kao i uvijek, pozdravljamo povratne informacije i pitanja. ovdje.

izvor: www.habr.com

Dodajte komentar