Při práci na mezipaměti Xcode se něco stalo křišťálově jasným: jedná se v podstatě o problém infrastruktury v hluboce fragmentovaném prostředí sestavovacích systémů. Okamžitě jsme zdvojnásobili infrastrukturu, protože je to náš příkop. Ale jak jsme kopali hlouběji, začalo být zřejmé, že samotná infrastruktura nestačí. Potřebovali jsme také dělat software jinak. Firmy to pro Bazel dělají už léta, v čem bychom se tedy mohli odlišit? Když jsme se rozhlédli kolem sebe, objevily se dva vzorce, které formovaly naše myšlení. Za prvé, stále více sestavovacích systémů přijímá možnosti ukládání do mezipaměti. Rychlost a objem, s jakým kód vytváříme, se neustále zvyšuje a ukládání do mezipaměti již není volitelné. Je to zásadní. Za druhé, neexistuje žádná standardizace. Fragmentace systému sestavení nevyhnutelně povede k fragmentaci služeb. Jedna služba ukládání do mezipaměti pro každý systém sestavení. Jedna infrastruktura na nástroj. Stejné problémy se řešily znovu a znovu trochu jinými způsoby. V Tuistu jsme to mohli vyřešit pro Xcode a skončit tak. Ale co kdybychom vybudovali něco zásadnějšího? Co kdybychom vytvořili úzký pas mezi světem build systémů a světem cachovací infrastruktury? Vrstva, která umožňuje libovolnému sestavovacímu systému komunikovat s libovolným backendem pro ukládání do mezipaměti, místo aby vytvářel další vertikální řešení. Začal jsem si s touto myšlenkou pohrávat a jsem přesvědčen, že toto je cesta vpřed. Budujeme základ pro budování systémové infrastruktury jako služby. Ani jedna služba na jeden systém sestavení. Jedno řešení, které funguje napříč všemi z nich. Něco, co vyvíjíme, udržujeme a nabízíme jako spravovanou službu, kterou může používat jakýkoli tým bez ohledu na svůj nástroj pro sestavení. A ano, s infrastrukturou teprve začínáme. Naší vizí je dostat ho na okraj co nejblíž k místu, kde vývojáři, agenti a CI pipelines skutečně dělají svou práci. Problém fragmentace v našem odvětví je reálný a my budujeme infrastrukturu, abychom ho vyřešili.