Dette er vyen for hosting av NSB.no og mobilappene

CloudFront, Elastic Beanstalk og Route 53. - Offentlig skyplattform var et naturlig valg.

Jarle Holtan i Bekk jobber med hosting av både NSB.no og mobilappene. 📸: Lise Åserud / NTB scanpix
Jarle Holtan i Bekk jobber med hosting av både NSB.no og mobilappene. 📸: Lise Åserud / NTB scanpix Vis mer

Hva slags hosting-oppsett kreves av tjenester som hele Norges befolkning bruker?

Det var vi nysgjerrig på, derfor kontaktet vi konsulent Jarle Holtan i Bekk.

Han jobber på prosjekt med teamet som forvalter hosting for både NSB.no og mobilappene deres.

#1. Hvor hostes det dere bygger i dag? 🏰

Mobilappene og nettsidene hostes i dag i AWS.

For en del år siden var nettsidene implementert som en stor monolitt, hostet in-house på Oracle WebLogic. I forbindelse med jernbanereformen, da NSBs IT-systemer ble fordelt mellom Entur og NSB, måtte store deler av kodebasen fornyes.

Et behov for økt utrullingstakt og automatisert opprettelse av testmiljøer gjorde at NSB søkte etter mer moderne hostingløsninger. Offentlig skyplattform var et naturlig valg.

#2. Hvordan håndterer dere deploy til servere? 🛫

Alle baksystemene kjører i Elastic Beanstalk, AWS sin PaaS. Elastic Beanstalk tar hånd om all kompleksiteten rundt utrulling uten nedetid. Utviklerne setter i gang utrullingen på sine egne maskiner, men selve prosessen kjører i skyen.

Vi opplever at produksjonssettinger med Elastic Beanstalk reduserer risikoen for at noe skal gå galt, og at våre kunder skal bli påvirket av det.

Jarle Holtan på arbeidsplassen i NSB. 📸: Privat
Jarle Holtan på arbeidsplassen i NSB. 📸: Privat Vis mer

#3. Hva bruker dere til å holde oversikt over drift? 🔍

Vi benytter en rekke forskjellige systemer.

AWS CloudWatch gir oss aggregering av applikasjonslogger, metrikker og alarmer. Pagerduty gir oss beskjed hvis noe skulle oppstå utenfor normal arbeidstid.

I tillegg har vi noen egenutviklede verktøy som gir oss et overblikk over produksjonsmiljøet, som hjelper oss til å raskt identifisere instanser eller integrasjonspunkter som trenger tilsyn.

#4. Hva bruker du mest tid på i hverdagen? ☕

Jeg er glad for å si at jeg bruker mesteparten av tiden min på utvikling av applikasjonene.

Vi har fordelt rutineoppgavene mellom alle utviklerne, og siden vi i all hovedsak benytter oss av "managed services" fra AWS så er det nokså sjelden at det dukker opp driftsrelaterte oppgaver.

#5. Hva bruker dere til caching? 👾

Vi benytter oss av AWS sitt CDN, Cloudfront, foran nettsidene våre, men vi har ikke satt opp så veldig aggressive cache policies. Vi opplever at ytelsen jevnt over er akseptabel, så vi prioriterer heller at nye versjoner skal komme ut til brukerne så fort som mulig.

#6. Hva bruker dere til domener/DNS? 💙

Vi benytter AWS Route 53 for våre domener. Route 53 er godt integrert med de øvrige tjenestene i AWS, så det er et enkelt system å benytte seg av uten at man må fordype seg i "the nitty-gritty" av DNS-systemet. Det er også veldig kjekt med automatisk fornyelse av sertifikatene våre.

#7. Hva er du mest fornøyd med å ha gjennomført i forbindelse med hosting det siste året? 😚

I det siste har vi jobbet med å gjøre rutesøket og billettsalget uavhengig av CMS-et. Med hjelp av Cloudfront- og Serverless-produktene til AWS har vi trukket ut funksjonaliten, uten å gjøre en eneste kodeendring i CMS-et. Den omfattende produktkatalogen til de store skyleverandørene åpner opp for helt nye måter å forvalte og refaktorere eksisterende løsninger på.

#8. Hva har du lyst til å teste/bytte ut fremover? 🤔

Jeg har lyst til å implementere en større andel av funksjonaliteten vi leverer med Serverless-produkter. Serverless reduserer eller fullstendig eliminerer en god del av de tradisjonelle driftsrelaterte utfordringene, for eksempel skalering for ytelse eller oppdatering av OS-versjoner.

#9. Hva skulle du ønske utviklere og kollegaer ble flinkere på? 🍬

Det hadde vært veldig fint om vi generelt sett ble flinkere til å vurdere managed services i skyplattformen når vi skal implementere ny funksjonalitet.