Programmering

Hva er Dockers Moby Project?

Å være en AustinJeg likte å ha DockerCon lokalt, og jeg var medforfatter på en guide for å besøke Austin i håp om at deltakerne også vil ha DockerCon i Austin.

I løpet av DockerCon 2017 ble det gjort noen store kunngjøringer, inkludert Moby-prosjektet.

Hva er Moby-prosjektet? Det er et rammeverk for å montere spesialiserte containersystemer uten å finne opp hjulet på nytt.

Moby-prosjektet er å Docker hva Fedora er for Red Hat Enterprise Linux. - Solomon Hykes, Docker CTO / grunnlegger

Når Docker blir bygget, endrer det seg når containerprosjektet tilsvarer Fedora-prosjektet.

Red Hat gjorde en god jobb de første dagene av RHEL-forvirringen ved at de avgrenset prosjektet fra produkt; de splittet Fedora fra RHEL. Docker ser på denne tilnærmingen som en måte å bedre engasjere samfunnet på. Grensene mellom fellesskap og produkter var uklare før. Folk kunne ikke nødvendigvis fortelle når de bidrar til prosjektet i forhold til produktet. Denne skillet mellom koden mellom moby / moby repository og docker / docker repository tydeliggjør dette skillet.

Moby vil konvertere Docker fra en monolitisk motor til et verktøysett for å montere komponentene i forskjellige konfigurasjoner. Moby-prosjektet bør oppmuntre til gjenbruk av hver av komponentene. Docker har en historie med suksess i denne forbindelse og kan måles i gjenbruk utover skaperen:

  • De spunnet ut OCI / runc, og det er nå den etablerte standarden for container runtime og bildeformater.
  • De spunnet ut containerd, og det er nå de facto industristandard for container-driftstider med bidrag fra alle større skyleverandører og 99 prosent av installasjonsbasen (millioner av noder over hele verden).
  • Notarius har blitt bransjens mest modne implementering av TUF og et knutepunkt for samarbeid for sikkerhetsmiljøet.
  • Docker-distribusjon er åpen kildekode for et dusin kommersielle produkter.

Docker-teamet er håpefull om at når Docker-monolitten brytes i mindre deler, at disse individuelle komponentene kan bli byggesteiner for tilpassede løsninger. Tidligere bosatt i docker / docker, har det monolitiske prosjektet blitt flyttet til moby / moby.

Noe forvirring oppstod om prosjektet. Docker-teamet kommuniserte prosjektet godt til bidragsytere på konferansen og til de fleste vedlikeholdere. Imidlertid var folk som mer tilfeldig grensesnitt i samfunnet, overrasket og uklare om dens formål og innvirkning, og uttrykte frustrasjon over å ikke forstå hvordan de forskjellige brikkene passer sammen eller hva de nye funksjonene (f.eks. LinuxKit) gjør.

@Moby-prosjektet i et nøtteskall: inne og ute. pic.twitter.com/K8Rn9YYtVs

- Solomon Hykes (@solomonstre) 22. april 2017

Moby-prosjektet gjør det mulig for systembyggere å lage andre prosjekter på toppen av samme verktøy. En systembygger vil kanskje kjøre disse enhetene annerledes, avhengig av om de kjører på en liten IoT-enhet eller om de kjører på et stort system med GPUer.

Det er fortsatt mye arbeid med å bryte ut komponenter; Imidlertid er målet å skape en stor oppstrøms for Docker - det vil si Moby. Docker Inc. ønsker at verktøyet skal være mer åpent enn Docker. Beslutninger om produktdesign er noen ganger i strid med et konsensus-drevet open source-prosjekt. Å ha separasjon av bekymringer gjør det mulig for Docker Inc. å samle meninger om brukeropplevelse i deres fellesskap og Docker-tilbud. Moby er prosjektet. Docker er produktet.

Moby-prosjektet kan beskrives i fire lag:

  1. Hele veien oppstrøms komponenter
  2. Moby
  3. Docker CE
  4. Docker EE
David Chung / Docker Inc.

Organiseringen av prosjektet i lag bør forutse naturlig innhold som oppstår når det må tas avgjørelser mellom hva som fungerer for prosjektet kontra produkt. Docker som produkt vil legge til meninger informert av brukerne (for å være enklere for brukerne). For eksempel har containerd ikke et standardregister, mens Docker vil ha Docker-hub som standard eller Docker CLI, noe som gir et enkelt oppslag etter åpne problemer du har for prosjektet ditt i Docker-supportforumet / -systemet. Brukere upåvirket. Brukere vil fortsatt samhandle med Docker på samme måte.

  • Applikasjonsutviklere Hvis du leter etter en enkel måte å kjøre applikasjonene sine i containere, kan det se ut til Docker CE.
  • Enterprise IT på utkikk etter en ferdig, kommersielt støttet containerplattform kan se til Docker EE.

Ingenting endres for disse brukerne. Kommandolinjen forblir den samme. Docker kan nå utnytte økosystemet til å innovere raskere for dem.

  • Systembyggere ønsker å utnytte komponenter i Moby-prosjektet kan innovere uten å være bundet til Docker.

Prosjektstyring

Moby-prosjektet er åpent og vil være et fellesskapsdrevet prosjekt. Docker Inc. har en generell tilbøyelighet til å donere individuelle komponenter i dette prosjektet til andre styrende organer der det er aktuelt. Containerd må stå alene fra Moby-organisasjonen fordi den ble donert til CNCF. Langsiktige enkeltprosjekter skal til slutt flytte ut og gå inn i andre arkiver.

Vanlige spørsmål om Moby Project

  • Nå som Moby bryter monotiten, vil andre språk enn Go bli innlemmet?
    • For LinuxKit — Det er en forpliktelse til Ocaml og Rust. Det er ingen hovedplan for å endre språk.
  • Vil REST erstattes med gRPC?
    • Docker Inc ønsker generelt å la REST API være som en konstant fasade, mens intern kommunikasjon mellom Moby-prosjekter flyttes til gRPC. En komponent kan endre språk og ikke påvirke andre komponenter (akkurat som mikrotjenester gir valg). Engine har en HTTP REST API, og alle komponenter på lavere nivå har tatt i bruk gRPC. Solomon foreslår å ta i bruk gRPC som standardgrensesnitt. Fordelene inkluderer mer automatisert verktøy.
  • Hvor finner du Docker CE (open source-prosjektet)?
    • TBD — Docker / CLI vil ha klientbiblioteker og SDKer for nå. Emballasje og bygging er utgavespesifikk, gitt at det er mange Docker for XXX.
$config[zx-auto] not found$config[zx-overlay] not found