Anthropic vaihtoi monoreponsa versionhallinnan Gitistä omaan Scion-järjestelmäänsä, kun koodimuutosten yhdistäminen kasvoi yhtiön mukaan noin 2 500:sta päivässä toukokuussa yli 30 000:een syyskuussa 2026. Versionhallinnasta oli tullut sen suurin kehitystyön pullonkaula. Yhtiö kertoo rakentaneensa Scionin ja siirtäneensä monoreponsa siihen viidessä kuukaudessa.
8
9
Miksi Anthropic muutti versionhallintaa?
Kyse ei ollut vain suuren koodivaraston koosta. Anthropicin mukaan nopeasti kasvava yhdistämisten määrä yhdistyi jatkuvaan, raskaaseen koodin noutamiseen: päähaaran historia oli lähes 100 gigatavua, pakattu työkopio yli 25 gigatavua, ja jatkuvan integraation eli CI:n prosessit tekivät noin 25 miljoonaa koodin noutoa päivässä.
9
Tällaisen työmäärän käsittely Git-pohjaisella järjestelmällä, jossa hyödynnettiin laajasti varaston kopioita ja peilejä, kävi yhtiön mittakaavassa kalliiksi. Anthropic on kuvannut koodin yhdistämisen kysyntää ”käytännössä rajattomaksi”: kun yksi pullonkaula poistuu, koodia voidaan tuottaa entistä enemmän, joten infrastruktuurin pitää ehkä kasvaa jatkuvasti eikä vain vastata johonkin pysyvään työmäärään.
29
Scion siirtää enemmän työtä palvelimille
Scion on suunniteltu asiakasohjelmille, joilla on yhteys palvelimeen. Sen sijaan, että jokainen asiakas hoitaisi kaikki versionhallinnan toiminnot paikallisesti, järjestelmä tarjoaa palvelinpuolen toimintoja ja ohjelmointirajapintoja eli API-rajapintoja. Palvelin hoitaa esimerkiksi commitit, yhdistämiset, uudelleenpohjaukset ja historiakyselyt. Asiakasohjelmilla on rajattu välimuisti, ja ne noutavat tarvitsemansa tiedot.
2
4
Arkkitehtuurissa on kyse erilaisesta kompromissista. Gitin hajautettu malli antaa käyttäjälle paikallisen kopion tietovarastosta, kun taas Scion nojaa enemmän jaettuun infrastruktuuriin ja verkkoyhteyteen. Anthropicin kuvaamaan käyttöön, jossa automaattiset prosessit ja agentit ovat keskeisiä, tämä voi sopia hyvin – mutta se ei tarkoita, että ratkaisu olisi paras kaikille kehittäjille tai projekteille.
2
7
Anthropicin raportoimat tulokset
Anthropicin mukaan Scionin CPU:n ja muistin tarve oli noin 200 kertaa pienempi kuin yhtiön aiemmassa Git-peili-infrastruktuurissa. Yhtiö kertoo myös, että aiemmin minuutteja vieneet koodin noudot saattoivat nyt kestää sekunteja ja että CI:n käyttöön vapautui 25 prosenttia suorittimen kapasiteetista. Luvut ovat yhtiön omia raportteja, eivät riippumattomasti toistettuja vertailutuloksia.
4
10
Siirrossa rakennettiin muutakin kuin versionhallinta. Anthropicin mukaan se kehitti samalla Antique-koodikatselmointityökalun, koodinhaun, käyttöoikeuksien hallintaan liittyviä työkaluja sekä muita järjestelmiä tarkastettujen muutosten käsittelyyn ja viemiseen koodiin. Scionin ja Antiguen parissa työskenteli seitsemän hengen tiimi monorepon siirron aikana.
3
8
Erikoisratkaisu ei tee Gitistä tarpeetonta
Anthropicin esimerkistä ei voi päätellä, että Git olisi vanhentunut. Scion tehtiin erittäin suurelle ja nopeasti muuttuvalle sisäiselle monorepolle sekä asiakasohjelmille, jotka voivat luottaa palvelinyhteyteen. Sitä on kuvattu yhtiön sisäiseksi järjestelmäksi, ei yleiskäyttöiseksi Gitin korvaajaksi.
5
7
Laajempi opetus on, että versionhallinnan arkkitehtuurin pitää vastata kehitystyön tapoja. Kun tietovaraston koko, koodin noutojen tiheys ja yhdistämisten määrä kasvavat yhtä aikaa, osan työstä siirtäminen jaettuihin palveluihin voi olla yksi keino hallita infrastruktuuriin kohdistuvaa painetta.