Cloud Native Computing Foundation (CNCF) er et Linux Foundation projekt, der blev grundlagt i 2015 for at hjælpe med at fremme anvendelsen af containerteknologi[1] − en metode til indkapsling af et program, så det kan køres isoleret fra andre processer[2] − og drive et samarbejde omkring dette i teknologiindustrien.
Oprettelsen af CNCF blev annonceret samtidig med at Kubernetes version 1.0, en open-source platform til styring af containere, blev doneret af Google til Linux Foundation. Nogle af de virksomheder der var med til at grundlægge CNCF var Google, CoreOS, Mesosphere, Red Hat, Twitter, Huawei, Intel, Cisco, IBM, Docker, Univa og VMware.[3][4] I dag understøttes CNCF af over 450 virksomheder og organisationer. På CloudNativeDay i Toronto i august 2016 blev der annonceret et ambassadør-program for at synliggøre kvalificerede repræsentanter for de teknologier der styres af CNCF.[5]
Dan Kohn ledede CNCF som administrerende direktør indtil maj 2020.[6][7] Her annoncerede CNCF at Priyanka Sharma, direktør for Cloud Native Alliances hos GitLab, ville træde ind i en general manager rolle i hans sted.[7] Sharma beskriver CNCF som "en meget virkningsfuld organisation bygget af en lille gruppe mennesker, men [inden for] et meget stort økosystem" og mener, at CNCF går ind i en "anden bølge" på grund af øget bevidsthed og anvendelse af CNCF teknologier i branchen.[8]
I august 2018 meddelte Google, at de overgav den operationelle kontrol med Kubernetes til CNCF.[9] Sidenhen har CNCF lanceret en række delprojekter der kompletterer Kubernetes.
I januar 2020 blev CNCF's årsrapport for det forgående år offentliggjort. Rapporten dokumenterede en væsentlig vækst på tværs af medlemstal, tilstedeværelse ved arrangementer, uddannelse og industriinvesteringer. I 2019 voksede CNCF medlemstal med 50% og antallet af slutbrugere blev forøget med næsten 90%.[10] Rapporten afslørede en stigning på 78% i antallet af virksomheder der bruger Kubernetes i produktionen.[11]
CNCF projekter
Teknologiprojekter der ejes af CNCF katalogiseres med et modenhedsniveau på hhv. Sandbox, Incubated eller Graduated - hvor Graduated er de mest modne projekter, Incubated de næstmest modne projekter og Sandbox de mindst modne projekter.[12] De kriterier som projekternes modenhed vurderes op imod omfatter bl.a. tilslutningen til projektet i industrien, projektets levetid og om projektet er stabilt nok til at være pålideligt i produktions scenarier.[13]
Projekter starter som Sandbox projekter, og målet er herefter at udvikle projektet så det kan kategoriseres som Incubated og herefter Graduated.[14] Et Graduated projekt udviser en overordnet modenhed - og kendetegnes ved en mangfoldighed i bidragene, så det ikke kun er en lille skare af mennesker der har udviklet projektet. Derudover at det også vigtigt at der er et forholdsvist stort fællesskab omkring projektet, samt at det er meget anvendt.[15]
CNCF Sandbox er et sted for projekter i startfasen, og blev annonceret i marts 2019. Sandkassen erstatter det, der oprindeligt blev kaldt "start-niveau-projekt" (eng.: inception project level).[16]
I juli 2020 udtalte Priyanka Sharma, at CNCF har til hensigt at forøge antallet af open source projekter i cloud-native økosystemet.[17]
Graduerede projekter
Containerd
Containerd er en industristandard kernecontainer-runtime. Containerd er i øjeblikket tilgængelig som en daemon til Linux og Windows, og kan styre hele container-livscyklussen på det operativsystem som det kører på. Docker donerede i 2015 OCI- specifikationen (Open Container Initiative, dansk: Åbent Container Initiativ) til The Linux Foundation sammen med en referenceimplementering kaldet runc. Specifikationen er relevant, fordi Contianerd implementerer denne specifikation.
Intentionen om at Docker også ville donere Containerd projektet til CNCF blev først annonceret i 2017,[18][19] og siden den 28. februar 2019 har containerd været et officielt CNCF-projekt.[20]
CoreDNS
CoreDNS er en DNS-server, der sammenkæder plugins. Dets graduering blev annonceret i 2019.[21]
Envoy
Envoy er en højt ydende open source edge og service proxy, der gør netværkslaget transparent for de applikationer der anvender det.
Envoy startede som et internt projekt hos Lyft, der skulle hjælpe Lyft med at flytte deres arkitektur væk fra en monolit til en distribueret micro-service arkitektur. I september 2017 blev Envoy doneret af Lyft til Cloud Native Computing Foundation, fordi Lyft ønskede at give noget tilbage til fællesskabet.[22]
Etcd
Etcd er en distribueret nøgle-værdi database (eng.: key-value store), der gør det muligt at gemme data på tværs af flere maskiner. etcd blev et CNCF-inkuberingsprojekt i 2018 på CNCF konferencen KubeCon+CloudNativeCon North America[23] der blev afholdt i Seattle.[24] I november 2020 blev projektet forfremmet til et Graduated proejekt.[25]
Fluentd
Fluentd er en open source dataindsamler, der giver brugeren mulighed for at "forene dataindsamlingen og anvendelsen så man bedre kan bruge og forstå data." [26] Fluentd blev et CNCF projekt i 2016 og blev Graduated i 2019.[27]
Helm
Helm er en package manager, der hjælper udviklere med "nemt at administrere og udgive applikationer på et Kubernetes cluster." [28] Helm blev i juni 2018 forfremmet til Incubating og i april 2020 til Graduated.[29]
Jaeger
Jaeger er et open source distribueret sprongssystem, skabt af Uber som blev inspireret af Googles Dapper-papir og af OpenZipkin-fællesskabet. Jaeger kan bruges til sporing i mikroservice-baserede arkitekturer, herunder distribueret kontekstudbredelse, distribueret transaktionsovervågning, rodårsagsanalyse, serviceafhængighedsanalyse og ydeevne/latens-optimering. Cloud Native Computing Foundation tog i mod Jaeger som det 12. projekt i september 2017 [30] og Jaeger blev herefter Graduated i 2019.[31] I 2020 blev det en godkendt og fuldt integreret del af CNCF-økosystemet.[32]
Kubernetes
Kubernetes er en open source platform til automatisering af administration og udgivelse af applikationer i et containeriseret og distribueret miljø. "Det har til formål at tilbyde bedre måder at administrere relaterede, distribuerede komponenter på tværs af varieret infrastruktur." [33] Kubernetes blev oprindeligt designet af Google og doneret til The Linux Foundation for at oprette Cloud Native Computing Foundation med Kubernetes som den grundlæggende teknologi.[34] Det "store og mangfoldige" fællesskab der støtter projektet, har gjort dets udholdenhed mere robust end andre, ældre teknologier af samme stil.[35] I januar 2020 viste CNCF-årsrapporten betydelig vækst i interesse, træning, deltagelse i begivenheder og investeringer relateret til Kubernetes.[36]
Prometheus
CNCF-projektet, Prometheus, er et monitoreringssystem til cloud-baseret applikationer og blev sponsoreret af SoundCloud i de tidlige iterationer. Værktøjet bruges i øjeblikket af Digital Ocean, Ericsson, CoreOS, Docker, Red Hat og Google.[37] I august 2018 blev værktøjet udpeget som et Graduated projekt.[15]
Rook
Rook er CNCFs første cloud native data opbevaringsprojekt.[38] Det blev Incubated i 2018 [39] og Graduated i oktober 2020.[40]
The Update Framework
The Update Framework (TUF) hjælper udviklere med at sikre nye eller eksisterende softwareopdateringssystemer, som ofte viser sig at være sårbare over for mange kendte angreb. TUF løser dette udbredte problem ved at levere en omfattende, fleksibel sikkerhedsramme, som udviklere kan integrere med ethvert softwareopdateringssystem. TUF var CNCFs første sikkerhedsorienteret projekt og blev det niende projekt, der blev Graduated.[41]
Vitess
Vitess er et database-distribuerings-system til horisontal skalering af MySQL databaser, og blev først lavet til intern brug i YouTube. I 2018 blev det doneret til CNCF, og i november 2019 fik projektet Graduated status.[42]
Inkuberende projekter
Cilium
Cilium er et open source software-projekt, der anvendes til at oprette, sikre og observere en netværksforbindelse mellem containere. Cilium afhængig af Linux-kerne teknologien eBPF . Projektet blev en del af CNCF i oktober 2021.[43][44]
Cortex
Cortex tilbyder horisontalt skalerbar, multi-tenant, langtidslagring til CNCF-projektet Prometheus. Derudover fungerer Cortex også sammen med Amazon DynamoDB, Google Bigtable, Cassandra, S3, GCS og Microsoft Azure. Den blev introduceret i som et Incubating projekt i økosystemet sammen med Thanos i august 2020.[45]
CRI-O
CRI-O er et Open Container Initiative (OCI) baseret "implementering af Kubernetes Container Runtime Interface".[46] CRI-O gør det muligt for Kubernetes at være container-runtime-agnostisk - altså uafhæng af en enkelt måde at implementere OCI-speficikationen.[47] CRI-O blev Incubating i 2019.[48]
Falco
Falco er et open source og cloud-native runtime-sikkerhedsinitiativ. Det er "de facto trusselsdetekteringssystemet til Kubernetes", og blev Incubating i januar 2020.[49]
gRPC
gRPC er et "moderne, open source og højtydende RPC-framework, der kan køre i ethvert miljø."[50] Projektet blev dannet i 2015, da Google besluttede at gøre deres næste version af deres RPC-infrastruktur ("Stubby") tilgængeligt under et open-source licens.[51] Projektet har en række store virksomheder, som Square, Inc., Netflix og Cisco, der har brugt det siden dets spæde start.[50]
KubeEdge
I september 2020 annoncerede CNCFs tekniske tilsynsudvalg (TOC), at KubeEdge var blevet accepteret som et inkubationsprojekt. Projektet startede hos Futurewei (en Huawei-partner), som donerede det. KubeEdges mål er at "gøre edge-enheder (red. f.eks. en mobil) til en udvidelse af skyen".[52]
Kuma
I juni 2020 annoncerede API-administrationsplatformen Kong, at den ville donere sin open-source service-mesh kontrolplanteknologi, kaldet Kuma, til CNCF som et sandkasseprojekt.[53]
Linkerd
Linkerd er CNCFs femte projekt, og det projekt, der opfandt udtrykket "service mesh ".[54] Linkerd tilføjer observerbarheds-, sikkerheds- og pålidelighedsfunktioner til applikationer ved at tilføje førnævnte funktioner på platformen hvor applikationerne kører, fremfor på applikationslaget.[55] Derudover er Linkerd udstyret med en en Rust-baseret "mikro-proxy" for at maksimere hastigheden og sikkerheden på dataplanen.[56]
Litmus
I juli 2020 donerede MayaData Lakmus, som er et open source kaos engineering værktøj, der kører på Kubernetes.[57]
NATS
NATS består af en samling af open source-meddelelsesteknologier, der "implementerer publicerings-/abonnement-, anmodnings-/svar- og distribuerede kømønstre for at hjælpe med at skabe en effektiv og sikker metode til InterProcess Communication (IPC)." [58] Det eksisterede uafhængigt i en årrække, men fik større rækkevidde, siden det blev et CNCF-inkuberingsprojekt.[59]
Notary
Notary er et open source-projekt, der muliggør udbredt tillid over vilkårlige dataindsamlinger.[60] Notary blev udgivet af Docker i 2015 og blev et CNCF-projekt i 2017.[61]
Open Policy Agent
Open Policy Agent (OPA) er "et open source politk-styringsystem og sprog til cloud-infrastruktur." [62] Det blev et CNCF-inkuberingsprojekt i april 2019.[63]
OpenTelemetry
OpenTelemetry er et open source observability framework, der blev skabt, ved at CNCF fusionerede OpenTracing- og OpenCensus-projekterne.[64] OpenTracing tilbyder "konsistente, udtryksfulde, leverandørneutrale API'er til populære platforme" [65] mens det Google-skabte OpenCensus-projekt fungerer som en "samling af sprogspecifikke biblioteker til instrumentering af en applikation, indsamling af statistik (metrikker) og eksport af data til en understøttet backend." [66] Under OpenTelemetry skaber projekterne et "komplet telemetrisystem [der er] egnet til overvågning af micro-services og andre typer af moderne og distribuerede systemer - og [er] kompatibelt med de fleste større OSS og kommercielle backends." [67] Det er det "næstmest aktive" CNCF-projekt.[68] I oktober 2020 annoncerede AWS en offentlig forhåndsvisning af sin distro til OpenTelemetry.[69]
Thanos
Thanos muliggør globale query visninger og ubegrænset opbevaring af metrikker. Thanos blev designet til at være nemt at tilføje til Prometheus-implementeringer.[45]
TiKV
TikV kører på Rust og "leverer en distribueret key value database." [70] CNCF's tekniske tilsynsudvalg stemte for at flytte projektet til inkubationsniveau i maj 2019.[71]
CNCF-initiativer
CNCF er vært for en række initiativer for cloud-native-fællesskabet, herunder:
Begivenheder
CNCF er vært for de samlokaliserede KubeCon- og CloudNativeCon-konferencer, som er blevet en nøglebegivenhed for tekniske brugere og forretningsfolk, der søger at deres viden om Kubernetes og cloud-native. Arrangementerne forsøger at hjælpe deltagerne med blive en del af at samarbejde med andre fra branchen.[72] Den årlige konference i nordamerika blev i 2020 ændret til en 100% online-baseret begivenhed på grund af COVID-19-pandemien.[73]
Diversitetsstipendier samt holdning til ligestilling og inklusion
CNCFs mangfoldighedsstipendium-program dækker billetten og rejsen til KubeCon + CloudNativeCon-konferencen.[86] I 2018 blev der indsamlet $300.000, som skulle gå til personer med mangfoldig og minoritetsbaggrund, så de fik mulighed for at tage til Seattle og deltage i KubeCon og CloudNativeCon.[87]
I august 2020 udtalte Priyanka Sharma, at CNCF viser "solidaritet" over for Black Lives Matter bevægelsen. Sharma udtalte også, at hun var "personligt involveret i et projekt der skulle udrydde terminologer fra kode som er racemæssigt problematisk", og at CNCF "aktivt arbejder på at forbedre køns- og racebalancen i cloud-native økosystemet", mens hun forbliver engageret i at skabe rum og muligheder for LGBTQIA+, kvinder, sorte og brune mennesker og personer med forskellig funktionsevne, specifikt med hensyn til KubeCon.[88]
Kubernetes certificering og uddannelse
En måde at blive Kubernetes-certificeret it-professionel på, er ved at tage den leverandør-agnostiske Certified Kubernetes Administrator (CKA) eksamen, som er relevant for administratore, der arbejder på tværs af en række cloud-platforme.[89] Der er titusindvis af Certified Kubernetes Administrators (CKA) og Certified Kubernetes Application Developers (CKAD) verden over.[90]
Kubernetes software overensstemmelse og træning
CNCF's Certified Kubernetes Conformance Program (KCSP) gør det muligt for leverandører at bevise, at deres produkt og service er i overensstemmelse med et sæt kernefunktionaliteter i Kubernetes API'et og er kompatible med andre Kubernetes-implementeringer. Ved udgangen af 2018 var der 76 firmaer, der havde valideret deres tilbud med Certified Kubernetes Conformance Program.[91]
I 2017 hjalp CNCF Linux Foundation med at lancere et gratis Kubernetes-kursus på EdX-platformen [92] - som har mere end 88.000 tilmeldinger.[93] Kurset, der fungerer som selvstudie, dækker Kubernetes' systemarkitektur, de problemer Kubernetes løser og den model der bruges til at håndtere deployments og skaleringer af containere. Kurset indeholder også tekniske instruktioner om, hvordan man deployer en fler-laget applikation.[93]
Cloud Native Landskabet
CNCF har udviklet et landskabskort, der afbilleder alle cloud-native projekter, hvoraf mange er CNCF projekter.[94] Det interaktive kort giver en idé om hvilke problemer som ingeniører og udviklere står over for, når de skal beslutte, hvilke produkter der skal bruges. Dette interaktive kort blev skabt, som en reaktion på udbredelsen af tredjepartsteknologier der resulterede, i at ingeniører og udviklere blev beslutningstrætte og derfor tog suboptimale valg af softwareværktøjer. Ud over at kortlægge de relevante og eksisterende cloud-native løsninger, giver CNCF's landskabskort detaljer om selve løsningerne, herunder open source-status, bidragydere m.m.[95]
Landskabskortet har været genstand for jokes på Twitter på grund af CNCF-økosystemets størrelse og kompleksitet.[96]
Cloud Native Rute Kort
CNCF's Cloud Native Rute-kort skitserer de CNCF projekter, som CNCF anbefaler til at bygge en cloud-native platform. Cloud Native Rute-kortet fungerer også som en interaktiv og omfattende guide til cloud-teknologier.[97]
DevStats
CNCFs DevStats-værktøj analyserer aktiviteten på GitHub for Kubernetes og de andre CNCF-projekter. Med værktøjet kan man se dashboards med et væld af målinger, herunder antallet af bidrag til projekterne, bidragyderes engagement, hvor lang tid det tager at få svar på en issue, og hvilke specialinteressegrupper (SIG'er) der er mest lydhøre.[98]
CNCF Teknologi Radar
I juni 2020 offentliggjorde CNCF det første nummer af CNCF Technology Radar, som er en "subjektiv guide til nye teknologier". Den udgives kvartalsvist som en artikel.[99]