Programmering

Hvad er Dockers Moby-projekt?

At være en AustinJeg nød at have DockerCon lokalt, og jeg var medforfatter til en guide til at besøge Austin i håb om, at deltagerne også ville have DockerCon i Austin.

Under DockerCon 2017 blev der foretaget et par store meddelelser, herunder Moby-projektet.

Hvad er Moby-projektet? Det er en ramme til at samle specialiserede containersystemer uden at genopfinde hjulet.

Moby-projektet er at Docker, hvad Fedora er for Red Hat Enterprise Linux. - Solomon Hykes, Docker CTO / grundlægger

Ved at blive containerprojektet, der svarer til Fedora-projektet, ændres hvordan Docker er bygget.

Red Hat gjorde et godt stykke arbejde i de tidlige dage af RHEL-forvirring, idet de afgrænsede projektet fra produkt; de splittede Fedora fra RHEL. Docker ser denne tilgang som en måde til bedre at engagere samfundet. Grænserne mellem samfund og produkter var fuzzy før. Folk kunne ikke nødvendigvis fortælle, hvornår de bidrager til projektet i forhold til produktet. Denne adskillelse af kode mellem moby / moby repository og docker / docker repository tydeliggør denne forskel.

Moby vil konvertere Docker fra en monolitisk motor til et værktøjssæt for at samle dets komponenter i forskellige konfigurationer. Moby-projektet bør tilskynde til genbrug af hver af komponenterne. Docker har en succeshistorie i denne henseende og kan måles i deres genbrug ud over deres skaber:

  • De spredte OCI / runc ud, og det er nu den etablerede standard for container runtime og billedformater.
  • De spredte containerd, og det er nu de facto industristandard for container-driftstider med bidrag fra alle større cloud-leverandører og 99 procent af installationsbasen (millioner af noder verden over).
  • Notar er blevet branchens mest modne implementering af TUF og et hub for samarbejde for sikkerhedssamfundet.
  • Docker-distribution er open source-fundamentet for et dusin kommercielle produkter.

Docker-teamet håber, at da Docker-monolitten brydes i mindre stykker, kan disse individuelle komponenter blive byggesten til tilpassede løsninger. Tidligere bosat i docker / docker, er det monolitiske projekt blevet flyttet til moby / moby.

Der opstod en vis forvirring omkring projektet. Docker-teamet kommunikerede projektet godt til bidragsydere på konferencen og til de fleste vedligeholdere. Imidlertid blev folk, der mere afslappet interagerer i samfundet, overraskede og uklare om dets formål og virkning og udtrykte frustration over ikke at forstå, hvordan de forskellige stykker passer sammen, eller hvad de nye funktioner (f.eks.LinkKit) gør.

@Moby-projektet i en nøddeskal: inde og ude. pic.twitter.com/K8Rn9YYtVs

- Solomon Hykes (@solomonstre) 22. april 2017

Moby Project giver systembyggere mulighed for at oprette andre projekter oven på det samme værktøj. En systembygger vil muligvis køre disse samlinger forskelligt, afhængigt af om de kører på en lille IoT-enhed, eller hvis de kører på et stort system med GPU'er.

Der er stadig meget arbejde med at bryde komponenter ud; Målet er dog at skabe en stor opstrøms for Docker - det vil sige Moby. Docker Inc. ønsker, at værktøjet skal være mere åbent end Docker. Beslutninger om produktdesign er undertiden i strid med et konsensus-drevet open source-projekt. At have adskillelse af bekymringer giver Docker Inc. mulighed for at samle meninger om brugeroplevelse i deres Docker-tilbud i samfundet og virksomheden. Moby er projektet. Docker er produktet.

Moby-projektet kan beskrives i fire lag:

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

Organiseringen af ​​projektet i lag skal antage det naturlige indhold, der opstår, når der skal træffes beslutninger mellem, hvad der fungerer for projektet vs. produkt. Docker som produkt tilføjer meninger informeret af deres brugere (for at være lettere for deres brugere). For eksempel har containerd ikke et standardregister, mens Docker har Docker-hub som standard eller Docker CLI, hvilket giver en let opslag på åbne problemer, du har til dit projekt i Docker-supportforumet / -systemet. Brugere upåvirket. Brugere vil stadig interagere med Docker på samme måde.

  • Applikationsudviklere på udkig efter en nem måde at køre deres applikationer i containere kan se til Docker CE.
  • Enterprise IT på udkig efter en klar til brug, kommercielt understøttet containerplatform kan se til Docker EE.

Intet ændrer sig for disse brugere. Kommandolinjen forbliver den samme. Docker kan nu udnytte økosystemet til at innovere hurtigere for dem.

  • Systembyggere ønsker at udnytte komponenter i Moby-projektet kan innovere uden at være bundet til Docker.

Projektstyring

Moby-projektet er åbent og vil være et fællesskabsdrevet projekt. Docker Inc. har en generel tilbøjelighed til at donere individuelle komponenter i dette projekt til andre ledende organer, hvor det er relevant. Containerd skal stå alene fra Moby-organisationen, fordi den blev doneret til CNCF. Langsigtede individuelle projekter skal til sidst flytte ud og gå ind i andre arkiver.

Moby-projektets ofte stillede spørgsmål

  • Nu hvor Moby bryder monotiden, vil andre sprog end Go blive indarbejdet?
    • For LinuxKit — Der er en forpligtelse over for Ocaml og Rust. Der er ingen hovedplan for at skifte sprog.
  • Vil REST blive erstattet med gRPC?
    • Docker Inc ønsker generelt at forlade REST API som en konstant facade, mens den flytter intern kommunikation mellem Moby-projekter til gRPC. En komponent kan ændre sprog og ikke påvirke andre komponenter (ligesom mikrotjenester giver valg). Engine har en HTTP REST API, og alle komponenter på lavere niveau har vedtaget gRPC. Solomon foreslår at vedtage gRPC som standardgrænseflade. Fordelene inkluderer mere automatiseret værktøj.
  • Hvor finder du Docker CE (open source-projektet)?
    • TBD — Docker / CLI har klientbibliotekerne og SDK'erne indtil videre. Emballage og bygning er udgave-specifik, da der er mange Docker til XXX.