Programavimas

Kas yra Dockerio Moby projektas?

Būdamas OstinasMan patiko turėti „DockerCon“ vietinį, ir aš kartu su vadovu lankiausi Austine, tikėdamasis, kad dalyviams patiks ir „DockerCon“ Austine.

„DockerCon 2017“ metu buvo paskelbta keletas pagrindinių pranešimų, įskaitant „Moby“ projektą.

Kas yra „Moby“ projektas? Tai sistema, skirta surinkti specializuotas konteinerių sistemas, neišradus rato.

„Moby“ projektas yra „Docker“ tai, ką „Fedora“ reiškia „Red Hat Enterprise Linux“. - Solomonas Hykesas, „Docker“ CTO direktorius / įkūrėjas

Tapdamas „Fedora“ projektui prilygstančiu konteinerių projektu keičiasi „Docker“ kūrimo būdas.

Pirmosiomis RHEL painiavos dienomis „Red Hat“ atliko gerą darbą, nes jie išskyrė projektą iš produkto; jie atskyrė Fedora nuo RHEL. Dockeris mano, kad šis požiūris yra būdas geriau įtraukti bendruomenę. Ribos tarp bendruomenės ir produktų anksčiau buvo neryškios. Žmonės nebūtinai negalėjo pasakyti, kada jie prisideda prie projekto, palyginti su produktu. Šis kodo atskyrimas tarp „moby / moby“ saugyklos ir „docker / docker“ saugyklos paaiškina šį skirtumą.

Moby pavers „Docker“ iš monolitinio variklio į įrankių rinkinį, kad jo komponentai būtų surinkti į skirtingas konfigūracijas. „Moby“ projektas turėtų skatinti pakartotinį kiekvieno komponento naudojimą. Šiuo atžvilgiu „Docker“ turi sėkmės istoriją ir gali būti vertinamas kaip pakartotinis jų naudojimas už kūrėjo ribų:

  • Jie suko OCI / runc, ir dabar tai yra nustatytas konteinerio vykdymo ir vaizdo formatų standartas.
  • Jie išsuko konteinerius, o dabar tai yra de facto pramonės standartas konteinerių vykdymui, prisidedant visiems pagrindiniams debesų tiekėjams ir 99 procentams diegimo bazės (milijonai mazgų visame pasaulyje).
  • Notaras tapo brandžiausiu pramonės šakos TUF įgyvendinimu ir saugumo bendruomenės bendradarbiavimo centru.
  • „Docker“ platinimas yra keliolikos komercinių produktų atviro kodo pagrindas.

„Docker“ komanda tikisi, kad suskaidžius „Docker“ monolitą į mažesnes dalis, šie atskiri komponentai gali tapti individualių sprendimų statybinėmis medžiagomis. Anksčiau gyvenęs dokininku / dokininku, monolitinis projektas buvo perkeltas į mobį / mobį.

Dėl projekto kilo tam tikra painiava. „Docker“ komanda gerai pranešė apie projektą konferencijos dalyviams ir daugumai prižiūrėtojų. Tačiau žmonės, labiau atsainiai bendraujantys su bendruomene, buvo nustebinti ir neaiškūs dėl jos tikslo ir poveikio, išreiškė nusivylimą nesuprasdami, kaip įvairūs kūriniai dera tarpusavyje ar ką daro naujos funkcijos (pvz., „LinuxKit“).

„@Moby“ projektas trumpai: viduje ir išorėje. pic.twitter.com/K8Rn9YYtVs

- Saliamonas Hykesas (@solomonstre) 2017 m. Balandžio 22 d

„Moby“ projektas suteikia galimybę sistemos kūrėjams kurti kitus projektus ant tų pačių įrankių. Sistemos kūrėjas gali norėti paleisti šiuos rinkinius skirtingai, priklausomai nuo to, ar jie veikia mažame IoT įrenginyje, ar didelėje sistemoje su GPU.

Dar reikia daug dirbti, kad išsiskirtų komponentai; tačiau tikslas yra sukurti vieną didelį prieš Dockerį esantį srautą - tai Moby. „Docker Inc.“ nori, kad įrankiai būtų atviresni nei „Docker“. Produkto dizaino sprendimai kartais prieštarauja bendro sutarimo grindžiamam atvirojo kodo projektui. Atskirus rūpesčius, „Docker Inc.“ gali rinkti nuomones apie vartotojų patirtį savo bendruomenės ir įmonės „Docker“ pasiūlymuose. Moby yra projektas. „Docker“ yra produktas.

„Moby“ projektą galima apibūdinti keturiais sluoksniais:

  1. Visi komponentai prieš srovę
  2. Moby
  3. „Docker CE“
  4. „Docker EE“
Davidas Chungas / „Docker Inc.“

Projekto suskirstymas į sluoksnius turėtų nuraminti natūralų turinį, atsirandantį, kai reikia priimti sprendimus tarp to, kas tinka projektui, ar produkto. „Docker“ kaip produktas pridės nuomones, kurias informuos jų vartotojai (kad vartotojams būtų lengviau). Pvz., „Containerd“ neturi numatytojo registro, o „Docker“ numatytasis „Docker“ šakotuvas arba „Docker“ vartotojo sąsaja suteikia galimybę lengvai ieškoti atvirų jūsų projekto problemų „Docker“ palaikymo forume / sistemoje. Vartotojai neturi įtakos. Vartotojai vis tiek bendraus su „Docker“.

  • Programų kūrėjai ieškodami paprasto savo programų paleidimo konteineriuose, galite kreiptis į „Docker CE“.
  • Įmonių IT ieškodamas paruoštų naudoti, komerciškai palaikomų konteinerių platformų, gali kreiptis į „Docker EE“.

Šiems vartotojams niekas nesikeičia. Komandinė eilutė lieka ta pati. „Docker“ dabar gali pasinaudoti ekosistema, kad joms greičiau atsinaujintų.

  • Sistemos kūrėjai norėdamas pasinaudoti „Moby“ projekto komponentais, gali atsinaujinti nepririštas prie „Docker“.

Projekto valdymas

„Moby“ projektas yra atviras ir tai bus bendruomenės vykdomas projektas. „Docker Inc.“ yra linkusi paaukoti atskirus šio projekto komponentus kitiems valdymo organams, jei reikia. Containerd turi stovėti vienas nuo „Moby“ org, nes jis buvo paaukotas CNCF. Ilgalaikiai individualūs projektai ilgainiui turėtų išsikraustyti ir patekti į kitas saugyklas.

„Moby Project“ DUK

  • Ar dabar, kai Moby griauna monotlitą, bus įtrauktos kitos nei „Go“ kalbos?
    • „LinuxKit“ - yra įsipareigojimas „Ocaml“ ir „Rust“. Nėra pagrindinio plano keisti kalbas.
  • Ar REST bus pakeistas gRPC?
    • „Docker Inc“ paprastai nori palikti REST API kaip pastovų fasadą, tuo tarpu vidinę komunikaciją tarp „Moby“ projektų perkelia į gRPC. Komponentas gali pakeisti kalbą ir neturėti įtakos kitiems komponentams (kaip ir mikroservės suteikia galimybę rinktis). Variklis turi HTTP REST API, o visi žemesnio lygio komponentai priėmė gRPC. Saliamonas siūlo naudoti gRPC kaip standartinę sąsają. Privalumai apima daugiau automatizuotų įrankių.
  • Kur rasite „Docker CE“ (atvirojo kodo projektas)?
    • TBD - „Docker / CLI“ kol kas turės kliento bibliotekas ir SDK. Pakavimas ir gamyba priklauso nuo leidimo, atsižvelgiant į tai, kad „XXX“ skirta daug „Docker“.