Kocka od pet milijardi dolara: System/360 (1964)

Kad je IBM stavio cijelu firmu na jednu kartu — i ispalo da je to najbolja kockarska odluka u povijesti računala.

poglavlje 26/3418 min čitanja∞ – 1969

Godina je 1964. Amerika je još u šoku. Kennedy je mrtav manje od dvanaest mjeseci, a Lyndon Johnson vodi zemlju koja se pravi da je sve u redu, dok istovremeno šalje sve više dječaka u džunglu koja se zove Vijetnam. U veljači te godine četiri dečka iz Liverpoola stanu na pozornicu Eda Sullivana — tada najgledanije televizijske emisije u Americi, nešto poput nedjeljne mise za cijelu naciju — i preko sedamdeset milijuna Amerikanaca na sat vremena zaboravi da im je predsjednik ubijen prije godinu dana. Zemlja je trebala nešto novo u što će vjerovati. Beatlesi su bili jedna opklada koja se isplatila, u obliku masovne histerije. Bilo je i drugih opklada te godine — samo bez gitara i vrištećih tinejdžerica. Neke su se vodile u sivim odijelima, u konferencijskim sobama s pogledom na rijeku Hudson, i tamo se novac nije brojao u dolarima, nego u broju nula iza njih.

IBM 1964. nije firma koja se boji za opstanak. IBM je firma koja u tom trenutku drži toliki komad tržišta računala da bi svaki moderni regulator za monopol (onaj državni ured čiji je posao paziti da jedna firma ne pojede cijelo tržište i onda radi što joj se prohtije) pozvao odvjetnike prije nego što bi dovršio kavu. Sedamdeset posto, možda i više, ovisno koga pitaš i kako brojiš. Firma koja bi mogla, teoretski, sjediti na tom udobnom postotku desetljeće ili dva i ubirati rentu od ljudi koji nemaju baš nikakav drugi izbor nego kupiti IBM-ov željezni sanduk — a pod „sanduk” doslovno mislim ogromno računalo veličine ormara ili sobe, jer 1964. ništa manje ni ne postoji.

Jer korporativni rat se 1964. ne vodi tenkovima. Vodi se bilancama, godišnjim izvještajima, sastancima uprave gdje netko mora ustati i reći dioničarima da ide sav novac firme — i još malo posuđenog — na jednu jedinu kartu, koja se zove System/360, jedna »arhitektura« (zamisli je kao jedinstveni jezik i skup dijelova koje sva računala u obitelji razumiju i mogu međusobno koristiti) koja bi trebala pokretati i mali uredski model i čudovište za banke, od kojih dotad nijedno nije moglo pokrenuti program napisan za drugo. Nema poluvremena. Nema drugog pokušaja ako ova arhitektura ne proradi. Ovo je opklada u kojoj je kasino cijela američka industrija, a ulog iznos koji bi, da propadne, mogao IBM pretvoriti u fusnotu iz koje se priča djeci kao upozorenje.

Pa krenimo onda odande gdje kockari uvijek kreću — od pitanja koliko je novca bilo na stolu i tko ga je, kad je sve završilo, stvarno pokupio.

Godina je 1964. Thomas Watson Jr. sjedi u uredu na vrhu zgrade koja nosi njegovo prezime i potpisuje odluku koja će koštati više od pet milijardi dolara. Za usporedbu — Manhattan projekt, ona mala stvar gdje je Amerika sagradila atomsku bombu iz temelja, izgradila tri grada u tajnosti i angažirala pola fizičara planete, stajao je oko dvije milijarde dolara u dolarima tog vremena. Watson troši više. Ne na bombu. Nego — čekaj malo — na liniju računala. Ime System/360 nije slučajno: baš kao što krug ima 360 stupnjeva, ova arhitektura je trebala pokriti baš sve, od najmanjeg uredskog modela do čudovišta za banke, a kad su ti strojevi počeli stizati u strojarnice u obliku ormara nalik na kutije, nadimak „kocka” se sam nametnuo. IBM, monopolist iz prošlog odlomka koji je mogao samo nastaviti grabiti novac lopatom još dvadesetak godina, sad stavlja sve na jednu kartu — i baš tada, s pozicije apsolutne dominacije, Watson potpisuje odluku koja cijelu firmu vodi u tu kockarnicu.

Zašto bi netko na vrhu igre riskirao cijelu kuću? Zato što je kuća iznutra već gorjela — samo je vatra bila tiha, administrativna, skrivena u tablicama troškova koje su gledale samo računovođe, i to s pravom dozom panike. IBM je u to doba prodavao sedam potpuno različitih linija računala. Ne sedam modela istog stroja — sedam odvojenih arhitektura, svaka sa svojim procesorom (onim dijelom računala koji stvarno izvršava naredbe, njegovim „mozgom”), svojim operativnim sustavom, svojim skupom perifernih uređaja, svojim timom inženjera koji mrzi timove inženjera iz susjedne zgrade jer rade, u biti, isti posao dvaput. Program napisan za jedan IBM stroj nije radio na drugom IBM stroju. Ponovit ću to jer zvuči kao šala, a nije: kupiš IBM računalo, tvoja firma naruči veće IBM računalo dvije godine kasnije, i cijeli softver bacaš i pišeš iznova. Isti proizvođač, iste plave naljepnice na kutijama, nula kompatibilnosti.

Svaka od tih linija imala je svoj razvojni tim, svoju fabriku dijelova, svoje inženjere koji su optimizirali rješenja za potpuno drugačiji skup problema. Dupliran razvoj, duplirana podrška, duplirani periferni uređaji — printeri, trake, diskovi, sve ono što se spaja na glavno računalo da bi uopće nešto radilo — i dupliran svaki dio lanca koji je, u teoriji, trebao biti jedan jedini. Firma je zarađivala ogromne pare, ali je paralelno plaćala sedam puta za posao koji je trebao stajati jednom. To je bio dug koji se nije vidio na burzi — vidio se samo u internim izvještajima koje je Watson čitao noću, dok su svi ostali slavili tržišni udio.

Watson Jr. nije bio inženjer. Bio je kockar u odijelu — sin osnivača, čovjek koji je firmu naslijedio i sad je morao dokazati da ju je zaslužio. I baš zato je razumio nešto što inženjeri često ne vide: da problem nije tehnički, nego ekonomski. Rješenje nije bilo »popravimo malo svaku od sedam linija«. Rješenje je bilo ubiti svih sedam i zamijeniti ih jednom jedinom arhitekturom — od najmanjeg ureda do najveće banke — s obećanjem da će program napisan danas raditi i na stroju koji ćeš kupiti za pet godina. To obećanje se zvalo System/360, i u trenutku potpisivanja nitko u zgradi — ni Watson, ni inženjeri, ni računovođe — nije bio sto posto siguran da se to uopće može napraviti.

Pet milijardi dolara — u današnjem novcu daleko preko trideset milijardi — uloženo u ideju koja u tom trenutku postoji samo na papiru, s rokom za koji je svima jasno da se neće održati. Ulog je bio jasan: ako projekt ne uspije, IBM ne gubi jednu liniju proizvoda, IBM gubi firmu. To je otprilike kao da staviš cijelu kuću na jednu kartu, i onda još posudiš od susjeda da podigneš ulog. Sad idemo vidjeti u što se taj novac konkretno pretvorio.

Ideja koja danas zvuči očito: jedna arhitektura
§ 02

Ideja koja danas zvuči očito: jedna arhitektura

Dokaze optužbe smo čuli — sedam nekompatibilnih linija koje su žderale firmu iznutra. Sad dolazi obrana, i obrana ima jednu ideju, naizgled tako očitu da se pitaš zašto je nitko prije nije predložio. Ideja glasi: neka postoji JEDNA arhitektura. Ne jedno računalo — jedna arhitektura, jedan skup instrukcija (instrukcija je osnovna naredba koju procesor razumije, nešto poput „zbroji ova dva broja” ili „spremi ovaj podatak” — svaki program je, u dubini, samo dugačak niz takvih sitnih naredbi), jedan način na koji stroj razumije program. Mali model za ljekarnu koja vodi popis lijekova i veliki model za banku koja obrađuje milijun transakcija dnevno govore isti jezik. Kupiš mali, program radi. Firma naraste, kupiš veći, isti program radi dalje — brže, ali dalje. Zvuči kao zdrav razum. Godine 1964. to je bila jeretička, skupa i pomalo suicidalna zamisao.

Zašto skupa? Zato što jeftinije mašine fizički nemaju iste sklopove kao skuplje. Manji stroj ima manje elektronike, manju magistralu, jeftinije komponente — to mu je i cijela poanta, zato je jeftiniji. Kako onda natjerati kutiju od dvjesto tisuća dolara da se ponaša identično kutiji od dva milijuna? IBM je odgovorio trikom koji zvuči kao prijevara, a zapravo je genijalno poštena varka: mikrokod.

Zamisli da svaki stroj u liniji ima svog tumača ugrađenog u sebe — sloj softvera zapečen u hardver, koji sjedi između programa i stvarnih elektroničkih sklopova te svakoj instrukciji koja stigne govori: „dobro, ti kažeš zbroji ova dva broja, a ja ću to sad prevesti u ono što moji, konkretni, jeftini sklopovi znaju napraviti.” Mali stroj mora tu istu instrukciju rastaviti na više sitnih koraka jer nema luksuznu elektroniku koja to radi u jednom potezu. Veliki stroj to obavi u komadu, jer si ga skuplje platio. Programeru je to svejedno — on samo vidi da je instrukcija izvršena. Mikrokod je, drugim riječima, sloj laži koji čini istinu jednostavnom: skuplja mašina i jeftinija mašina glume da su isto, dok iznutra rade na potpuno drugačiji način.

Ekonomski gledano, ovo nije bila inženjerska elegancija radi elegancije — bila je to čista računica poslovnog modela. Kupac koji zna da njegov softver preživljava kupnju sljedećeg, većeg stroja, neće pobjeći konkurenciji kad naraste. Ostaje u IBM-ovu ekosustavu doživotno, jer prelazak na drugog proizvođača znači bacanje svega što je već napisano i plaćeno. Ta osobina — da novi, jači stroj i dalje razumije stari softver, ono što se stručno zove unatražna kompatibilnost — nije bila usluga korisniku, nego konopac koji ga vezuje za IBM na desetljeća unaprijed. Genijalno zlobno, ako ćemo iskreno. Kockarski ulog Thomasa Watsona Juniora, čovjeka koji je tada vodio IBM i potpisao ček od pet milijardi dolara, nije bio samo „hoće li ovo raditi” — bio je „hoće li nas ovo hraniti idućih trideset godina”. Mikrokod je bio tehnički alat. Vjernost kupca bila je poslovni cilj koji je taj alat trebao ostvariti.

Naravno, papir trpi sve, ali stvarnost 1964. godine bila je malo manje strpljiva. Ideja je bila jasna, lako izvediva na crtežu, i prodana kupcima u brošurama debelim kao telefonski imenik. Samo je netko trebao to i napisati — operativni sustav koji će te lijepo obećane instrukcije stvarno pretvoriti u posao na sedam različitih razina hardvera, od patuljka do diva. I baš tu, kao što ćemo vidjeti u sljedećem poglavlju, priča prestaje biti elegantna.

OS/360: softverski debakl ere
§ 03

OS/360: softverski debakl ere

Dok se hardver 360 slagao kao Lego kockice — kompatibilnost gore-dolje, mikrokod koji glumi jedinstvenu arhitekturu na sedam različitih strojeva — netko je u IBM-u odlučio da bi bilo lijepo kad bi svi ti strojevi imali i jedan operativni sustav. Za one koji ne znaju: operativni sustav je onaj temeljni softver koji upravlja cijelim strojem, dijeli posao između svih dijelova računala i drži sve ostale programe u redu — bez njega je i najskuplji hardver samo skupa hrpa metala koja ne zna što bi sama sa sobom. IBM je htio jedan takav sustav, ne sedam. Isti softver za malu tvrtku s jednim strojem u podrumu i za banku s dvorcem klimatiziranih ormara. Divna zamisao, bar na papiru.

Projekt se zvao OS/360 i trebao je biti taj univerzalni ljepilo-softver koji cijelu priču s kompatibilnošću pretvara iz marketinškog obećanja u nešto što stvarno radi. Plan je bio uobičajeno optimističan — u smislu da su ga pisali ljudi koji nikad prije nisu pisali nešto ovih razmjera, a to je, ispada, gotovo svatko u to doba. Softver takve veličine jednostavno nije postojao. Zamisli da ti je posao izgraditi najveći most na svijetu, ali nitko od tvog tima prije nije sagradio ni obični nadvožnjak — otprilike to su radili inženjeri OS/360. Nije postojao ni vokabular za probleme koji su ih čekali, a kamoli rješenja.

Rok je pucao redovito, kao budilica koju ignoriraš. Kasnilo se mjesecima, onda godinama. Trošak je bujao iz procjena koje su već bile pristojno velike, u brojke koje su tjerale ljude u IBM-ovoj administraciji da ponovno provjere je li zarez slučajno stavljen na krivo mjesto. Kad se sve prebrojalo — plaće, dodatni ljudi, dodatno vrijeme, dodatni ljudi da pokrpe kašnjenje koje su prouzročili prethodni dodatni ljudi — račun je otišao u stotine milijuna dolara. Za softver. Šezdesetih godina. Kad je softver bio ta stvar koju si dobio besplatno uz kupljeni stroj, kao vrećicu keksa uz avionsku kartu.

Čovjek koji je vodio ovaj cirkus zvao se Fred Brooks, i za razliku od gotovo svih menadžera velikih katastrofa u povijesti tehnologije — koji svoje neuspjehe pretvaraju u interne memorandume koje nitko nikad ne vidi, ili gore, u TED govore o rastu kroz padove — Brooks je poslije sjeo i napisao knjigu o tome što je pogriješio. Zvala se „Mitski čovjek-mjesec” (The Mythical Man-Month), izašla je 1975. i danas je vjerojatno najcitiranija knjiga o menadžmentu softvera koja postoji. Glavna poanta, poznata danas kao Brooksov zakon, glasi da dodavanje ljudi na projekt koji kasni ne ubrzava stvar, nego je dodatno usporava. Knjiga nije genijalna u onom smislu u kojem su genijalna otkrića u fizici. Genijalna je zato što je iskrena, a iskrenost je u ovoj industriji rjeđa od pouzdanog roka isporuke.

Iz te knjige dolazi rečenica koju bi trebalo tetovirati na čelo svakom produkt-menadžeru prije nego mu se dopusti pristup Slacku (alatu kojim danas cijeli ured, umjesto da netko ustane i priđe kolegi, šalje poruke preko interneta): dodavanje ljudi kasnom projektu ga ne ubrzava, nego usporava — i to ne malo, nego dramatično. Razlog je jednostavan: novi čovjek na projektu ne dolazi gol i praznih ruku spreman odmah raditi, dolazi s potrebom da mu se sve objasni, a to znači da netko drugi mora prestati raditi da bi ga uveo u posao. Uz to, broj linija komunikacije koje moraš održavati raste geometrijski s brojem ljudi, ne linearno. Deset ljudi znači četrdeset i pet mogućih parova koji moraju razgovarati da se ne posvađaju oko toga tko je što zaboravio. Dvadeset ljudi znači sto devedeset. Zabava.

OS/360 je konačno isporučen — kasno, skupo, ali funkcionalno; dovoljno funkcionalno da posao bude odrađen i da IBM ne mora javno priznati koliko ga je to zapravo koštalo. Kompanija je taj trošak progutala jer je to mogla podnijeti: hardver iz linije 360 prodavao se toliko dobro da je softverski debakl bio bolna, ali podnošljiva rana, a ne smrtonosna. Za manju firmu ovo bi bilo poglavlje u knjizi o bankrotu, ne redak u enciklopediji o pobjedi. IBM je imao taj luksuz da svoj najveći softverski neuspjeh pretvori u fusnotu uz svoj najveći hardverski uspjeh.

Isplata
§ 04

Isplata

E sad dolazi dio koji IBM-ovi dioničari vole, a Fred Brooks vjerojatno gleda s pomirenom gorčinom. Kocka se isplatila. Ne malo, ne skromno — nego onako kako se isplati jedino kad prodaješ nešto što svi žele, a nitko drugi ne može isporučiti u istoj mjeri. Narudžbe su počele stizati još prije nego što je stroj bio spreman za isporuku, a kad je System/360 konačno legao na police, pretvorile su se u poplavu. IBM je 1964. najavio proizvod, a firme su se gurale potpisati ugovore za mašinu koju nitko od njih još nije vidio uživo. To se ne događa s lošim proizvodima. To se događa kad kupac osjeti da mu prodaješ sigurnost, ne kutiju sa žicama.

Brojke, da ne pričamo u apstrakcijama: IBM je uložio oko pet milijardi dolara u razvoj i proizvodne kapacitete System/360 — a to je bilo 1964., ne zaboravi, kad je pet milijardi bio iznos koji je mijenjao proračune cijelih država, a ne marketinški slogan u prezentaciji za investitore. Do kraja desetljeća, IBM je od te iste linije proizvoda ubrao desetke milijardi dolara prihoda — povrat na ulog koji bi svaki analitičar danas oblizao usne gledajući ga u Excelu. I ne, ovo nije bio jednokratni hit koji se ugasi za dvije godine dok tržište krene dalje — ovo je bio temelj na kojem je IBM sjedio kao neprikosnoveni kralj poslovnog računalstva sljedeća dva, tri desetljeća. Kad danas kažeš „IBM” čovjeku koji ništa ne zna o računalima, on zamišlja upravo ovo: veliku, ozbiljnu, pouzdanu tvrtku u sivim odijelima. Taj imidž, taj cijeli kulturni artefakt zvan IBM, u velikoj mjeri se skovao baš ovdje, na ovoj kocki.

I tu se zatvara krug priče o unatražnoj kompatibilnosti (backward compatibility) koju smo spominjali ranije u ovom poglavlju — ideja koja je 1964. bila inženjerski trik da preživiš prijelaz s malog na veliki model, pretvorila se u ekonomsku silu koja danas tjera cijele industrije da ostanu vjerne platformi staroj šest desetljeća. Da budemo jasni oko čega se tu uopće čuva vjernost: mainframe nije tvoj kućni PC na steroidima, nego veliko, robusno korporativno računalo građeno za masovnu obradu podataka — ono na čemu banke, osiguravajuća društva i državne institucije danas vrte milijune transakcija dnevno, bez prava na pad sustava. Zato mainframe nikad nije umro, koliko su ga puta proglašavali mrtvim. Nije romantika, nije nostalgija — to je čisto računanje troška zamjene naspram troška održavanja. Kad ti sustav koji obrađuje milijarde transakcija dnevno radi, i radi dobro, migracija na nešto novo nije inženjerski projekt. To je poslovni rizik koji nijedan direktor ne želi potpisati svojim imenom.

Ako ikad tražiš definiciju najboljeg ROI-a — kratica za return on investment, odnosno povrat na uloženo, mjera koliko ti se vratilo za ono što si ulio u nešto — u povijesti tehnologije teško ćeš naći bolji kandidat od ove kocke. Pet milijardi uloga, desetljeća dominacije, i arhitektura koja i danas, tiho, u pozadini, drži na nogama dijelove svijeta o kojima nemaš pojma da postoje, dok ti kartica ne odbije transakciju. Thomas Watson Jr. je kockao firmu. Ispalo je da je kockao — i pobijedio — cijelu jednu eru računalstva.

Tko je platio cijenu
§ 05

Tko je platio cijenu

Dobro, računi su plaćeni, IBM je pobijedio, dionice rastu, Watson Jr. može mirno spati. Ali netko je tu kocku platio u gotovini koja se ne vidi u bilanci, i red je da se to prizna — jer „slijedi novac” ne znači samo pratiti tko je pokupio profit, znači i pronaći tko je ostao kratkih rukava dok se taj profit stvarao.

Prvi na popisu: tisuće inženjera i programera koji su OS/360 gurali kroz 1965. i 1966. u smjenama koje bi danas povukle sudsku tužbu i članak u novinama. Isti Brooks koji će uskoro napisati knjigu o ovom debaklu, u njoj spominje mjesece koji su se pretvarali u godine, ljude koji su dolazili u ured u subotu jer je petak bio „skoro gotov”, a subota se pretvorila u nedjelju. Nitko od njih nije dobio dionice. Dobili su plaću, prekovremene koji se često nisu ni plaćali kao prekovremeni jer su bili „na plaći”, i osjećaj da rade na najvažnijem projektu u industriji — što je, iskreno, bilo istinito, ali istina ne grije kad ti je pola tima na rubu izgaranja a datum isporuke izmiče kao fatamorgana.

Ono što Brooksa izdvaja od devedeset posto knjiga o menadžmentu koje ćeš danas naći na LinkedInu nije to da je pametan — puno je pametnih ljudi pisalo o softveru. Izdvaja ga to što je knjigu napisao o vlastitom debaklu, a ne o tuđem. On je bio jedan od menadžera koji je te ljude gurao kroz vikende, on je odobravao odluke koje su kasnile, on je taj koji kaže „evo, ovo sam zeznuo, i evo zašto”. To se u korporativnoj literaturi događa toliko rijetko da bi zaslužilo posebnu vrstu spomenika. Većina firmi napiše studiju slučaja o uspjehu; rijetko koja prizna neuspjeh dok je još na platnoj listi tvrtke koja ga je platila.

Drugi koji je platio cijenu, na svoj način, je Gene Amdahl — jedan od glavnih arhitekata System/360, čovjek koji je racionalno, matematički, dokazivo bio jedan od najpametnijih ljudi u toj zgradi. Otišao je iz IBM-a i osnovao svoju firmu koja je pravila kompatibilne klonove mainframea — dakle strojeve drugog proizvođača koji su vrtili potpuno isti softver kao IBM-ov, samo jeftinije, što je za IBM bilo isto kao kad bi ti netko otvorio pekarnu pored tvoje i prodavao identičan kruh po pola cijene, koristeći tvoj recept. Ironija je debela kao telefonski imenik: kompatibilnost koju je sam pomogao izgraditi kao IBM-ovu najveću prednost postala je oružje kojim je napao svog bivšeg poslodavca. Ista arhitektura koja je zaključala kupce unutar IBM-ova ekosustava otvorila je vrata svakome tko je bio spreman kopirati pravila igre bez plaćanja licencije za samu ideju.