GitHub:n tilannesivulle kirjattiin tiistaina 18. elokuuta kello 7.40 UTC yksi rivi: ”We are investigating reports of impacted performance for some GitHub services.” Syy löytyi vasta kello 10.41, korjaus kello 11.24 ja merkintä ratkaistusta 11.42. Neljä tuntia. Sinä aamuna moni tiimi katsoi pyörivää odotuskuvaketta siellä, missä pitäisi olla vihreä täppä.
Edellisenä päivänä Cursor oli avannut Originin, oman koodipalvelunsa. Ajoitus näytti julmalta, ja TechCrunchin Lucas Ropek otsikoi juttunsa sen mukaan. Sattuma se silti on. Origin lähti liikkeelle 17. elokuuta, häiriö tuli seuraavana aamuna, eikä kumpikaan yhtiö ole esittänyt mitään muuta.
“Aloitamme perusasioista, jotka on suunniteltu agenttien mittakaavaan: repot, pull requestit, koodin selaaminen ja GitHub-synkronointi.”
Mitä agenttien mittakaava tarkoittaa käytännössä
Cursorin editoriin ilmestyi uusi Codebase-välilehti, jonka takaa löytyvät Originiin viedyt repot. Palvelu osaa säilyttää koodin, näyttää sen selaimessa ja käsitellä pull requesteja. GitHub-synkronointi toimii kahteen suuntaan, ja Cursorin mukaan kommentit siirtyvät puolelta toiselle sekunneissa. Synkronoiduissa repoissa GitHub pysyy totuuden lähteenä. Sovellusliitäntöjä on aluksi kolme: Vercel, Depot ja Buildkite.
Agenttiosuus on tässä vaiheessa yksi asia: Cursorin agentti pääsee suoraan käsiksi selattavaan koodiin. Se vastaa kysymyksiin, tekee muutoksia, päivittää pull requestin ja työntää haaran ilman että käyttäjä liikkuu palvelusta toiseen. Mikään yksittäinen toiminto ei ole sellainen, jota GitHub ei osaisi. Ero on siinä, että agentti ja repo ovat saman kirjautumisen ja saman käyttöliittymän takana, eikä agentin tarvitse kulkea ulkoisen rajapinnan kautta jokaisella committilla.
Varsinaiset agenttinatiivit ominaisuudet Cursor lupaa vasta myöhemmin eikä ole kertonut, mitä ne ovat. Origin on varhaisessa betassa ja aukeaa kaikille maksaville tilaajille. Yritysasiakkaiden ylläpitäjät voivat kytkeä sen pois päältä.
Katkos oli pienempi kuin siltä näytti
TechCrunch kuvasi tiistain häiriötä yli kuusi tuntia kestäneeksi maailmanlaajuiseksi katkokseksi, jossa virheprosentti nousi lähelle kahtakymmentä. GitHub:n oma tilannesivu kertoo toista tarinaa. Siellä häiriö kesti neljä tuntia ja kaksi minuuttia, ja se oli rajattu Actions-palveluiden väliseen viestintäongelmaan, joka kaatoi runner-ryhmien ja runner-oikeuksien sivut suurempia ajoympäristöjä käyttäviltä asiakkailta. Samana aamuna avattu toinen Actions-häiriö peruttiin kokonaan: ”This incident was posted in error.”
Ero selittyy sillä, mitä mitataan. Tilannesivu kirjaa palvelukohtaisen häiriön, käyttäjä kokee koko työputken pysähtymisen. Yksittäinen aamu ei kaada GitHub:ia, jota käytti viime lokakuussa noin 180 miljoonaa kehittäjää. Kertymä muuttaa keskustelun sävyn: TechCrunchin siteeraaman analyysin mukaan GitHub:lla on ollut vuoden aikana 257 häiriötä. Kun se luku esitetään hankintapalaverissa, se ei enää ole tekninen yksityiskohta.
Samana päivänä Warp julkisti Factories-kokonaisuuden. Zach Lloydin allekirjoittamassa julkistuksessa Factories kuvataan versionhallittuna koodina, joka orkestroi useita agentteja läpi koko kehitysketjun: työn priorisointi, määrittely, toteutus, katselmointi ja testaus. Tehtävät tulevat sisään Slackista, Teamsista, Linearista, Jirasta, GitHub:sta tai GitLabista, ja yhtiö lupaa mittarit sekä mahdollisuuden käyttää omaa mallia ja omaa konesalia. Kilpailu on siirtymässä editorista koko kehitysputkeen.
Suomalaiselle ohjelmistotalolle tämä on hankintakysymys
Koodi itsessään on helppo siirtää. Se on hajautetun versionhallinnan koko idea: git-historia lähtee mukaan yhdellä komennolla. Kaikki muu on kiinni alustassa. Tikettien historia, Actions-työnkulut, haarasuojaukset, organisaation käyttöoikeusrakenne, kertakirjautuminen, auditlokit, riippuvuusrobotit ja pakettirekisterit ovat vuosien aikana kertynyttä konfiguraatiota, jota kukaan ei ole dokumentoinut kokonaan.
Keskikokoisella suomalaisella ohjelmistotalolla on tyypillisesti satoja repoja ja sitä kautta satoja työnkulkuja. Niiden siirto on kuukausien projekti, ei viikonlopun urakka, ja Origin on varhaisessa betassa. Realistinen liike ei siis ole muutto. Se on hinta ja sopimusehdot silloin, kun GitHub Enterprise -sopimus tulee uusittavaksi. Uskottava vaihtoehto olemassa neuvottelupöydällä on eri asia kuin ei mitään.
Miksi tämä koskee muitakin kuin kehittäjiä? Suomalaiset verkkopankit, terveydenhuollon järjestelmät, verkkokaupat ja palkanlaskennan taustapalvelut julkaistaan näiden putkien läpi. Kun putki seisoo neljä tuntia, tietoturvakorjaus tai maksuvirheen paikkaus ei mene tuotantoon sinä aamuna. Riippuvuus yhdestä yhdysvaltalaisesta alustasta on tässä mielessä sama kysymys kuin pilvipalveluiden keskittyminen, siitä vain puhutaan harvemmin ääneen.



