AWS Case Study: Skapte MQTT som XaaS for kollektivtrafikkselskapet Ruter

Avdelingen CMP (Core Mobility Platform) leverer en self service plattform på AWS. CMP gir en helhetlig tilnærming for hele Ruter og forenkler tilgangen på skytjenester for virksomhetens øvrige, kundeorienterte IT-team benytter.

Som en del av tilbudet samarbeidet CMP med kollegaene på Team Sanntid om å få opp en MQTT-plattform som følger ITxPT-standarden. MQTT er en protokoll for lightweight IoT-datautveksling hvor håndtering av dårlige dataforbindelser (gjensending) er vanlig. Kontinuerlig MQTT-kontakt med kollektivmidlene er driftskritisk. Ruters MQTT-plattform utveksler meldinger med kollektivmidlene annethvert sekund inkludert om posisjon, antall som går av/på, passasjertyper (barn, voksen, barnevogn, sykkel etc.) og mer.

Ruter byttet fra en MQ-teknologi med begrenset funksjonalitet til EMQ X som oppfyller behovet. Etter å ha etablert tjenesten MQTT-tjenesten i AWS EKS (Elastic Kubernetes Service) anså Ruter den grunnleggende utviklingsjobben som gjort. Team Sanntid ivaretok driften en tid før selskapet henvendte seg til AWS MSP-partner Orange Business om videre DevOps-samarbeid.

Orange Business videreførte løsningen i AWS ECS Fargate fremfor å gå for en mer tidkrevende prosess med å konfigurere opp en ny AWS EKS tjeneste. AWS ECS Fargate er en 100 % managed containertjeneste uten behov for styring av underliggende systemer inkludert OS. Skulle det oppstå tekniske problemer som for eksempel at en node systemet kjører på går ned, spinner AWS automatisk opp tjenesten på nytt.

I samsvar med CMP sitt mandat er tjenesten satt opp som en PaaS løsning. Det gjør det mulig å replikere tjenesten. Andre team kan dessuten integrere sine applikasjoner via eksisterende clustere ved behov for MQTT-tilgang.

MQTT-tjenesten som nå kjøres i Orange Business-regi holder et meget høyt ytelsesnivå.

Infrastructure As Code (IAC)-infrastrukturen Terraform er brukt til å konfigurere alle delene av den containerbaserte plattformen. AWS NLB (Network Load Balancer) brukes til å splitte lasten mellom containere. Deployment av konfigurasjonsendringer og nye versjoner skjer med AWS Codepipeline. Oppgraderinger og konfigurasjonsendringer blir håndtert med AWS CodePipeline, AWS CodeBuild og AWS CodeDeploy. Brukerautentisering skjer med AWS RDS Aurora MySQL. Endringer formidles med en databasetrigger til å starte en lambda som genererer en audit trails som plasseres i S3. Cloudfront og en WAF (Web Applications Firewall) eksponerer audit trailen til godkjente IP-adresser med autentisering via lambda@edge.

For Ruter er det også sentralt at MQTT-tjenesten fullt ut støttes av Orange Business AWS MSP-tjenester. Orange Business ble kvalifisert som AWS MSP i 2020 og må årlig fornye kvalifiseringen.

Til grunn for kvalifiseringen ligger kompetanse på operasjonell og forretningsstrategisk ledelse, skyinfrastruktur, applikasjonsmigrasjon, automatisering og mode 2-driftsleveranser som støtter DevOps hos kundene.

Support tilgjengelig 24/7, sikkerhet, compliance, overvåking og oppgraderinger er en del av dette som medfører Ruter trygt kan sette sine ressurser inn på utvikling av tjenester til kollektivtrafikkbrukerne i Oslo og Viken.

Om Ruter

Ruter AS er et administrasjonsselskap for kollektivtrafikken i Norges hovedstad Oslo og deler av Viken (tidligere Akershus fylke) som produserer halvparten av Norges kollektivtransport. Selskapet har operasjonsmodell tilsvarende til mange andre virksomheter med samme mandat i Norge, Europa og verden for øvrig.

Virksomheten har et globalt orientert perspektiv på teknologi inkludert skytjenester og digitale mobilitetsplattformer. En årsak er at selskapets handlingsrom og tjenestetilbud blir kraftig påvirket av eksterne teknologivalg. Blant annet sitter Ruters IT-direktør i standardkomitéen for ITxPT (IT for Public Transport). ITxPT har etablert en åpen arkitektur for datatilgang og systemintegrasjon innenfor mobilitetstjenester inkludert offentlig transport.

I sin planlegging ser Ruter helhetlig på kombinert mobilitet hvor prinsippet «fra holdeplass til holdeplass» er erstattet med «fra dør til dør» med buss, trikk, båt, bane, sykkel og føtter.

 

Ruter