Skytjenester åpner for innovasjon og forretningsutvikling
De fleste ledere opplever i dag at utvikling av nye tjenester og forretningsmodeller med få unntak innebærer bruk av informasjonsteknologi. Ut ifra hvordan tradisjonell, IT-basert utvikling foregår, jubler ikke alle ledere nødvendigvis over dette.
Årsaken er at ledelsen kan oppleve å miste oversikt over utviklingsprosessene – at prosessene kommer ut av deres kontroll fordi de har huller i IT-kompetansen. Selv den sterkeste leder kan føle seg hjelpeløs i visse sammenhenger!
Samtidig er det slik, at når ledere ikke får ledet prosesser, kan det oppstå forsinkelser, kostnadssprekk og løsninger som ikke samsvarer med forventningene. Det er rett og slett risikabelt for en leder å ikke ha hendene på rattet i kostnadskrevende realisering av strategi for skytjenester.
Skytjenester bringer med seg nye måter å jobbe på som styrker ledelsen og virksomhetens inngrep i IT-teknologien.
Ny samhandlingskultur med DevOps
Strategisk bruk av skytjenester innebærer rom for å jobbe annerledes med utvikling i organisasjonen. Organisasjonskulturelt dekker begrepet DevOps dette.
Begrepet DevOps er satt sammen av development (utvikling) og operations (drift). I stedet for at utviklere gjør seg ferdige med en applikasjon (dataprogram) og deretter overleverer dette til drift og bruk, så jobber utvikling og drift sammen.
To forhold er viktig for å forstå rekkevidden av dette:
- Utviklere er i en DevOps-kultur ikke synonymt med programmerere, men med alle som bidrar til utvikling av en applikasjon. Utviklerne blir dermed alle med eierskap på et eller annet nivå, til det applikasjonen skal gjøre. Styret og ledelsen, medarbeidere på for eksempel økonomi, kundeservice, verkstedet og logistikk, kanskje kundene selv, digitalbyrået inkludert UX-eksperter (brukergrensesnitt) og naturligvis IT-medarbeidere. Alle kan delta med sin egen spisskompetanse som de er trygge på.
- Applikasjonen hverken kravspesifiseres eller utvikles ferdig i ett eneste stort, langvarig prosjekt. I stedet kodes idéene ganske raskt opp (MVP – minimum viable product) til noe som kan bli prøvd i praksis og bygges på videre ut ifra tilbakemeldinger fra brukerne. På denne måten sikrer man seg raskt «pay back» og unngår samtidig massive investeringer i noe stort og dyrt som kan floppe.
En annen, viktig implikasjon av skytjenester er at skyen skaper rom for å gjøre ting på nye måter.
Et velkjent eksempel på dette er å flytte omsetning fra butikk til nett, unektelig ved hjelp av skytjenester. Da kan det oppstå behov for å øke bemanningen på kundeservice og support, og etablere et logistikksystem som kan håndtere den nye leveransemodellen.
Ergo kan bruk av skytjenester også gi store organisatoriske implikasjoner.
Teknikken er forandret, ikke flyttet
Å kunne jobbe etter DevOps-måten med tjenesteutvikling er attraktivt og nytt. Når dette ikke i særlig grad har vært mulig tidligere, skyldes det at de tekniske sidene av skytjenester har banet vei for det. Teknikken er forandret, ikke bare flyttet.
Tidligere ble programvare skrevet som såkalte monolitter. Man lagde hele dataprogrammet – eller et relativt begrenset antall, store komponenter – og så lanserte man det. Det kunne ta mange måneder før det var mulig å rette feil eller tilføre annen funksjonalitet. Dimensjonene gjorde det dessuten mindre aktuelt for virksomheter å lage egne applikasjoner. For mange ble det kun aktuelt å få gjort tilpasninger av systemer som andre hadde lagd. IT-avdelingen jobbet med drift.
I skyen kan applikasjoner bygges litt etter litt, med ulike mikrotjenester. En tjeneste utfører én eller et sett funksjoner. For nye funksjoner tukler du ikke med ferdige mikrotjenester, men føyer til en ny. Feilretting skjer kun i berørte mikrotjenester – her er ingen monolitt eller stor komponent som skal oppdateres. Tekniske stikkord her er container-teknologier som Docker og Kubernetes.
Nettopp dette er kanskje noe av det aller mest spennende og strategisk viktige med skytjenester. Med et multifunksjonelt DevOps-team i føringen, kan virksomheter gradvis realisere nye tjenester og forretningsmodeller. Skytjenestene blir testet «live» underveis. Som følge av dette har IT-avdelingen i mange virksomheter gått fra drift og support til å jobbe med digital forretningsutvikling for ledelsen.
Kontinuerlig utvikling
Basert på tradisjonell IT-utvikling er det lett å tenke seg at en virksomhet utvikler en applikasjon helt ferdig, og så tar den i bruk. Ser vi rundt oss, erkjenner vi raskt at verden ikke er slik lenger.
Enten vi forholder oss til offentlige eller private virksomheter, opplever vi nå at tjenestene deres forandrer seg. Nettbanken i dag er litt annerledes enn i går, Facebook har fått nye funksjoner, Altinn har fått nye muligheter, reisetjenesten er blitt forbedret osv.
Dette er et resultat av at monolittene er forlatt til fordel for skyteknologi. Mens det før kunne gå lang tid før en programvareoppdatering skjedde, sørger nå metoder for Continuous Development at utviklere kontinuerlig kan levere (Continuous Delivery) ny kode inn i skyapplikasjonen.
Å tilføre muligheter eller rette feil er derfor noe som kan skje helt kontinuerlig. For noen; 4-5 ganger om dagen. For de virkelig store kan det dreie seg om flere hundre, kanskje flere tusen.
Sikre mobilitet
I en god strategi for skytjenester bør det ligge et DevOps-løp hvor ledere på forhånd har sikret seg kontroll på kostnader, utnyttelse av muligheter inkludert kunstig intelligens / artificial intelligence, IoT og Big Data, og ikke minst trygghet for at løsningene vil virke på lanseringsdagen.
Et viktig moment ved bruk av skytjenester i offentlig sektor er for eksempel at oppgaver regelmessig skal settes ut på anbud. Dersom man har etablert seg godt inn i skyen til én skyleverandør uten tanke på et fremtidig leverandørbytte, kan offentlig virksomheter komme i en situasjon hvor de ikke har reell mulighet til å flytte på seg eller må bygge alt på nytt fra bunnen av.
Dette vil være problematisk enten av konkurransemessige eller kostnadsmessige årsaker. En måte å redusere risikoen på, er å bygge skytjenester som Infrastructure as code (IaC). Noe forenklet programmerer man da opp hvordan skytjenestene skal konfigureres i stedet for å gjøre det manuelt.
Til dette kreves kompetanse om programmeringen og om valg av teknologi i skyen. For eksempel finnes mange ulike containertjenester i skyen. For øyeblikket er Docker-konteinere og Kubernetes konteinerstyring tjenester som vi finner hos alle de største skyleverandørene, inkludert Microsoft Azure, AWS og Google Cloud Platform (GCP). Ved å bygge IaC som inkluderer denne teknologien, vil det være langt enklere å flytte til en annen sky sammenlignet med å benytte konteinerteknologi som kun blir brukt i én sky.