Što je Dockerov projekt Moby?

Budući da sam Austin ite, uživao sam u lokalnom DockerConu i napisao sam koautor vodiča za posjet Austinu u nadi da će polaznici uživati ​​i u DockerConu u Austinu.

Tijekom DockerCona 2017. objavljeno je nekoliko glavnih najava, uključujući Moby Project. 

Što je Moby Project? To je okvir za sastavljanje specijaliziranih sustava kontejnera bez ponovnog otkrivanja kotača.

Projekt Moby želi provjeriti što je Fedora za Red Hat Enterprise Linux. - Solomon Hykes, tehnički direktor / osnivač Dockera

Kako je projekt kontejnera ekvivalentan projektu Fedora, mijenja se način izgradnje Dockera.

Red Hat je dobro obavio posao u prvim danima zbunjenosti RHEL-om jer su projekt razgraničili od proizvoda; podijelili su Fedoru iz RHEL-a. Docker ovaj pristup vidi kao način za bolje angažiranje zajednice. Granice između zajednice i proizvoda prije su bile nejasne. Ljudi ne mogu nužno znati kada doprinose projektu u odnosu na proizvod. Ovo razdvajanje koda između moby / moby spremišta i spremišta docker / docker pojašnjava ovu razliku.

Moby će Docker pretvoriti iz monolitnog motora u komplet alata za sastavljanje njegovih komponenata u različite konfiguracije. Moby projekt trebao bi poticati ponovnu upotrebu svake od komponenata. Docker ima povijest uspjeha u tom pogledu i može se mjeriti u njihovoj ponovnoj upotrebi izvan njihovog tvorca:

  • Izdvojili su OCI / runc, a to je sada uspostavljeni standard za vrijeme izvođenja spremnika i formate slika.
  • Izdvojili su containerd, a to je sada faktički industrijski standard za rad kontejnera s doprinosima svih glavnih dobavljača oblaka i 99 posto instalacijske baze (milijuni čvorova širom svijeta).
  • Notar je postao najzrelija primjena TUF-a u industriji i središte suradnje za sigurnosnu zajednicu.
  • Docker distribucija je osnova otvorenog koda za desetak komercijalnih proizvoda.

Dockerov tim nada se da će, dok se Docker-ov monolit razbije na manje dijelove, ove pojedinačne komponente postati građevni blokovi za prilagođena rješenja. Monolitni projekt koji je prethodno boravio u dokeru / dokeru preseljen je u moby / moby.

Pojavila se određena zabuna oko projekta. Tim Dockera dobro je prenio projekt suradnicima na konferenciji i većini održavatelja. Međutim, ljudi koji su ležernije surađivali u zajednici bili su iznenađeni i nejasni oko njezine svrhe i utjecaja, izražavajući frustraciju nerazumijevanjem kako se različiti dijelovi međusobno uklapaju ili što nove značajke (npr. LinuxKit) čine.

Projekt @moby ukratko: iznutra i izvana. pic.twitter.com/K8Rn9YYtVs

- Solomon Hykes (@solomonstre) 22. travnja 2017

Moby Project omogućuje graditeljima sustava da kreiraju druge projekte povrh istog alata. Graditelj sustava možda će htjeti pokrenuti ove sklopove drugačije, ovisno o tome rade li na malom IoT uređaju ili rade na velikom sustavu s GPU-ima.

Još uvijek ima mnogo posla na razbijanju komponenata; međutim, cilj je stvoriti jedan velik uzvodno za Dockera - to je Moby. Docker Inc. želi da alat bude otvoreniji od Dockera. Odluke o dizajnu proizvoda ponekad su u suprotnosti s projektom otvorenog koda vođenim konsenzusom. Razdvajanje zabrinutosti omogućuje tvrtki Docker Inc. da prikupi mišljenja o korisničkom iskustvu u svojim ponudama zajednice i poduzeća Docker. Moby je projekt. Docker je proizvod.

Projekt Moby može se opisati u četiri sloja:

  1. Sve do uzvodnih komponenata
  2. Moby
  3. Docker CE
  4. Docker EE
David Chung / Docker Inc.

Organizacija projekta u slojeve trebala bi ublažiti prirodni sadržaj koji nastaje kad treba donijeti odluku između onoga što za projekt vrijedi u odnosu na proizvod. Docker će kao proizvod dodati mišljenja koja su informirali njihovi korisnici (kako bi bili lakši za svoje korisnike). Na primjer, containerd nema zadani registar, dok će Docker imati Docker hub kao zadani ili Docker CLI, pružajući lako pretraživanje otvorenih problema koje imate za svoj projekt na forumu / sustavu za podršku Dockera. Korisnici ne utječu. Korisnici će i dalje komunicirati s Dockerom na isti način.

  • Programeri aplikacija koji traže jednostavan način za pokretanje svojih aplikacija u spremnicima mogu potražiti Docker CE.
  • Enterprise IT u  potrazi za komercijalno podržanom spremničkom platformom spremnom za upotrebu može potražiti Docker EE.

Za ove se korisnike ništa ne mijenja. Naredbeni redak ostaje isti. Docker sada može iskoristiti ekosustav da brže inovira za njih.

  • Graditelji sustava koji  žele iskoristiti komponente Moby projekta mogu inovirati bez da su vezani uz Docker.

Upravljanje projektom

Projekt Moby otvoren je i bit će projekt kojim upravlja zajednica. Docker Inc. ima opću sklonost doniranju pojedinih komponenata u ovom projektu drugim upravnim tijelima, gdje je to prikladno. Containerd mora biti sam od organizacije Moby jer je donirana CNCF-u. Dugoročni pojedinačni projekti trebali bi se na kraju iseliti i otići u druga spremišta.

Česta pitanja o projektu Moby

  • Sad kad Moby razbija monolit, hoće li se uključiti i jezici koji nisu Go?
    • Za LinuxKit - postoji predanost Ocamlu i Rustu. Ne postoji glavni plan za promjenu jezika.
  • Hoće li REST biti zamijenjen gRPC?
    • Docker Inc općenito želi ostaviti REST API kao stalnu fasadu, dok internu komunikaciju između Moby projekata premješta na gRPC. Komponenta može mijenjati jezike, a ne utječe na druge komponente (baš kao što mikroservisi pružaju izbor). Motor ima HTTP REST API, a sve komponente niže razine usvojile su gRPC. Solomon predlaže usvajanje gRPC-a kao standardnog sučelja. Prednosti uključuju više automatiziranih alata.
  • Gdje ćete pronaći Docker CE (projekt otvorenog koda)?
    • TBD — Docker / CLI za sada će imati klijentske knjižnice i SDK-ove. Pakiranje i izrada specifični su za izdanje, s obzirom na to da postoji mnogo Dockera za XXX.