Analyseselskapet Gartner har de siste månedene levert flere rapporter, presentasjoner og synspunkter der begrepet «tera-arkitektur» står sentralt.
Fra et maskinvaresynspunkt definerer Gartner tera-arkitektur som en super-grid, der mengder av standardkomponenter samles og tilbys brukerne gjennom et lag med virtualisering. Gartners typiske eksempel på dette er Googles tera-arkitektur med 170 000 servere, ordnet slik at feil på individuelle komponenter knapt merkes. Ressurser fordeles på tjenester etter behov. I tillegg til besparelser innen selve maskinvaren, tror Gartner at virtualisering kan rundt doble utnyttelsesgraden av hver komponent.
En egenskap ved tera-arkitekturen er at den framhever skalering «utover» framfor «oppover».
Det vil si at man i stedet for å oppgradere maskinvaren til kraftigere enheter når man trenger mer ytelse, legger til flere maskiner. Dette gjelder ikke bare for dem som satser på store mengder bladservere fra Intel eller AMD. Det er også en del av den nye stormaskintankegangen, der man legger til prosessorer, gjerne spesialiserte prosessorer for Linux, Java, databaser og så videre, når man trenger mer ytelse. Virtualiseringslaget skjuler det komplekse og i stadig større grad automatiserte samspillet mellom maskinvarekomponentene.
På programvaresiden poengterer Gartner at noe liknende er i ferd med å skje der: Det er ikke lenger hensiktsmessig å forhold seg til «monolottiske» bedriftsapplikasjoner. IT-løsninger som tvinger organisasjoner i bestemte måter å gjøre ting på, strider mot forretningslivets krav til smidighet og raske tilpasninger til nye betingelser og muligheter.
Når analyse- og beslutningsstøttesystemet viser hvilke nye muligheter som åpner seg, er det uutholdelig at ERP, CRM og de øvrige systemene er så fastlåste at de gjør det uoverkommelig å legge om kursen uten måneder med omlegging.
Gartners løsning på dette er «real-time enterprise», altså en bedrift der man raskt gjør seg bevisst både muligheter og utfordringer, og evner å reagere kjapt.
Dette fordrer igjen det de kaller «real-time infrastructure», RTI, altså en IT-infrastruktur som støtter opp om evnen til å se og reagere raskt.
En forutsetning for dette er at logikken i bedriftsapplikasjoner må være tilgjengelig utenfra, i form av moduler eller tjenester. Når det dukker opp situasjoner som applikasjonsleverandøren ikke har forutsett, kan bedriften stokke om på de eksisterende tjenestene og legge til nye for å få til de endringene de trenger. Dette er essensen i den tjenesteorienterte arkitekturen eller SOA (service oriented architecture).
Fordelen med SOA er at logikk og data kan gjenbrukes, og at tjenester fra flere applikasjoner kan samles til nye «sammensatte applikasjoner» («composite applications») bestående av kjeder av tjenester. På den andre siden, ifølge Gartner, lider SOA av den svakheten at den fortsatt trekker veksler på enhetlige applikasjoner og at statusen til hver av dem lagres internt, det vil si at den ikke nødvendigvis vil kunne rekonstrueres hvis det oppstår en feil.
– I dag er bedrifter fortsatt i et tidlig stadium i overgang til SOA, sier Gartner-analytiker Steve Prentice. – Innen 2008 vil bedrifter sannsynligvis måtte forholde seg til mange hundre tjenester, framfor noen få titalls slik tilfellet er i dag.
Det økende mangfoldet av tjenester vil følge av at de individuelle applikasjonene modulariseres i stadig større grad, slik at mer og mer av logikken deres blir tilgjengelig eksternt. Derfor må man over til et nytt stadium innen bedriftsapplikasjoner, til det Gartner kaller «hendelses-drevet arkitektur», «event driven architecture» eller EDA.
– Hendelser bygger på varsling, «notification», altså en annen form for meldinger enn de tosidige samhandlingene som kjennetegner både monolottiske applikasjoner og SOA, sier Prentice. – Varsling er både mer skalerbart og fleksibelt enn meldingsutveksling.
Prentice understreker at han ikke venter at EDA vil erstatte SOA.
– De tre arkitekturene for bedriftsapplikasjoner, det vil si den monolottiske, den tjenesteorienterte og den hendelsesdrevne, vil eksistere samtidig. Poenget er at den hendelsesdrevne vil gjøre sammensatte applikasjoner uavhengig av den interne tilstanden i de monolottiske applikasjonene.
Betydningen av dette er at den sammensatte bedriftsapplikasjonen får en struktur som speiler grid-strukturen i maskinvaren: En mengde standardiserte og uavhengig komponenter som samspiller for å produsere de tjenestene man trenger til enhver tid, og som kontrolleres samlet, med nye verktøy.
Dette fenomenet kaller Gartner for «software granularity», altså kornethet innen programvare. Den speiler kornetheten innen maskinvare. Den helhetlige trend for maskin- og programvare er lik, noe Gartner illustrerer slik:
Med denne arkitekturen forventer Gartner blant annet at også en programvarekomponent vil kunne feile, uten at det påvirker forretningsprosessen den inngår i, likevel lykkes.
– Kombinasjonen av tjenesteorientert og hendelsesdrevet arkitektur vil være alminnelig blant store bedrifter innen 2001, tror Prentice.
Som et a propos trekker han fram hva slags følger dette kan få for programvarelisensiering.
– I dag betaler man for programvare per prosessor. Når alle kjører på virtuelle servere, er det ingen som vet hvor mange fysiske prosessorer en gitt applikasjon bruker til enhver tid. Når alle applikasjoner leverer tjenester, vil kanskje kunden presse på for bare å betale for de tjenestene som faktisk brukes. Og når det bygges opp sammensatte applikasjoner, hvordan skal man beregne hva som skal betales til hvem?
Hans korte sluttobservasjon er:
– Lisensieringsmodellene i dag er ikke godt nok innrettet på kundenes forretningsmessige behov.