Posten må takle 500 sporinger i sekundet, på vei fra on-prem til sky

- Vi har som mål å oppdage feil før kundene våre gjør det, forteller team-lederen.

I 16. etasje i post-bygget på Oslo S sitter det 70 utviklere som jobber for Posten og Bring sine tjenester. 📸: Privat
I 16. etasje i post-bygget på Oslo S sitter det 70 utviklere som jobber for Posten og Bring sine tjenester. 📸: Privat Vis mer

I 16. etasje i posthuset på Oslo S sitter utviklerne til Posten og Bring.

Alle 70 stykkene, som fordeler seg utover etasjen på 10 smidige team.

56 år gamle Arne Moen leder ett av dem, "digital kundefront", som utvikler, vedlikeholder og drifter alle selvbetjeningsløsningene for Postens privatkunder og Bring sine bedriftskunder. Vi tok en prat med han til serien vår "Slik drifter vi".

- Mot privatmarkedet jobber vi hele tiden med å gjøre våre tjenester så enkle og tilgjengelige som mulig, forteller Moen.

Det gjør de blant annet ved å utvikle posten.no og Posten-appen, og tjenester som pakkesporing og digitale frimerker. Og mot Bring-kundene, som altså er bedritskunde-biten, gjør de det samme gjennom blant annet MyBring.no og developer.bring.com.

- Sporingsløsningen vår er den tjenesten med desidert mest trafikk, sier Moen.

500 millioner sporinger det siste året, for å være nøyaktig, med trafikktopper på 500 sporinger i sekundet. Og Posten-appen deres skal ha rundt 1,5 millioner brukere.

Slik får de det til å gå rundt.

Hva er det mest unike med driftsbehovene deres? ✌

Vi har nok de samme driftsbehovene som andre med tilgjengelighet 24/7. Folk booker transport og sporer pakker hele døgnet.

For at kundefrontapplikasjonene skal fungere, og for eksempel gi riktig pris og transportalternativer ved booking, eller at sporing viser riktig hendelse, er vi avhengig av en haug av baksystemer – transportplanleggingssystemer, prisberegningstjenester, meldingstjenester og så videre.

Dette krever at andre interne IT-enheter og eksterne leverandører alle har fokus på stabil og sikker drift.

DevOps-teamene har selv ansvar på drift på dagtid, utenom arbeidstid har vi en ekstern partner som monitorerer og som koordinerer i feilsituasjoner.

Arne Moen, leder for "digital kundefront" i Posten og Bring, forteller hvordan de drifter tjenestene sine. 📸: Privat
Arne Moen, leder for "digital kundefront" i Posten og Bring, forteller hvordan de drifter tjenestene sine. 📸: Privat Vis mer

Hvor hostes og driftes det dere bygger i dag? 📦

Vi er på vei fra on-prem til sky, med Azure, for alle våre applikasjoner. Her valgte vi en leverandør med satsing i Norge og Norden.

Hvordan håndterer dere deploy til serverene? 🚗

Det er stort fokus på automatiserte (integrasjons, enhets, smoke) tester.

Vi har en Azure-pipeline som gjør at endringer går rett ut i produksjon ved merge til master. Deploy til produksjon gjør vi på dagtid, uten nedetid – alt er automatisert.

Vi har også automatisert konfigurasjon av servere, DNS, firewall-regler, databaser og rettigheter.

Hva bruker dere til å holde oversikt over drift? 📈

Vi samler logger og metrikker i ulike verktøy som egner seg til formålet. Tilsvarende gjør vi også for å analysere CPU-bruk, disk-plass og annen infrastruktur, samt ekstern verifisering av nettverk og DNS. Vi har har også et egenutviklet monitoreringsverktøy for internt bruk.

Dessuten eksponerer vi oppetid på våre API-er på status.bring.systems.

Sånn ser det ut på status.bring.systems.
Sånn ser det ut på status.bring.systems. Vis mer

Alt av viktige meldinger kommer inn til kanaler i Slack som teamene selv tar tak i. Det gjelder både varslinger fra systemer og logger, men også direkte fra kundene via for eksempel Posten-appen.

Hvordan håndterer dere caching? 💾

I stor grad internt i applikasjonene, men også ved bruk av verktøy i Azure.

Hva bruker dere til domener og DNS? 📚

Vi bruker bransjestandard verktøy, men ønsker ikke å gå inn på detaljer her

Hva er det mest krevende når det kommer til drift hos dere? 😅

Når noe ikke fungerer i kundefront, er det som regel på grunn av at et baksystem ikke fungerer. Da er det viktig at vi har løsninger som tar høyde for slike situasjoner, slik at vi fortsatt kan betjene kundene selv om det kan bli med noe redusert funksjonalitet.

Ellers er det viktig med godt samarbeid og korte linjer til andre interne IT-avdelinger og våre partnere innen feks telekommunikasjon og hosting.

Hva bruker dere mest tid på i hverdagen, når det kommer til drift?

Vi har som mål å oppdage feil før kundene våre gjør det, så jeg må kanskje si at vi bruker mye tid på sette opp riktige metrikker og thresholds, overvåkning av logger, respondere på varsler fra logger og monitoreringsverktøy. Vi tuner også varsler for å unngå ulv, ulv-situasjoner.

Hva er du mest fornøyd med å ha gjennomført i forbindelse med drift det siste året? 💪

I forbindelse med overgang til sky har vi fått på plass mesteparten av felles infrastruktur som sikkerhet, logg-aggregering og så videre. Infrastruktur og servere konfigureres i kode, og vi har flyttet 40 prosent av våre rundt 85 applikasjoner til sky.

Hva har du lyst til å teste eller bytte ut fremover? 💸

Vi er bevisste på hva vi bruker av teknologi, rammeverk og så videre, og følger med på trender og vurderer hele tiden hva vi ønsker å se nærmere på eller bytte ut av eksisterende tech stack.

Etter overgang til sky har vi begynt å ta i bruk nye verktøy for å sende hendelser mellom applikasjoner, og vi ønsker å se mer på hendelsesstyrt arkitektur som en helhet.

På de native mobile appene migrerer vi koden til deklarativt UI, både for iOS og Android. Ved å skille ut koden som skaper grensesnittet, blir det enklere å bygge på appen i fremtiden.