SUT har lenge hatt vår egen skyimplementasjon hvor vi tester ut skytjenester, ny teknologi og kjører ulike testmiljø. Denne skyen ble opprettet før Oslomet og sektoren hadde en skyavtale, og vi ble spurt om å opprette denne i Google Cloud Services for å høste erfaring med denne i forbindelse med et fremtidig valg av skyløsning.

I etterkant har det blitt inngått sektoravtaler med Azure, og denne er blitt tatt i bruk til andre ting hos oss. Google skyen vår har fått leve videre, men i Januar bestemte vi oss for å avvikle denne. Årsaken er ikke teknisk, og i utgangspunktet ganske rar. Google har sluttet å godta kredittkortene av typen som utstedes til Oslomet. Det betyr at for å beholde skyen vår, må vi bruke personlige kredittkort og viderefakturere, noe som er ugunstig i lengden. Vi er derfor i ferd med å avvikle google skyen vår, og flytte det som skal beholdes inn på eksisterende Azure sky.

Kubernetes-klusteret vårt er allerede flyttet, noe som inkluderer denne bloggen. DNS vil bli flyttet innen kort tid. Monitoreringsløsningen vår er avviklet i påvente av ny. Vi har oppgradert Liferay til en nyere versjon, en etterlengtet oppgradering. (Noe vi snart forhåpentligvis kommer med et nytt blogginnlegg om snart). I den forbindelse må også monitoreringsløsningen oppdateres. Vår monitoreringsløsning ble satt opp i påvente av en felles monitoreringsløsning for hele IT, og for å høste erfaringer før felles monitoreringsløsning ble implementert. Felles monitoreringsløsning er på plass, og jobben med å flytte den gamle monitoreringen inn på ny felles plattform er godt i gang.

I forbindelse med å flytte restene av vår Google sky over på Azure har vi høstet en del mer eller mindre interessante erfaringer:

GUI (Grafisk brukergrensesnitt for de uinnvidde)

Det grafiske brukergrensesnittet til Azure er horribelt. Det er ekstremt vanskelig å navigere og bruke. En Lego analogi er på sin plass her. Azure sin GUI minner om minstemanns Lego-boks. Alt er kastet i en diger boks, ristet godt, og så må man begynne å røre rundt i den og forhåpentligvis finner man det man leter etter. Google er milevis foran her. Deres GUI er logisk, intuitiv og brukervennlig.

CLI (Kommandolinjegrensesnitt for de uinnvidde)

Her er det ikke store forskjellen. Azure og Google er svært like når det gjelder CLI, mye takket være et begge skyene stort sett er bygget opp rundt mye standard teknologi og standard programvare. Kan man den ene, så kan man i utgangspunktet den andre. Navngivningen på tjenester er dog noe annerledes, men det er i utgangspunktet uproblematisk.

Tutorials

Når det gjelder tutorials og dokumentasjon er igjen Google milevis foran Azure. Riktignok må det nevnes at Azure sin dokumentasjon er blitt lagt bedre enn hva den var. Men det er fortsatt mye bildebruk i stedet for tekst/html som kan klippe og limes hos Azure. Og Azure sin dokumentasjon bærer mye preg av å være skrevet i word eller lignende. Det er skrevet som en prosatekst. Google derimot har alltid hatt en meget bra dokumentasjon og tutorials for sin skyløsning. Høydepunktene inkluderer at man kan gjennomføre mange av handlingene man bes om å gjøre direkte fra en CLI i nettleseren innbakt i tutorials hos Google. Videre så har de alltid eksempler på å gjøre ting i alle støttede programmeringsspråk og alle metoder (CLI, GUI, mv) i hver tutorial, og man velger selv hvilken man vil se inne i selve tutorial-en. Hos Azure får man stort sett alltid bare en, og så får man bare håpe at det er den riktige, og der hvor man har flere, så er de bare listet opp under hverandre, slik man kjenner fra word dokumenter.

Generelt bruk

Google skyen er nok noe mer stabil enn Azure. I all den tid vi har brukt Google skyen har vi aldri opplevd en eneste feil som ikke skyldes noe vi selv har gjort galt. I forbindelse med flyttingen, opplevde vi tre ganger at noe plutselig ikke fungerte på grunn av en intern feil hos Azure, gjerne med en ganske uforståelig feilmelding. Et eksempel her var da vi for andre gang hadde revet ned et Kubernetes-kluster, og skulle opprette den på ny, ble den halvveis ferdig, og så spyttet ut en uforståelig feilmelding om at "noe" feilet, og at det "kanskje skyltes en DNS feil". Når vi da rev ned klusteret på ny, og kjørte samme kommandoen igjen, så fungerte det. Konklusjonen er nok at Azure fortsatt har en vei å gå når det gjelder stabilitet sammenlignet med Google og Amazon.

Erfaring med å flytte

Det å flytte fra en sky til en annen var ikke særlig problematisk. Det tok ca et ukes arbeid. Som nevnt tidligere så er løsningene, så fremt man bruker CLI, rimelig like, da man har basert skyløsningene stort sett på standarder og standard implementasjoner. Erfaringene fra den ene skyen lot seg stort sett direkte oversette til den andre skyen. Å flytte fra Google-skyen til Microsoft-skyen var, med et unntak som vi kommer tilbake til nedenfor, en smertefri prosess.

Microsoft er Microsoft

Microsoft er seg selv lik, og klarer jo ikke la vær å drive med litt vendor-lock-in og tukling med ting som fungerer. Dette fikk vi erfare da vi skulle koble sammen vår nye Kubernetes løsning med vårt nye Container Repository. Her har nemlig Microsoft funnet ut at de skal drive med litt vendor-lock-in og dytte AD inn i bildet. (Hva har AD å gjøre med system som skal autentisere seg mot andre system? Ikke noe, med mindre man vil gjøre livet litt surt for de som ønsker å flytte bort fra ens løsning, eller kombinere ulike løsninger.)

Problemet her er bare at det betyr at en vanlig Azure bruker kan opprette en Container Repository, og opprette et Kubernetes-cluster, men å få dem til å snakke sammen, det får man bare gjort dersom man har rollen "Eier" eller "Administrator". Hvor er logikken? Heldigvis fant vi ut at det er faktisk mulig å få dem til å snakke sammen på standardmåten, slik det egentlig skal gjøres. Man må bare være veldig tålmodig, kaste bort masse tid, og forske masse for å finne ut hvordan man lurer seg rundt de kunstige begrensingene til Microsoft. (Og leve med at Microsoft omtaler dette som "den gamle, dårlige måten som du ikke bør bruke" uten å fortelle deg hvordan du kan bruke (det som egentlig er en standard).

Konklusjon

Sky er sky. Og i utgangspunktet så bør det ikke ha særlig mye å si hvilken leverandør man velger. Og det stemmer etter vår erfaring bra, om man bare holder seg til CLI, holder seg unna GUI og kan leve med litt ustabilitet og vendor-lock-in forsøk. SUT-skyen lever fint videre i Azure, og i utgangspunktet så vil det neppe påvirke vårt bruk i særlig grad, annet enn at Google skyen er litt enklere å bruke.