Pôvodne publikované na OpenInfra Superuser.

Kontextu: Keď som písal tento článok, predsedal som Interop Working Group. Článok bol zčasti pokusom premyslieť rozhodnutie, pred ktorým sme stáli: či zmeniť proces interoperability, zachovať ho tak, ako je, alebo ho úplne ukončiť. Nebol záujem veci meniť a udržiavať framework, ktorý už neslúžil svojmu účelu, nedávalo zmysel. Krátko nato sme sa rozhodli working groupu ukončiť. Tento článok je myšlienkový proces, ktorý nás k tomu doviedol.
Čo znamená interoperabilita
Interoperabilita sa dá definovať ako schopnosť počítačových systémov alebo programov vymieňať si informácie, presnejšie schopnosť aplikácií, zariadení a systémov od rôznych výrobcov bezproblémovo komunikovať a spracovávať dáta bez akéhokoľvek zapojenia koncových používateľov.
Pre OpenStack je cieľom interoperability pomôcť používateľom robiť informované rozhodnutia a adoptovať produkty OpenStack, ktoré najlepšie zodpovedajú ich obchodným potrebám. Testovací rámec založený na smerniciach, spravovaný Interop Working Group (pôvodne Defcore, založená v roku 2014), udržiava testovacie repozitáre s Tempest testami na overenie kompatibility cloudu. Ak tieto testy prejdú, nasadenie cloudu sa považuje za interoperabilné. Je to binárny model: buď spĺňate latku, alebo nie.
Paradox v dátach
Príspevky do Tempest vrcholili medzi rokmi 2014 a 2017, potom výrazne poklesli. Aktivita vývoja OpenStacku rástla až po vydanie Newton v roku 2016, potom od Ocata smerovala nadol. Nové príspevky kódu a počty prispievateľov sledovali rovnakú krivku. Z hľadiska čistej aktivity komunity boli veci pokojnejšie.
Ale tu je to, čo grafy aktivity neukazujú: nasadenia išli úplne opačným smerom. Podľa prieskumu používateľov OpenStack z roku 2022 dosiahli nasadenia OpenStack v roku 2022 nový míľnik, 40 miliónov výpočtových jadier v produkcii, nárast o 60 % v porovnaní s rokom 2021 a pôsobivý nárast o 166 % od roku 2020. Komunita, ktorá kód píše, sa možno zmenšila, ale komunita, ktorá ho prevádzkuje, nebola nikdy väčšia.
To je paradox, nad ktorým stojí za to sa zamyslieť. Softvér je nasadený vo väčšom rozsahu ako kedykoľvek predtým. Ľudí, ktorí ho testujú a rozširujú, je menej. A rozmanitosť konfigurácií bežiacich v produkcii rastie, pretože čoraz viac organizácií, s čoraz rôznejšími požiadavkami, teraz prevádzkuje OpenStack spôsobmi, ktoré jeho skoršia komunita nikdy nepredvídala.
Problém, ktorý to vytvára pre testovanie interoperability
Súčasný proces interoperability bol navrhnutý pre svet, kde vývoj funkcionalít poháňal testovací plán. Nové funkcie pristávali v OpenStacku, Interop Working Group k nim pridávala testy a cloudoví predajcovia overovali súlad. Bol to rozumný model, keď príspevky plynuli.
S klesajúcou aktivitou vývoja sa tento pipeline spomalil. Menej nových funkcií znamená menej nových testov, čo znamená rámec, ktorý čoraz viac odráža OpenStack minulosti, nie to, čo skutočne beží v produkcii dnes. Medzitým rastúca rozmanitosť nasadení naráža na limity binárneho modelu vyhovel/nevyhovel. Test, ktorý predpokladá štandardnú konfiguráciu, môže produkovať zavádzajúce výsledky pre cloud, ktorý je legitímne interoperabilný spôsobmi, ktoré sú pre jeho používateľov dôležité, ale neštandardný spôsobmi, ktoré nie sú.
Iný spôsob uvažovania
Čo by sme podľa mňa potrebovali, je niečo bližšie k fuzzy logike: zaradiť interoperabilitu na škálu namiesto toho, aby sme s ňou zaobchádzali ako s binárnou podmienkou. Namiesto otázky "prechádza alebo neprechádza tento cloud?" je užitočnejšia otázka: "Aká interoperabilný je tento cloud, pre aké prípady použitia, na akej úrovni?"
To by umožnilo používateľom robiť oveľa informovanejšie rozhodnutia. Nasadenie, ktoré prechádza 90 % testov interoperability v oblastiach dôležitých pre konkrétnu pracovnú záťaž, je skutočne užitočné vedieť, aj keď nespĺňa každú požiadavku plošnej certifikácie. Súčasný model túto nuanciu zneviditeľňuje.
Robí tiež proces poctivejším voči realite rôznorodých nasadení. Požiadavka, aby sa každý cloud správal identicky, mala zmysel, keď bol OpenStack mladý ekosystém snažiaci sa etablovať. Je to ťažší argument, keď 40 miliónov výpočtových jadier beží v produkcii naprieč divoko odlišnými prostrediami a komunita, ktorá píše testy súladu, má zlomok svojej dávnej kapacity.
Prečo na tom záleží
Ekosystém OpenStack čelí skutočnej otázke udržateľnosti: ako udržiavate hodnotu technického štandardu, keď komunita, ktorá ho vytvorila, je menšia, ale komunita, ktorá naň závisí, je väčšia ako kedykoľvek predtým? Testovanie interoperability je súčasťou odpovede, ale len ak rámec drží krok s realitou.
Odstupňovaný prístup k interoperabilite nevyrieši všetko. Ale štandard by bol užitočnejší pre používateľov, ktorí naň skutočne spoliehajú, dosiahnuteľnejší pre predajcov, ktorí ho implementujú, a udržiavateľnejší pre working group, ktorá už nemá neobmedzenú kapacitu. To sa javí ako lepší súlad s tým, kde OpenStack teraz je.
