Kako se Docker Business mjeri kako bi opsluživao milijune programera, 2. dio: Izlazni podaci

Kako se Docker Business mjeri kako bi opsluživao milijune programera, 2. dio: Izlazni podaci

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

В prvi dio pobliže smo pogledali slike pohranjene u Docker Hubu, najvećem registru slika spremnika. Ovo pišemo kako bismo vam pomogli da bolje razumijete kako će naši ažurirani Uvjeti pružanja usluge utjecati na razvojne timove koji koriste Docker Hub za upravljanje slikama spremnika i CICD cjevovodima.

Ograničenja učestalosti preuzimanja prethodno su najavljena u našem Uvjeti pružanja usluge. Pobliže ćemo pogledati ograničenja učestalosti koja će stupiti na snagu 1. studenog 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 Dockera definirana je kao broj zahtjeva manifesta prema Docker Hubu. Ograničenja učestalosti preuzimanja slike ovise o vrsti računa koji traži sliku, a ne o vrsti računa vlasnika slike. Za anonimne (neovlaštene) korisnike, učestalost preuzimanja vezana je uz ip-adresu.

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

Dobivamo pitanja od kupaca i zajednice u vezi sa slojevima slike spremnika. Ne uzimamo u obzir slojeve slika kada ograničavamo učestalost preuzimanja jer ograničavamo preuzimanja manifesta, a broj slojeva (blob zahtjeva) trenutačno je neograničen. Ova se promjena temelji na povratnim informacijama zajednice kako bi bila lakša za korisnike tako da korisnici ne moraju brojati slojeve na svakom izgledu koji koriste.

Detaljna analiza učestalosti preuzimanja slika Docker Huba

Proveli smo puno vremena analizirajući preuzimanje slika s Docker Huba kako bismo utvrdili razlog ograničenja brzine, kao i kako ga točno ograničiti. Ono što smo vidjeli potvrdilo je da gotovo svi korisnici preuzimaju slike predvidljivom brzinom za tipične tijekove rada. No, primjetan je utjecaj malog broja anonimnih korisnika, npr. oko 30% svih preuzimanja dolazi od samo 1% anonimnih korisnika.

Kako se Docker Business mjeri kako bi opsluživao milijune programera, 2. dio: Izlazni podaci

Nova ograničenja temelje se na ovoj analizi, tako da većina naših korisnika neće biti pogođena. Ova su ograničenja napravljena kako bi odražavala normalnu upotrebu od strane programera - učenje Dockera, razvoj koda, izrada slika i tako dalje.

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

Sada kada smo razumjeli utjecaj, a također i gdje bi trebale biti granice, morali smo odrediti tehničke uvjete za djelovanje ovih ograničenja. Ograničiti preuzimanje slika iz Docker registra prilično je teško. Nećete pronaći API za preuzimanja u opisu registra - on jednostavno ne postoji. Zapravo, preuzimanje slike kombinacija je zahtjeva manifesta i blobova u API-ju, a izvršavaju se različito, ovisno o stanju klijenta i traženu sliku.

Na primjer, ako već imate sliku, Docker Engine će izdati zahtjev za manifest, razumjeti da već ima sve potrebne slojeve na temelju prihvaćenog manifesta, a zatim prestati. S druge strane, ako preuzimate sliku koja podržava višestruke arhitekture, zahtjev za manifest će vratiti popis 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 popis svih slojeva na slici. Zatim će tražiti svaki sloj koji nedostaje (blob).

NB Ova je tema opširnije obrađena u Docker tečaj, u kojem ćemo analizirati sve njegove alate: od osnovnih apstrakcija do mrežnih parametara, nijansi rada s različitim operacijskim sustavima i programskim jezicima. Upoznat ćete se s tehnologijom i shvatiti gdje i kako najbolje koristiti Docker.

Ispada da je preuzimanje slike zapravo jedan ili dva manifest zahtjeva, kao i od nule do beskonačnosti - zahtjevi za slojeve (blob). Povijesno gledano, Docker je pratio učestalost preuzimanja na bazi sloj po sloj, budući da je to najviše povezano s korištenjem propusnosti. No, unatoč tome, poslušali smo zajednicu, što je teže, jer morate pratiti traženi broj slojeva, što će dovesti do ignoriranja najboljih praksi u vezi s radom s Dockerfileom, a također je intuitivnije za korisnike koji žele samo rad s registrom bez puno razumijevanja detalja .

Stoga ograničavamo broj zahtjeva na temelju manifest zahtjeva. To je izravno povezano s preuzimanjem slika, što je korisnicima lako razumljivo. Zaista postoji mala nijansa - ako pokušate preuzeti sliku koja već postoji, zahtjev će se i dalje uzeti 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 pošten i jednostavan za korištenje.

Radujemo se vašim povratnim informacijama

Pratit ćemo ograničenja i izvršiti odgovarajuće prilagodbe na temelju uobičajenih slučajeva upotrebe kako bismo osigurali da su ograničenja prikladna za svaku vrstu korisnika, a posebno ćemo nastojati da nikada ne spriječimo programere da rade svoj posao.

Ostanite s nama u nadolazećim tjednima za još jedan članak o podešavanju CI i borbenih sustava u svjetlu ovih promjena.

Konačno, kao dio naše podrške zajednici otvorenog izvornog koda, do 1. studenog nudit ćemo nove planove cijena za otvoreni izvorni kod. Za prijavu molimo ispunite obrazac ovdje.

Za više informacija o najnovijim promjenama uvjeta pružanja usluge posjetite FAQ.

Za one koji trebaju podići ograničenja učestalosti preuzimanja slika, Docker nudi neograničeno preuzimanje slika kao značajku. Pro ili Team planovi. Kao i uvijek, pozdravljamo povratne informacije i pitanja. здесь.

Izvor: www.habr.com

Dodajte komentar