Programovanie

Čo je Dockerov projekt Moby?

Byť Austinite, rád som mal miestny DockerCon a bol som spoluautorom sprievodcu po návšteve Austinu v nádeji, že účastníci by si mohli vychutnať DockerCon aj v Austine.

Počas DockerCon 2017 zaznelo niekoľko významných oznámení vrátane projektu Moby.

Čo je projekt Moby? Jedná sa o rámec na zostavenie špecializovaných kontajnerových systémov bez nutnosti znovuobjavovania kolesa.

Projekt Moby je pre Docker to, čo Fedora pre Red Hat Enterprise Linux. - Solomon Hykes, technický riaditeľ Docker / zakladateľ

Tým, ako sa stáva kontajnerový projekt ekvivalentný projektu Fedora, sa mení aj to, ako je zostavený Docker.

Red Hat odviedol dobrú prácu v začiatkoch zmätku RHEL v tom, že vymedzili projekt od produktu; rozdelili Fedoru od RHEL. Docker vidí tento prístup ako spôsob, ako lepšie zapojiť komunitu. Hranice medzi komunitou a produktmi boli predtým nejasné. Ľudia nemuseli nevyhnutne vedieť, kedy prispievajú do projektu v porovnaní s produktom. Toto oddelenie kódu medzi úložiskom moby / moby a úložiskom docker / docker objasňuje tento rozdiel.

Moby prevedie Dockera z monolitického enginu na sadu nástrojov na zostavenie jeho komponentov do rôznych konfigurácií. Projekt Moby by mal podporovať opätovné použitie každej zo zložiek. Docker má v tomto ohľade históriu úspechu a dá sa merať v ich opätovnom použití nad rámec ich tvorcu:

  • Roztočili OCI / runc a teraz je to zavedený štandard pre formáty runtime kontajnera a obrázkov.
  • Roztočili containerd a teraz je to de facto priemyselný štandard pre prevádzkové doby kontajnerov s prispením všetkých hlavných dodávateľov cloudu a 99 percent inštalačnej základne (milióny uzlov po celom svete).
  • Notár sa stal najvyzretejšou implementáciou TUF v odbore a centrom spolupráce pre bezpečnostnú komunitu.
  • Distribúcia Docker je otvoreným zdrojom pre tucet komerčných produktov.

Tím Dockeru dúfa, že keď sa monolit Dockeru rozpadne na menšie kúsky, tieto jednotlivé komponenty sa môžu stať stavebnými kameňmi vlastných riešení. Monolitický projekt, ktorý predtým sídlil v docker / docker, bol premiestnený do skupiny moby / moby.

O projekte došlo k určitému zmätku. Tím Docker dobre komunikoval projekt s prispievateľmi na konferencii a s väčšinou správcov. Ľudia, ktorí sa v komunite zdržiavajú ľahšie, však boli prekvapení a nejasní ohľadom jej účelu a dopadu, čím vyjadrili frustráciu z toho, že nechápali, ako jednotlivé časti do seba zapadajú alebo čo robia nové funkcie (napr. LinuxKit).

Projekt @moby v skratke: zvnútra i zvonku. pic.twitter.com/K8Rn9YYtVs

- Solomon Hykes (@solomonstre) 22. apríla 2017

Projekt Moby umožňuje výrobcom systémov vytvárať ďalšie projekty nad rámec toho istého nástroja. Tvorca systému môže chcieť tieto zostavy spustiť inak, v závislosti od toho, či fungujú na malom zariadení IoT, alebo či fungujú na veľkom systéme s grafickými procesormi.

Stále existuje veľa práce na vylomení komponentov; cieľom je však vytvoriť jeden veľký upstream pre Dockera - to je Moby. Spoločnosť Docker Inc. chce, aby boli nástroje otvorenejšie ako Docker. Rozhodnutia o dizajne produktu sú niekedy v rozpore s konsenzuálnym projektom otvoreného zdroja. Rozdelenie záujmov umožňuje spoločnosti Docker Inc. zhromažďovať názory na skúsenosti používateľov v ich komunitných a podnikových ponukách spoločnosti Docker. Moby je projekt. Produktom je Docker.

Projekt Moby možno opísať v štyroch vrstvách:

  1. Celú cestu proti prúdu komponentov
  2. Moby
  3. Docker CE
  4. Docker EE
David Chung / Docker Inc.

Organizácia projektu do vrstiev by mala zabezpečovať prirodzený obsah, ktorý vzniká pri rozhodovaní medzi tým, čo funguje pre projekt, a produktom. Docker ako produkt bude pridávať názory informované ich používateľmi (aby to bolo pre ich používateľov jednoduchšie). Napríklad containerd nemá predvolený register, zatiaľ čo Docker bude mať Docker hub ako predvolený alebo Docker CLI, ktorý poskytuje jednoduché vyhľadávanie otvorených problémov, ktoré máte pre svoj projekt, na fóre / systéme podpory Docker. Používatelia nie sú ovplyvnení. Používatelia budú s Dockerom komunikovať stále rovnakým spôsobom.

  • Vývojári aplikácií hľadajú jednoduchý spôsob spustenia svojich aplikácií v kontajneroch, môžu vyhľadať dokument Docker CE.
  • Podnikové IT hľadajú komerčne podporovanú platformu kontajnerov pripravenú na použitie, môžu vyhľadať server Docker EE.

Pre týchto používateľov sa nič nemení. Príkazový riadok zostáva rovnaký. Docker teraz môže využiť ekosystém na rýchlejšie inovácie.

  • Tvorcovia systémov hľadanie možností využitia komponentov projektu Moby sa môže inovovať bez toho, aby ste boli viazaní na Dockera.

Riadenie projektu

Projekt Moby je otvorený a bude komunitným projektom. Spoločnosť Docker Inc. má všeobecnú vôľu darovať jednotlivé zložky tohto projektu iným riadiacim orgánom, kde je to vhodné. Containerd musí stáť osamotene od Moby org, pretože bol venovaný CNCF. Dlhodobé individuálne projekty by sa mali nakoniec presunúť a ísť do iných úložísk.

Časté otázky k projektu Moby

  • Teraz, keď Moby rozbíja monotith, budú začlenené aj iné jazyky ako Go?
    • Pre LinuxKit - existuje záväzok voči Ocaml a Rust. Neexistuje hlavný plán zmeny jazyka.
  • Bude REST nahradený gRPC?
    • Spoločnosť Docker Inc si všeobecne želá ponechať REST API ako stálu fasádu, zatiaľ čo internú komunikáciu medzi projektmi Moby presúva na gRPC. Komponent môže meniť jazyky a nemá na iné komponenty vplyv (rovnako ako mikroslužby poskytujú výber). Engine má HTTP REST API a všetky komponenty nižšej úrovne prijali gRPC. Solomon navrhuje prijať gRPC ako štandardné rozhranie. Medzi výhody patrí automatizovanejšie nástroje.
  • Kde nájdete Docker CE (projekt open source)?
    • TBD - Docker / CLI bude nateraz obsahovať klientske knižnice a SDK. Balenie a výroba sú špecifické pre jednotlivé edície, pretože existuje veľa Dockerov pre XXX.
$config[zx-auto] not found$config[zx-overlay] not found