Programspråket Cobol har funnits i 64 år i en eller annan form. I många organisationer gör sig språkets ålder påmind. Medarbetare som kan hålla stordatorbaserade Cobol-applikationer i gång blir allt svårare att hitta, bland annat för att de flesta utbildningar i datorvetenskap har slutat att lära ut språket.

Hur viktiga – och sköra – dessa system är blev tydligt i april 2020. Då, mitt under covidpandemin, började delstatliga myndigheter i USA skicka ut desperata efterlysningar av Cobol-programmerare. De ombads att ställa upp som frivilliga eller att rycka in efter pensionen för att hålla knakande arbetslöshetskassor rullande trots efterfrågan som aldrig tidigare skådats.

Och det beror på att Cobol, trots en aktningsvärda ålder på 61 år, fortfarande används av många storbanker, försäkringsbolag och offentliga inrättningar för att köra kritiska transaktionsprocesser, som att betala ut arbetslöshetsersättning eller mata ut pengar från bankomater.

Cobol gör jobbet, men är svårt att underhålla och integrera

– Det här är tjugo, trettio år gamla program som har tjänat verksamheten bra, men de samlar på sig en teknisk skuld och är väldigt specifika för respektive verksamhet. Cobol är rikt på funktioner, men det råkar köras på en plattform som är restriktiv, och det spelar inte med andra, moderna system, säger Tim Jones, ansvarig för applikationsmodernisering på brittiska mjukvaruleverantören Advanced.

Han ser dubbelkrisen för stordatorer och Cobol med tillhörande kostnadsproblem och behovet av att bibehålla konkurrenskraften med hjälpa av tekniska innovationer som främsta drivkraften för de organisationer som lämnar Cobol i dag, i synnerhet applikationer som fortfarande körs på stordatorer.

– Det handlar inte bara om Cobol-kompetens. Det är ett bredare problem som gäller modernisering av äldre problem, och Cobol är bara en faktor, säger Tim Jones:

– Att integrera moderna, mobila och molnsystem med stordatorer är riktigt svårt. Om du tänker på dina konkurrensfördelar så kommer du att halka efter om du kör stordator. Om du går igenom en digital omställning så kommer du förr eller senare att behöva ta itu med elefanten i rummet: den väldiga stordatorn som står i hörnet och hyser 70 procent av dina verksamhetsapplikationer.

– Så länge som de lasterna bor i stordatorn så kommer det att finnas goda skäl att flytta bort från Cobol, säger Markus Zahn, ansvarig för nya stordatorer på tyska Commerzbank:

– Det kan ha att göra med resursbrist orsakad av demografiska förändringar eller med förändringar av kundernas förväntningar på snabb tillgång till data.

Hur man moderniserar Cobol-applikationer

För laster där den saken redan är klart finns det flera sätt att befria sig från Cobols nedärvda begränsningar. Du kan försöka hitta liknande program i en box, göra en direkt flytt utan ändringar av hela applikationen till en billigare infrastruktur eller satsa på en komplett omarbetning av applikationen i ett modernt programspråk som Java eller C#. Men det finns faror med alla de lösningarna.

Med att flytta direkt (”lift-and-shift”) menar vi att flytta en oförändrad kopia av en applikation från en gammal plattform till en mer modern. Det görs inga förändringar i applikationens uppbyggnad. Detta brukar förutsätta att man använder en emulator på målplattformen för att applikationen ska kunna köras som tidigare.

Men en direktflytt ger kanske inte de långsiktiga fördelar som många organisationer vill ha.

– Lift-and-shift var en populär strategi för tio år sedan, men i dag brukar organisationerna vilja ha mer värde från moderniseringsprojekt, säger Tim Jones:

– Inte bara det att de vill minska driftskostnaderna, de behöver bli mer snabbfotade för att möta marknadens krav, leverera framtidsklara tekniker, ta till sig moderna praktiker för moln och modern utveckling och driva på it-innovation för att stötta verksamheten.

Sedan har vi alternativet att skriva om allt från grunden. Applikationen delas upp i småbitar och det hela skrivs om i ett modernt programspråk.

– Problemet med att skriva om är att när du tittar på något sådant och på verksamhetens krav, så ser du att de här systemen trettio år gamla, dokumentationen är nästan obefintlig och det finns ingen som behärskar det hela från början till slut. Så det tar tid, säger Tim Jones:

– Om du gör det rätt så får du något helt igenom molnäkta att visa upp – men när du har blivit klar med allting så kan du redan ha halkat efter.

I stället satsar många organisationer på en gyllene medelväg som kallas för kodrefaktorering. Det innebär omstrukturering av koden, ofta med användning av automatiska refaktoreringsprogram från specialiserade företag. Tekniken bevarar den existerande verksamhetslogiken, men ger bättre prestanda och mer portabilitet utan drastiska förändringar av kärnfunktionerna.

– Det här är lösningen som verkar ha mest framgång, säger Mark Cresswell, verkställande styrelseordförande på Lzlabs, ett företag som specialiserar sig på modernisering av stordatorapplikationer.

Här är två exempel på hur organisationer har frigjort sig från stordatorbaserad Cobol. Båda organisationerna har använt refaktorering och automatiska refaktoreringsprogram för att modernisera sina applikationer.

Så skrotade brittiska DWP stordatorn

Storbritanniens Department for work and pensions, DWP, ansvarar för utbetalningar av socialbidrag, pensioner och underhåll till barn och betjänar upp till 20 miljoner personer varje år. DWP valde en försiktig omgörning av sina Cobol-applikationer i stället för direktflytt med stordatoremulering.

Så sent som 2015 var många av de system som hanterade utbetalningarna – inklusive pensioner till krigsveteraner och arbetslöshetsersättningar – fortfarande skrivna i Cobol. De kördes på ICL-stordatorer som var inhysta av dåvarande Hewlett-Packard.

– Som du säkert förstår är det en riktigt dyr plattform att stötta och underhålla, säger Andy Jones, första infrastruktursingenjör på DWP.

Kostnaderna för att hålla i gång den gamla infrastrukturen som drev dessa system, plus att det blev allt svårare för it-avdelningen att rekrytera och behålla personal som kunde underhålla stordatorbaserade Cobol-applikationer, gjorde det uppenbart att det var dags att uppdatera 25 miljoner rader med kod. Detta innan support för VME, stordatorernas operativsystem, skulle upphöra i december 2020.

– Detta handlade först och främst om infrastrukturen som stöttar Cobol-koden, alltså ICL:s infrastruktur, som hade åldrats, och de personer som satt inne med expertisen om hur man underhåller det åldrades också, säger Mark Bell, ansvarig för programmet för att ersätta VME på DWP.

Och detta var inte det första försöket som DWP:s tekniker gjort för att flytta från dessa äldre system. Under årens lopp har det gjort minst fyra försök att modernisera dessa utbetalningssystem. Bland annat har man försökt skriva om Cobol-koden i Java, men det misslyckades. När nu plattformen på allvar närmade sig slutet av sin livscykel bestämde man sig för en enklare strategi. Experter på applikationsmodernisering från Advanced anlitades.

Deras strategi innebar kodkonvertering från Cobol till det mer moderna, objektorienterade Micro Focus Visual Cobol och flytt från operativsystemet VME till Red Hat Linux, inhyst på privata molnservrar av Crown Hosting Data Centres, ett företag som är samägt av brittiska statsförvaltningen och privata Ark Data Centres. Mer än tio miljarder rader data skulle också flyttas från den slutna och hierarkiska databasen IDMSX till Oracles relationsdatabaser.

För er som undrar är Micro Focus Visual Cobol ett moderniserat utförande av Cobol, framtaget för att ge tillgång till mer moderna utvecklingsmiljöer och begrepp:

– Det är viktigt att det erbjuder stöd för blandade språk, vilket innebär att du kan ta in Java och C#-utvecklare. De kan skriva nya program som kan integreras skarvlöst med existerande Cobol-program, allt inom ramen för samma utvecklingsmiljö, säger Tim Jones på Advanced.

Arbetet inleddes med det minsta systemet. Det betalar ut 1,5 miljarder pund varje månad i bostadstillägg i klumpsummor till ungefär 360 lokala myndigheter. Den nya koden testades jämsides med originalkoden under fyra veckor. När alla var säkra på att det inte skulle uppstå några problem slog teknikerna över till det nya systemet i februari 2018.

Sedan gick DWP:s tekniker och specialisterna från Advanced från system till system. De konverterade DWP:s största tjänst, understöd till arbetssökande, under påsken 2020 – precis när covidpandemin började drabba Storbritannien:

– Det blev en intensiv tid när vi skulle migrera en applikation för en tjänst som just då fick en stormflod av ansökningar på grund av covid, säger Mark Bell.

Efter det återstod tre mindre system. Myndigheten var fri från sina stordatorbaserade Cobol-applikationer i januari 2021.

Besparingarna och prestandaförbättringarna har redan varit betydande för myndigheten:

– Den här mer moderna driftmodellen gör att vi kan minska på resurserna och supporten, säger Mark Bell.

När det gäller prestanda brukade utbetalningarna till arbetssökande köras i flera fyratimmarsbatchar. Nu är de klara på en timme.

Det nya molnbaserade arrangemanget med Micro Focus Visual Cobol kan verka som att skjuta problemet framför sig, eftersom det fortfarande är ett utförande av Cobol. Men det ger organisationen möjlighet att vara mer responsiv och modern i hanteringen av mjukvara. Uppdateringar till de gamla, monolitiska Cobol-systemen kunde tas i bruk en eller två gånger om året, men de nya objektorienterade systemen gör att mindre, regelbundet återkommande förändringar kan göras av utvecklarna.

Utvecklarna kan också experimentera i en utvecklings- och testmiljö i Amazon web services (AWS), byggt av en uppsättning återanvändbara api:er för exponering av viktiga datakällor, och köra förändringarna genom en CI/CD-pipe. Övergången till Micro Focus Visual Cobol öppnar också en dörr för en mer drastisk omgörning i språk som Java eller C Sharp i framtiden.

New York Times levererar efter Cobol-omgörning

New York Times behövde också uppdatera applikationen som hanterade dess tidningsutbärning. 2015 var applikationen 35 år gammal, skriven i Cobol. Den kördes på en IBM Z-stordator. Tidningsförlaget ville konvertera applikationen till Java och köra den i molnet med AWS. Den hade blivit dyr att underhålla och kunde inte integreras med andra, mer moderna system.

Försök att skriva om tidningsutbärningsapplikationen 2006–2009 hade redan misslyckats. Applikationen förblev orörd fram till 2015. Då körde den 600 batchjobb dagligen. 3500 filer sändes varje dag till konsumenter och system. Det omfattade tre terabyte med data, och 20 terabyte med backupdata sparades.

Det året beslöt sig förlagets it-tekniker att välja en strategi där kod och data skulle migreras med användning av kodrefaktorering. De skulle använda ett proprietärt automatiserat refaktoreringsprogram från Modern Systems (senare uppköpt av Advanced). Programkoden konverterades till Java och data överfördes från indexerade filer till en relationsdatabas från Oracle. Processen tog två år, och efter att ha körts i två år i ett privat datacenter migrerades den nya applikationen, Aristo, till AWS i mars 2018 efter ytterligare åtta månaders arbete.

– Om New York Times hade haft en molnstrategi på plats redan innan de inledde stordatormigreringen skulle företaget ha valt att migrera stordatorn direkt till AWS och därmed sluppit extraarbetet med att utforma och realisera Aristo i eget datacenter, står det i en AWS-bloggpost om projektet.

Nu har utbärningssystemet integrerats i en mer modern digital prenumerationsplattform, som har byggts, körs och underhålla av prenumerationsplattformgruppen på New York Times. Det har bidragit till att minska ägandekostnaderna för Aristo-applikationen med 70 procent per år.

Läs även: Snart går alla Cobol-experter i pension. Vem ska ta hand om stordatorerna då?