V prejšnjem tednu je organizacija The Linux Foundation na svojem dogodku Open Source Leadership Summit napovedala ustanovitev novega sklada za projekte Open Source. Nov neodvisni institut za razvoj odprtih [in v industriji povpraševanih] tehnologij je namenjen združevanju orodij za inženirje DevOps, natančneje – za organizacijo in izvajanje procesov neprekinjene dostave ter CI/CD pipeline-ov. Organizacijo so poimenovali: The (CDF).
Da bi bolje razumeli, zakaj pravzaprav nastajajo tovrstni skladi pri matični organizaciji Linux Foundation, je dovolj pogledati na bolj znan primer – CNCF (Cloud Native Computing Foundation). Ta sklad je nastal leta 2015 in od takrat je sprejel številne projekte Open Source, ki resnično oblikujejo sodobno pokrajino oblačne IT infrastrukture: Kubernetes, containerd, Prometheus itd.
Sama organizacija deluje kot neodvisna platforma, na kateri se ti projekti upravljajo in razvijajo v interesu različnih udeležencev na trgu. V CNCF so za to ustvarili tehnična in tržna komisija, sprejeli določene standarde in pravila (če vas zanimajo podrobnosti, priporočamo branje, na primer, )… In kot vidimo na «živih» primerih, shema deluje: projekti, ki so pod okriljem CNCF, postajajo bolj zreli, pridobivajo priljubljenost v industriji, tako med končnimi uporabniki kot med razvijalci, ki sodelujejo pri njihovem razvoju.
V skladu s to uspešnostjo (saj so mnogi «oblačni» projekti CNCF že postali del vsakdanjega življenja inženirjev DevOps), so se v The Linux Foundation odločili »zavzeti« (pravilneje bi bilo reči, da »napredovati v«) novo nišo:
«Continuous Delivery Foundation (CDF) bo neodvisen od dobaviteljev dom za pomembne projekte Open Source, namenjene neprekinjeni dostavi in specifikacijam, ki pospešujejo procese pipeline-a. CDF bo spodbujal sodelovanje vodilnih razvijalcev, končnih uporabnikov in dobaviteljev iz industrije, promoviral CI/CD in metodologije DevOps, določal in dokumentiral najboljše prakse, ustvarjal vodnike in učne materiale, ki bodo omogočili ekipam razvijalcev programske opreme z vsega sveta uresničevanje najboljših praks CI/CD.»
Idea
Temeljne vrednote in principi, ki jih vodi CDF, so trenutno tako, da organizacija:
- … verjame v moč nenehne dostave in v to, da ji daje nove možnosti razvijalcem in ekipam, kar omogoča pogostejše izdaje visokokakovostne programske opreme;
- … verjame v rešitve z odprto kodo, katerih skupno uporabo obsega celoten cikel dostave programske opreme;
- … goji in podpira ekosistem projektov Open Source, ki niso odvisni od ponudnikov, preko skupnega dela in medsebojne združljivosti;
- … spodbuja in stimulira sodelovanje med strokovnjaki, ki se v praksi ukvarjajo z nenehno dostavo, ter širjenje svojih praks in njihovo izboljšanje.
Udeleženci in projekti
Toda lepe besede so domena marketerjev, ki ne vedno ustrezajo resničnosti. In v tem smislu si lahko prvo mnenje o organizaciji ustvarimo na podlagi tistih, ki so jo oblikovali, in na podlagi projektov, ki so postali njeni 'prvenci'.
Glavni člani CDF so , med katerimi je tudi Capital One, eden izmed top 10 bank v ZDA, in bolj znani predstavniki industrije, kot so CircleCI, CloudBees, Google, Huawei, IBM, JFrog in Netflix. Nekateri izmed njih so že spregovorili o tem pomembnem dogodku v svojih blogih, vendar o tem malo kasneje.
Med člani CDF so tudi končni uporabniki njegovih projektov – podobna kategorija obstaja tudi pri CNCF, kjer lahko najdemo eBay, Pinterest, Twitter, Wikimedia in mnoge druge. Pri novem skladu je takih udeležencev za zdaj le 15, a med njimi so že zanimiva in znana imena: Autodesk, GitLab, Puppet, Rancher, Red Hat, SAP in tisti, ki se je doslovno pridružil
Sysdig.
Zdaj pa morda o glavnem – o projektih, ki jih je CDF prevzel v obravnavo. Ob ustvarjanju organizacije so se izkazali štirje:
Jenkins in Jenkins X – sistem za CI/CD, ki ne potrebuje posebne predstavitve, napisan v Javi, ki že leta obstaja(pomislite: prva izdaja – v obliki Hudsona – se je zgodila pred 14 leti!)
, in okrog katerega se je nabrala nešteta vojska vtičnikov. Glavna komercialna struktura, ki stoji za Jenkinsom danes, je CloudBees., katerega tehnični direktor je originalni avtor projekta (Kohsuke Kawaguchi) in ki je postal eden od ustanoviteljev sklada.
— ta projekt je prav tako v veliki meri dolžan CloudBees (kot lahko uganite, so njegovi glavni razvijalci zaposleni v tej isti družbi), vendar pa je, za razliko od samega Jenkinsa, rešitev povsem nova — stara je le eno leto.
V okviru Jenkins X je ponujena pripravna rešitev za organizacijo CI/CD za sodobne oblačne aplikacije, nameščene v okviru Kubernetes grozdov. Za to JX ponuja avtomatizacijo procesov, vgrajeno implementacijo GitOps, okolja za predogled izdaj in druge možnosti. Arhitektura Jenkins X se predstavi takole:
Produktni sklad — Jenkins, Knative Build, Prow, Skaffold in Helm. Več o projektu lahko na Habré.
Spinnaker
— platforma za neprekinjeno dostavo, ki jo je ustvaril Netflix, katere izvorna koda je bila odprta leta 2015. V njenem razvoju aktivno sodeluje tudi Google: s skupnimi močmi se izdelek razvija kot rešitev za velike organizacije, katerih DevOps ekipe podpirajo številne razvojne ekipe.
Ključne koncepcije v Spinnakerju za opis storitev so aplikacije (applications), grozdi (clusters) in skupine strežnikov (server groups), njihovo dostopnost za zunanji svet pa zagotavljajo uravnavači obremenitve (load balancers) in požarni zidovi (firewalls):
Več o osnovni strukturi Spinnakerja lahko preberete v .
Platforma omogoča delovanje z več oblačnimi okolji, vključno s Kubernetesom, OpenStackom in različnimi oblačnimi ponudniki (AWS EC2, GCE, GKE, GAE, Azure, Oracle Cloud Infrastructure), prav tako pa se integrira z različnimi izdelki in storitvami:
- z CI sistemi (Jenkins, Travis CI) v procesih;
- z Datadogom, Prometheusom, Stackdriverjem in SignalFx — za spremljanje dogodkov;
- s Slackom, HipChatom in Twiliom — za obvestila;
- s Packerjem, Chefom in Puppetom — za virtualne stroje.
To je, kar v Netflixu menijo o vključitvi Spinnakerja v nov sklad:
„Uspeh Spinnakerja je v veliki meri posledica čudovite skupnosti podjetij in posameznikov, ki ga uporabljajo in prispevajo k njegovemu razvoju. Prenos Spinnakerja k CDF bo okrepil to skupnost. Ta korak bo spodbudil spremembe in naložbe drugih podjetij, ki so dogajanje opazovala z distance. Odprta vrata za nova podjetja bodo prinesla Spinnakerju nove inovacije, iz katerih bodo imeli vsi koristi.“
In ob ustanovitvi Continuous Delivery Foundation posebej izpostavlja, da „Spinnaker je večkomponentni sistem, ki konceptualno sovpada s Tektonom“. Tako pridemo do zadnjega projekta, ki je vstopil v novi sklad.
Tekton
— ogrodje, predstavljeno kot skupne komponente za ustvarjanje in standardizacijo CI/CD sistemov, ki predvidevajo delovanje cevi v različnih okoljih, vključno z običajnimi virtualnimi stroji, serverless ter Kubernetes.
Ti sami komponenti so „izvedeni v slogu Kubernetes“ viri (implementirani v samem K8s kot CRD), ki delujejo kot gradniki za določanje cevi. Kratka ilustracija njihove uporabe v K8s klastru je predstavljena .
Podprt nabor produktov v Tektonu se bo zdel že znan: Jenkins, Jenkins X, Skaffold in Knative. V Google Cloud menijo, da Tekton rešuje „težavo sodelovanja med skupnostjo Open Source in vodilnimi dobavitelji pri modernizaciji infrastrukture za CI/CD“.
…
Podobno kot CNCF, je v CDF ustanovljen tehnični odbor (Technical Oversight Committee, TOC), katerega naloga je preučitev vprašanj (in sprejemanje odločitev) o vključitvi novih projektov v sklad. Druge informacije o sami organizaciji na zaenkrat ni veliko, vendar je to normalno in le vprašanje časa.
Z zaključimo z citatom iz :
„Sedaj, ko smo postali eno izmed podjetij novo ustanovljenega sklada Continuous Delivery Foundation, bomo svoje zaveze [k razvoju tehnologije, ki je univerzalna v svoji podpori drugim rešitvam za CI/CD] dvignili na novo raven. To nova organizacija bo, sledil idejam sodelovanja in odprtosti, upravljala prihodnje standarde kontinuirane dostave, ki bodo pospešili cikel izdaje programske opreme. Z vključitvijo Jenkins, Jenkins X, Spinnaker in drugih tehnologij pod okrilje tega sklada vidimo svetlo prihodnost za CI/CD!“
P.S.
Preberite tudi na našem blogu:
- «»;
- «»;
- «»;
- «».
Izvor: habr.com
