nettsky

Slik fikk smarte strømmålere fart på Elvias skyreise

Hadde knapt utviklere før 2016.

De automatiske strømmålerne bidro til store endringer i IT-satsingen til daværende Hafslund Nett, som i dag er en del av Elvia.
De automatiske strømmålerne bidro til store endringer i IT-satsingen til daværende Hafslund Nett, som i dag er en del av Elvia.

Fram til utrullingen av de automatiske strømmålerne (AMS – Avanserte måle- og styringssystemer) startet i 2016, var ikke IT-utvikling noe det ble drevet noe særlig med i daværende Hafslund Nett, som 1. januar 2020 fusjonerte med Eidsiva Nett og ble til Norges største strømnettselskap, Elvia.

Med AMS ble det en helt annen verden.

– Tidligere kjøpte vi fagsystemer som ble håndtert i en slags siloer, med noen ansatte som jobbet med hvert av systemene og med konsulentselskaper som eksperter på de ulike systemene, sier teknologidirektør Ståle Heitmann til Digi.no.

Han startet i Hafslund Nett i 2014 og har dermed fått være med på hele den store utviklingen som har skjedd på IT-siden i selskapet siden da.

Var førstemann

–Jeg hadde flaks og var førstemann inn. På denne tiden var jeg konsulent med bakgrunn fra systemutvikling i vanlige, store prosjekter i både offentlig og privat sektor. Denne typen mennesker, med klassisk IT-utviklerkompetanse, hadde ennå ikke vært inne i denne sfæren i selskapet, forteller Heitmann.

Med AMS innførte Hafslund Nett en del nye systemer og helt nye data. Fordi utrullingen av målerne gikk over hele tre år, skjedde forflytningen gradvis. Ifølge Heiman begynte det med en ny måte å tenke integrasjon på.

Ståle Heitmann er CTO i Elvia, hvor han jobber med utvikling av egne løsninger og tilgang til data. Foto: Privat
Ståle Heitmann er CTO i Elvia, hvor han jobber med utvikling av egne løsninger og tilgang til data.

– Da endte vi raskt opp med at vi måtte skrive litt kode selv. Det ble startet på dette i det små. Plattformen vi har i dag, ble til ved å bygge stein på stein uten at vi visste at vi holdt på å lage en plattform da vi startet. Samtidig har vi betalt den tekniske gjelden og gjort de nødvendige endringene etter hvert som vi har lært mer, forteller han.

På det tidspunktet hadde Hafslund Nett allerede til en viss grad tatt i bruk Microsoft Azure.

– Men det ble på denne tiden ikke brukt på den måten jeg kaller sky. Bare istedenfor å ha de virtuelle maskinene i et datasenter i Norge, så hadde de dem i skyen. Det er ikke noen «game changer», egentlig. Det var først da vi begynte med PaaS-tjenester, at det ble litt mer fart på det, sier Heitmann.

Enkelt var det likevel ikke.

Den farlige +-knappen

– Da gikk vi nok i alle de fellene vi kunne. Sky er kult fordi det er så lett, men det er også farlig av samme grunn. Det er så veldig lett å klikke på en knapp og lage et eller annet – en database eller en kul tjeneste som skalerer herfra til evigheten – og sette i gang å bruke det. Det gjorde vi da også, og vi har fått betale for det i ettertid, forteller Heitmann.

Sky er kult fordi det er så lett, men det er også farlig av samme grunn

Ståle Heitmann

– I alle demoer av nettskyen, på konferanser og sånt, vises det en «+-knapp» for å opprette noe nytt. Men det er akkurat den knappen du ikke bør trykke på. Det er jo ikke en repeterbar prosess.

Ifølge Heitmann har du bare kommet halvveis når du har kontroll på koden din og har tatt i bruk skytjenestene.

– Det er først når du har automatisert alt – og i alle fall de databasene, nettverkskomponentene, loggeløsningene, køer og alt som skal til for å få applikasjonen din til å fungere både isolert sett og i helheten – altså kommunisere med andre ting, at du har kommet i mål, sier han.

Hackerangrep mot strømnettet:

Slik beskytter Norges største strømleverandør seg mot angrep

Måtte ha en grunnmur

Dette var noe IT-folkene hos Hafslund Nett lærte underveis. De trykket på den nevnte +-knappen og hadde et opplegg for å rulle ut nye versjoner av tjenester som ifølge Heitmann ikke var veldig strømlinjeformet.

– Det var litt opp til den enkelte utvikleren, og utviklerne hos oss er fortsatt mye konsulenter. Det er flinke folk, men har du ti flinke folk som lager ti forskjellige løsninger, så får du også ti forskjellige måter å rulle ut tjenestene på. Alle er kanskje godt håndverk, men det er likevel ti forskjellige måter, forteller Heitmann.

Selskapet innså etter hvert at det måtte ha en grunnmur med noen regler for å være endringsdyktig i sine digitale løsninger. Dette handlet blant annet om navngivning og hvordan man deler opp IT-systemene i håndterbare bokser, helst knyttet til organisasjonen og forretningen for øvrig. Ifølge Heitmann er dette inspirert av domenedrevet design og kategorisering av porteføljen.

– Det går også helt ned på et nivå for kildekodekontroll og hvordan du bruker Git og forgrening og sammenslåinger, samt kontinuerlig leveranse basert på hendelser i kildekodesystemet og at infrastrukturen er omfattet av det samme, forteller han, før han tenker tilbake på hvordan ting gjerne fungerte for noen år tilbake.

De gule lappene

– Da satt de og programmerte og oppdaget at det trengtes en ny tabell i databasen. Det måtte du huske å skrive på en gul lapp, for man gjorde endringen bare på sin egen maskin, hvor det var en form for kopi av systemet. Så kom den lykkelige dagen – kanskje én gang hvert halvår – som alle egentlig grudde seg ganske mye til, hvor de skulle få dette ut i produksjon. Da handlet det egentlig om å raske sammen alle de gule lappene.

Heitmann mener at det fortsatt er slik hos mange i bransjen. De har innkjøpte fagsystemer som oppgraderes en sjelden gang.

– Når du får mailen «vi skulle egentlig ha vært ferdige klokken åtte i kveld, men det tar litt lengre tid», så skjønner du hva som har skjedd. Da har de glemt både den ene og den andre gule lappen. De får det ikke til å funke fordi de for eksempel har glemt å autorisere den programmatiske brukeren som tjenesten kjører i kontekst av i databasesystemet. Du glemmer slike ting, og så fungerer ikke løsningen. Og den som programmerte dette, er sikkert ikke med på denne utrullingen, sier Heitmann.

Automatisk konfigurering av IT-infrastruktur

Elvia benytter i dag produktet Terraform fra selskapet Hashicorp for å løse dette. I utgangspunktet er dette gratis programvare med åpen kildekode. Dette er et system for automatisk konfigurering av IT-infrastruktur, både i skytjenester og i lokale datasentre. Ved hjelp av en tekstbasert konfigurasjonsfil kan infrastrukturen beskrives og rulles ut automatisk, uavhengig av om det dreier seg om virtuelle maskiner, programvaredefinerte nettverk, databasetabeller eller lastbalanserere. Siden Terraform vet hva infrastrukturen består av, kan verktøyet også automatisk lage en plan for hvordan infrastrukturen skal tas ned igjen.

Det er lettere å gjøre det ordentlig enn å gjøre det feil

Ståle Heitmann

Heitmann forteller at slik Elvia i dag bruker Terraform, er i prinsippet ikke problemer som de med de bortglemte, gule lappene mulig, fordi endringene som må gjøres i infrastrukturen, også må skrives inn i kildekoden.

– Dermed blir det på en måte mye mindre risiko for feil og mye mindre jobb. Det gir en helt annen og mye deiligere hverdag for alle, både for kundene og dem som bruker systemet og for oss som utvikler og leverer dem. Det er jo automatisert. Vi vet hvordan vi skal gjøre dette, og det er lettere å gjøre det ordentlig enn å gjøre det feil, mener Heitmann.

Han legger dog til at det ikke er noen virkelig magi med Terraform og beskriver tiden fra selskapet ble oppmerksomme på løsningen – rundt 2016 – og fram til nå som en modenhetsreise.

– Det er noe du må lære deg å bruke ordentlig, men jeg tør påstå at det for oss nå er omtrent like lett å gjøre det ordentlig i kildekode som å trykke på den nevnte +-knappen. Men nå vet du at det er en repeterbar prosess, sier Heitmann.

Entusiastene tar selskapet videre

Årsaken til at daværende Hafslund Nett begynte å utforske bruken av Terraform, er ifølge Heitmann at det ligger litt kulturelt i selskapet at det ikke er redd for å begynne med ting som ser lure ut.

– Dette er en kjempefordel hos oss, men også en ulempe. Vi begynner litt i det små, i en krok. Slik var det også med Terraform, hvor noen entusiaster startet med noen utvalgte systemer. De gjør ting som tar firmaet videre, men som de også vet at de kommer til å angre på, fordi de ikke skjønner hvordan alt fungerer ennå, forteller Heitmann.

I den sammenheng nevner han muligheten for gjenbrukbare moduler, som han omtaler som en reise hvor de involverte skjønte bedre og bedre hvordan en modul bør se ut.

– Alt vi lager nå, skiper vi ut som moduler. Når vi vil ha et system med for eksempel en SQL-server i skyen, så gjør vi et kall til en ferdig modul som vi tidligere har laget, og den passer på en masse navnekonvesjoner, regler og sikkerhetsting, forklarer Heitmann.

Beskriver tilstanden, ikke veien dit

Han nevner også det som kalles for tilstandsfilen.

I Terraform beskriver man den ønskede infrastrukturen med et tilstandsbasert språk. Det vil si at man istedenfor å skrive hva som må gjøres for å komme fram til et mål, beskriver hva som skal være tilstanden til slutt.

I Terraform beskrives infrastrukturkonfigurasjonen med språket HashiCorp Configuration Language. Skjermbilde: Hashicorp
I Terraform beskrives infrastrukturkonfigurasjonen med språket HashiCorp Configuration Language. Skjermbilde: Hashicorp

– Magien i Terraform er at det vet alle de små stegene som å gjøres for å komme til denne tilstanden. Når du har gjort dette, lagres dette i en tilstandsfil. Den er meget, meget viktig å holde kontroll på. Det kan dukke opp «race condition»-problemer hvis flere gjør noe samtidig. Og roter du den bort, da er du på en måte på egen hånd igjen, forteller Heitmann.

Han sammenligner Terraform med en motorsag – et effektivt verktøy, men er man uforsiktig, risikerer man å kunne av seg beinet. Det å miste tilstandsfilen, er ekvivalenten til nettopp dette.

Fra gratisversjon til tjeneste

Fra starten av brukte Elvia gratisversjonen av Terraform, men etter hvert valgte de å gå over til Terraform Enterprise, en betalt tjeneste.

Marius Matonis er tech lead i Elvia og har vært ansatt der siden 2019. Han jobber med utviklingsplattformen for kjernesystemer og har ansvar for at systemene bygges i henhold til anbefalt praksis. I tillegg sørger han for at intern kompetanse, rutiner og praksis er til stede. Foto: Privat
Marius Matonis er tech lead i Elvia og har vært ansatt der siden 2019. Han jobber med utviklingsplattformen for kjernesystemer og har ansvar for at systemene bygges i henhold til anbefalt praksis. I tillegg sørger han for at intern kompetanse, rutiner og praksis er til stede.

– En av de store fordelene med denne løsningen, er at tilstanden håndteres der. Da trenger man ikke tenke på hvor det lagres eller hvordan vi styrer tilgangen til dette, forteller Marius Matonis, tech lead i Elvia, til Digi.no.

En annen fordel de to nevner, er at man får ett sted å se en salgskatalog over det som kalles for «workspaces» (arbeidsflater) i Terraform. Dette er en form for samlinger med infrastrukturressurser, og de fleste som bruker Terraform, har flere slike samlinger, for eksempel for ulike applikasjoner og versjoner.

– Hvert system vi har, for eksempel kundeweben, som er tilgjengelig fra elvia.no, er det tre versjoner av. Det er prod-versjonen som du ser på internett, men også en dev- og en testversjon. Vi kan også rulle ut enda flere versjoner hvis vi ønsker. Med Terraform er det raskt gjort å få det opp eller å ta det ned igjen, forteller Heitmann.

Unngår krumspring

Elvia har integrert alt dette med et annet produkt fra Hashicorp, nemlig Vault.

– Det gjør at vi har fått til helt sømløs distribusjon av tilgangsinfo og hemmeligheter basert på identitet – det vil si identiteten til utviklere, testmiljø og mikrotjenester basert på Kybernetes tjenestekontoer, forteller Heitmann.

– Dette har gjort ting sikrere, men også at det for utviklere er enklere å teste på egen maskin uten å gjøre masse krumspring, som å putte nøkler i kildekoden. Utvikleren er identifisert som seg selv via Github. Er du utvikler i et bestemt team, har du akkurat de samme tilgangene som om du er en mikrotjeneste og kan bevise at du tilhører et «namespace», forklarer Heitmann.

Ifølge Matonis skaper bruken av Hashicorp-produktene engasjement blant utviklerne i selskapet.

– Både interne utviklere og eksterne konsulenter som begynner å jobbe hos oss, har veldig ofte lyst til å teste og videreutvikle de modulene vi har internt, forteller han.

Kjører fortsatt det viktigste på «bakken»

Alt det nevnte gjelder det de to omtaler som den nye skyplattformen. I tillegg har Elvia mange systemer som fortsatt er i den gamle verdenen. Dette inkluderer blant annet store fagsystemer. Og, som vi snart skal komme tilbake til: Selskapet har dobbelt opp av mange av disse systemene.

Strengt tatt kjøres fortsatt det viktigste på bakken

Ståle Heitmann

– Strengt tatt kjøres fortsatt det viktigste på bakken. Blant annet gjelder dette hele flyten fra at strømforbruket måles til at det kommer penger inn («meter to cash»), men denne skal flyttes til skyen, sannsynligvis mot slutten av året, forteller Heitmann.

Han forteller om skyplattformen at selv om den hadde gått ned, ville Elvia fortsatt ha tjent penger. Der det ville vært merkbart, er på analysefronten, hvor man av dataene blant annet kan detektere jordfeil. I tillegg ville appen og den egenutviklede løsningen for å drifte radionettverket ha sluttet å fungere, mens kundeweben hadde forsvunnet.

– Vi ville fortsatt ha fått inn måleverdier, estimert og validert dem, sendt dem til Elhub og fått dem tilbake. Driftssentalen skal i en krisesituasjon takle å være helt offline. Så veldig mye av det viktigste er fortsatt ikke flyttet til skyen. Nyutvikling og det å ta i bruk nye data til analyse, er flyttet til skyen, forteller Heitmann.

Har dobbelt opp på en rekke områder

Som nevnt har Elvia dobbelt opp av mange systemer og funksjoner. Det er et resultat av fusjonen for et drøyt år siden.

– Selv om det er gjort noen små framstøt her og der, er Elvia på IT-plattformsiden fortsatt to separate selskaper. Nettselskapene i Norge driver jo med nøyaktig det samme, så grovt sett innebærer en fusjon bare at man blir større. Men bortsett fra akkurat målerne, som er av samme merke, er det ingen match mellom systemene til Hafslund og Eidsiva. Alle systemene er forskjellige, og det er heller ikke en-til-en, ved at noen funksjoner som gjøres av ett system hos én, er gjøres av flere systemer hos den andre, forteller Heitmann.

IT-miljøet i Elvia er i dag delt opp i flere team og domener. Det er et kjerneteam på fem personer for sky og et omtrent like stort team som administrerer fellestjenester, slik som ID-løsningen ElvID, et stort bildelager som kan integreres med alle de øvrige tjenestene, og et system for kommunikasjon med Statnett.

– I tillegg har vi rundt hundre til, når man regner med utviklere, produkteiere, testere, UX, konsulenter og annet, som er fordelt for domener som kunde, driftskontroll og IoT, sier Heitmann.

Det sistnevnte handler om strømmålerne og andre sensorer.

Selv om de er involvert også på sentralt hold, er det for en stor del opp til de enkelte domenene i selskapet å velge hvordan de vil rydde opp i de dupliserte systemene.

– Det ser ut som trenden i stor grad er at man ikke er helt fornøyde verken her eller der med det systemet de har, så istedenfor at den ene flytter inn i et dårlig system hos den andre, bygger de heller et nytt. Det ser ut til å være den veien de havner på over alt, forteller Heitmann.

Mange av disse systemene bærer ifølge Heitmann preg av å være monolitter. For eksempel tar kundesystemene seg av alt som har med kunder å gjøre. En god del av dette er ifølge Heitmann helt standard kundebehandling som alle firmaer i hele verden driver med.

– Og så er det en del som er helt spesialisert for norsk nettariff, som er litt annerledes enn alt annet i verden. Man kan derfor se for seg at man kjøper en SaaS-tjeneste for standardting, og så kan man heller se om det en veldig spesialisert leverandør som kan levere dette med tariff, eller om vi må lage det selv, forteller Heitmann.

Drar ned utviklingstempoet

Ifølge Heitmann bidrar alle disse «on prem»-systemene til at man enda bedre ser fordelene med å bruke løsninger som Terraform. Dersom det skal lages en løsning i skyen som for eksempel skal kalle en tjeneste i ERP-systemet – som er på bakken – må utviklerne gjøre en bestilling i et eget bestillingssystem og vente på at et menneske gjør det som skal til for å få tilgang. Og dette må repeteres for alle versjonsmiljøene.

– Det drar ned tempoet for utvikler så mye, og så blir det ofte sånn at det fungerer i test, men ikke i prod, fordi det dreier seg om et menneske som gjør dette, og mennesker gjør feil, sier Heitmann.

Elvia holder samtidig på å flytte til en ny, lokal driftsleverandør, som i større grad enn dagens deler Elvias tankegang om veien framover.

– For oss spiller det ikke noen rolle om datasenteret er i Norge eller andre steder, når man kan begynne å tenke på alt som en slags sky og kan bruke Terraform og den typen verktøy på tvers, sier Heitmann.

Satser på multisky

En slik bruk av Terraform på tvers av ulike skyer er Elvia allerede i gang med. For i tillegg til å benytte Microsoft Azure, har selskapet også tjenester i Google Cloud.

Ifølge Heitmann er det litt tilfeldig at Elvia har tatt i bruk to ulike skyleverandører. Valget av Azure ble som nevnt gjort før noen av dem som driver med utvikling i Elvia i dag, ble tilknyttet selskapet.

– Det er jo en bra sky, det, sier Heitmann.

Samtidig mener han at en nettsky egentlig bare er en samling av veldig mange tjenester og at det ikke er noen som kan for eksempel hele Azure ut og inn.

Hva er en sky? Det er bare en samling av veldig mange tjenester

Ståle Heitmann

– Du kan det litt overordnede, og så har du kanskje lært deg Cosmos DB og Service bus. Men det er ingenting som forbereder deg på for eksempel Azure Search Service. Da må du slå opp i boka og begynne å lese. Så snart jobben er gjort med å forstå hvordan tankemåten og navnestrukturer henger sammen, vil jeg påstå at det er like lett for en utvikler å lære seg Google Search Service, gitt at du ikke kan noen av dem fra før, sier Heitmann.

Det var i utgangspunktet Bigquery-teknologien som gjorde at daværende Hafslund Nett også tok i bruk Google Cloud. Og da denne innledende investeringen over i en annen sky var tatt, var det enklere å se om det også er andre tjenester der som er mye bedre eller billigere, eller som kun finnes der.

– Akkurat Bigquery var i alle fall den gangen, for en tre-fire år siden, ganske langt foran det som fantes i Azure for big data-analyse. Det er derfor vi har to skyer, forteller Heitmann.

– De fleste av tjenestene vi bruker, kjøres fortsatt i Azure, men for eksempel Vault valgte vi å rulle ut i Google Cloud. Det at sentrale komponenter er deployert i forskjellige skymiljøer, reduserer delvis nedetiden, legger Matonis til.

De tre største får stadig mer av kaken:Microsoft og Google tar innpå Amazon i nettskyen

Ikke bare-bare med data

– I løpet av de siste årene er vi også blitt mye mer opptatt enn tidligere av data og datatilgang. Det har noen ganger vært et kjempeproblem, for med noen av systemene har vi juridisk ikke hatt lov til å ta ut dataene, forteller Heitmann.

– Folk brydde seg ikke om dette i gamle dager, så det sto alt mulig rart i kontraktene. Og var det ikke direkte forbudt, så var det i alle fall vanskelig, uten gode API-er eller dokumentasjon over databaseskjemaer. Det var en kjempekamp da vi begynte med denne dataintegrasjonen i 2014-2015. Men dette er det fokus på nå, slik at i anbudskonkurranser og når vi forhandler med leverandører, er full tilgang til dataene våre og gode API-er, ufravikelige krav.

Elvia har som mål å flytte mest mulig opp i den offentlige skyen, men på grunn av regulatoriske krav og andre forhold, kan dette i noen tilfeller være vanskelig.

– Vi ser derfor på om tjenester som må gå «on-prem», kan gjøres til sky ved at de automatiseres på samme måten som med Terraform. Da er de ikke «on-prem» lenger, mener jeg, da. Vi har jo ikke noe eget datasenter uansett. Det er en underleverandør som driver med dette, sier Heitmann.

På spørsmål om hvor lang dette vil ta, har ikke Heitmann et veldig klart svar.

– Det er ingen samlet tidsplan, men individuelle tidsplaner per område. Vi er jo dessuten et monopol og må derfor følge offentlige anbudsregler. Det hjelper heller ikke på hastigheten. Men la oss si innen tre år, da, avslutter han.

Powered by Labrador CMS