Slik leverer Sanity 3 milliarder spørringer i måneden

Hva er Sanity, hvordan lages det og hvorfor skal du bruke det? Vi spør!

Knut Melvær er mannen som skal få Sanity ut til verdens utviklere. Til daglig jobber han med dokumentasjon, fellesskapet og stille opp i obskure norske podcaster for utviklere. 📸: Sanity
Knut Melvær er mannen som skal få Sanity ut til verdens utviklere. Til daglig jobber han med dokumentasjon, fellesskapet og stille opp i obskure norske podcaster for utviklere. 📸: Sanity Vis mer

"Det hodeløse CMS-et reiser snart fra trikkestallen i Oslo til Silicon Valley" skrev kode24 i starten av 2019 om det norske selskapet Sanity.

Den reisen er nå godt i gang, og utviklerne kunne nylig melde om at de hadde sikra seg 9,3 millioner dollar, over 85 millioner norske kroner, i finansering. Fra folk som tidligere har finansiert giganter som Twitter, Medium, Xamarin, Heroku og Vercel.

Vi inviterte "head of developer relations and support", eller utviklerkompis som han ofte kaller seg, Knut Melvær til kode24-timen for å ta en preik om veien videre, hva Sanity egentlig er for noe, hvordan de lager det og hvorfor norske utviklere bør teste det.

Episoden finner du på telefonen din, og svarene på noen av spørsmålene finner du under!

Hva er Sanity?

- Vi kaller Sanity en plattform for strukturert innhold, forteller Melvær i kode24-timen.

- Det betyr at Sanity kommer med en rekke API-er for å jobbe med innhold. Og et open source redaksjonsgrensesnitt, som kan du kan tilpasse til det du trenger det til. Og en rekke spesifikasjoner og teknologier for å gjøre det lettere å jobbe med innhold som data, fortsetter han.

- Det er heispitchen.

Om du vil skjønne hva det dreier seg om i praksis, på imponerende kort tid, kan du sjekke ut sanity.io/create. Der kan du opprette og rulle ut en enkel blogg med Sanity Studio for å skrive innhold og for eksempel Gatsby for å vise det fram, gjennom Netlify.

På sanity.io/create kan du sette opp og rulle ut en enkel blogg, som er det klassiske bruksområdet for et verktøy som Sanity, og demonstrerer hvordan de kan brukes med allslags webteknologi. Men de vil gjerne at utviklere bruker det til langt mer. 📸: Ole Petter Baugerød Stokke
På sanity.io/create kan du sette opp og rulle ut en enkel blogg, som er det klassiske bruksområdet for et verktøy som Sanity, og demonstrerer hvordan de kan brukes med allslags webteknologi. Men de vil gjerne at utviklere bruker det til langt mer. 📸: Ole Petter Baugerød Stokke Vis mer

Er Sanity et hodeløst CMS?

- Vi er ikke så kjempeglade i det begrepet. Vi ser egentlig ikke på Sanity som et hodeløst CMS, men mer som "the next thing", svarer utviklerkompisen.

Han forklarer at hodeløse CMS-er ble definert som et motstykke til tradisjonelle CMS-er som Wordpress, som blir levert med blant annet nettside-motorer for å tegne ut innholdet. Mens hodeløse CMS-er bare gir deg et API for å lagre og lese dataen.

- Vi har jo noe av disse greiene, og vi kan brukes som et hodeløst CMS, men vi har også ting som går utover dette, mener Melvær, og sikter da blant annet til verktøyene for å strukturere data.

- Og nå som mange CMS-er har begynt å tilby API-er, blant annet Wordpress, begynner forskjellen mellom tradisjonelle og hodeløse CMS-er å viskes ut.

Lokalene deres på Grünerløkka i Oslo står for tida ganske så tomme. I tillegg har de lokaler i San Fransisco - jada, for å være nærmere Silicon Valley. 📸: Sanity
Lokalene deres på Grünerløkka i Oslo står for tida ganske så tomme. I tillegg har de lokaler i San Fransisco - jada, for å være nærmere Silicon Valley. 📸: Sanity Vis mer

Hvordan kodes Sanity?

- Bak dokumentbasen bruker vi litt forskjellige databaseteknologier; kjedelige, proven teknologier som Elasticsearch, PostgreSQL og så videre, forteller Melvær.

- Alt er skrudd sammen i Go, som gjør at ting går kjapt. Også har vi endel mikrotjenester som stort sett er skrevet i Node, og kjøres ut i verden med Kubernetes på Google Cloud-plattformen, fortsetter han.

- Det er den beste plattformen for dette. Kontroversielt å si, kanskje, men vi leverer rundt tre milliarder API-spørringer i måneden.

Hva skiller Sanity fra andre hodeløse CMS-er, som Prismic og Contentfull?

- De andre CMS-ene har ofte mange web-antakelser bygd inn, mener Melvær i Sanity.

Han viser for eksempel til hvordan Prismic antar at du vil vise rik tekst som HTML, at det kan være begrensa hvor dype innholdsstrukturer du kan bygge og at det kan mangle funksjonalitet for å skrive innhold gjennom API-et. Contentfull synes han dessuten er dyrt.

- Dessuten er alt i sanntid i Sanity, og det gir deg mer kontroll over hvordan du vil gjøre ting, hevder utviklerkompisen.

«De andre CMS-ene har ofte mange web-antakelser bygd inn.»
Sanity var opprinnelig et CMS laga av Bengler, men har blitt sitt eget selskap, som nå ansetter mange nye utviklere med friske finansielle midler. 📸: Sanity
Sanity var opprinnelig et CMS laga av Bengler, men har blitt sitt eget selskap, som nå ansetter mange nye utviklere med friske finansielle midler. 📸: Sanity Vis mer

Hvorfor ikke bare bruke databaser, som Firebase?

- Du får et redaksjonsgrensesnitt, som du kan sette opp selv. Det får du ikke i for eksempel Firebase, svarer Melvær.

- Også mener vi at vi har mer fleksible måter å legge inn data på, og du kan lage referanser mellom JSON-objektene, som gjør det lettere å spørre på data, og forme det som du vil, fortsetter han.

Sanity har blant annet bygd sitt eget spørrespråk; GROQ. Melvær beskriver det som et slags "SQL for JSON".

Hvem bruker Sanity, til hva?

- Det er mye nettsider, det er ofte der folk begynner før man oppdater at Sanity kan brukes til mye mer, sier Melvær i kode24-timen.

Blant annet har Sanity blitt brukt til å skrive fysiske bøker, den brukes til den offiselle taleassistenten til Las Vegas, og en av deres største kunder er det Melvær kaller "en multinasjonal restaurantkjede", som han ikke får lov til å si navnet på.

Men det kan kode24 "avsløre": Det er Burger King, som blant annet kommer fram i Sanitys jobbannonser. Burger King bruker Sanity til å blant annet vise menyinformasjonen sin på alt fra skjermene bak skranka til nettsidene og apper.

Sanity ramser opp en rekke andre store aktører på nettsidene sine, som Sonos, Nike, National Geographic, norske reMarkable og Figma, uten at Melvær får lov til å si nøyaktig hva de bruker systemet til. Men som han sier i ukas episode av kode24-timen:

- Sanity gir deg en sanntidsdatabase du kan putte inn data og ta det ut som du vil. Da blir det ubegrensa hva du kan bruke det til.

Svar på enda flere spørsmål, og alle spørsmålene fra kode24-klubben, får du i ukas episode av kode24-timen! 🎧