Per Buer forteller om det nye satsningsområdet til Varnish Software, API-håndtering. (Bilde: Per Ervland)

Varnish API Engine

Nå skal det bli fart på API-kallene

Per Buer og Varnish bringer webakselerasjonen til et helt nytt område.

Norske Varnish Software lanserte i dag et helt nytt produkt, Varnish API Engine, som skal kunne hjelpe utviklere med å håndtere store mengder API-kall over internett. Ifølge selskapet er dette et område som er sterkt voksende på grunn av blant annet kommunikasjon til og fra mobilapplikasjoner og enheter som er en del av tingenes internett (Internet of Things - IoT).

Bygger på webcachen

Varnish er i dag først og fremst kjent for webcache-produktet Varnish Cache, som brukes av større og mindre nettsteder over hele verden til å levere websider raskere og mer effektivt. Varnish Cache tilbys både som en åpen kildekode-basert Community-versjon og som et kommersielt produkt med tilleggsfunksjonalitet og -tjenester. Men også det nye produktet bygger på Varnish Cache.

– Den store styrken i Varnish Cache er at man kan lage egne applikasjoner i den, samt at vi fra før har syltet ned veldig mange tusen timer på å få denne til å gå fort, forklarer Per Buer, gründer og teknologidirektør i Varnish Software, til digi.no. De fleste som bruker Varnish Cache bruker den på en ganske grunnleggende måte, men Buer forteller at i organisasjoner hvor det er utviklere som «eier» Varnish Cache, er bruken mye mer kreativ.

Begynnelsen: Lynrask web med norskutviklet akselerator 

Høy pris, lite fart

Bakgrunnen for det nye produktet var en forespørsel Varnish for en tid tilbake fikk fra et internasjonalt mediehus som brukte et API-håndteringsprodukt fra en annen leverandør. Selskapet slet med dette fordi det hadde et behov for å kunne håndtere 10 000 API-kall i sekundet, noe som med selskapets løsning krevde omtrent 50 servere.

Ifølge Buer finnes det flere leverandører av slike løsninger, men ifølge ham er de generelt høyt priset.

– Det er vanskelig å finne noe for under en millioner kroner i dag. Dette er mye penger selv for en stor organisasjon som dette, sier Buer. Mediehuset tok kontakt med Varnish på grunn av interesse for arkitekturen, men samtalene endte ikke om med noen avtale.

– Det fortalte oss likevel for oss at det var en mangel på dette med høy ytelse, noe som kunne være en mulighet for oss. Vi er jo kjent for å drive med ting som går fort og håpet å kunne gjøre det samme med API-håndtering som med webakselerasjon.

I første omgang er målgruppen for Varnish API Engine virksomheter med store, publiserte API-er, som i dag må håndtere i alle fall tusen API-kall i sekundet.

– Det er et mye mindre marked enn for Varnish Cache i antallet brukere. Men vi antar at det vil skje en eksplosiv vekst i dette markedet på grunn av mer bruk av apper, og at IoT-trenden vil materialisere seg, sier Buer. Han mener at mengden av API-kall vil bli enorm og at veldig få av dagens aktører er rigget for å ta en slik belastning.

Buer nevner som eksempel på dette et scenario hvor alle norske boliger får et nettilknyttet termometer som sender temperaturdata hvert femte minutt. Ifølge SSB var det omtrent 2,35 millioner husstander i Norge ved årsskiftet. I scenariet vil disse til sammen kunne generere 7832 API-kall i sekundet.

For tidlig

Buer mener at problemet med mange av dagens leverandører på dette området, er at de var så tidlig ute med dette at de nå har låst både seg og kundene inne i et hjørne.

– For ti år siden av webbaserte API-kall noe utrolig trege greier. Ingen ville kunne bygge websider basert på dette den gang, siden det ville ha tatt et sekund bare å få utført API-kallene. Mange av dagens API-produkter er basert på denne virkeligheten. Når du den gang hadde API-trafikk på 3000-4000 kall i timen, kunne man tillate seg ikke å ha så mye ytelse. Derimot har man i stedet ekstremt mye funksjonalitet, noe som gir en høy kost når det gjelder kompleksitet og ytelse, sier han.

Buer mener det er her Varnish vil kunne «ta» de etablerte aktørene ved å tilby bare ti prosent av funksjonaliteten og mye høyere ytelse.

– For dem er det umulig å trekke fra features fordi kundene allerede bruker disse.

Produktet som Varnish nå tilbyr, har en startpris på 43 000 euro i året. Buer innrømmer at dette begrenser utvalget av kunder, men han hevder at prisen likevel er mye lavere enn det som er vanlig i dette markedet. Inkludert i denne prisen er lisenser til å kjøre Varnish API Engine i en klynge med tre noder, samt på en admin-server. Avhengig av maskinvaren vil dette ifølge Buer kunne håndtere omtrent 25 000 spørringer i sekundet – kanskje opp mot 50 000.

– Det er tilstrekkelig for de aller fleste, sier Buer.

Ikke åpen kildekode

Varnish API Engine vil ikke tilbys som åpen kildekode. Ifølge Buer er koster det bedriften ekstremt mye å drive et åpen kildekode-prosjekt, og selskapet har ikke lyst til å gjøre dette med mindre det er nødt.

Litt ugreit: Skambelagt å lukke kildekoden 

Varnish har valgt å ha få restriksjoner på bruken, mens andre ofte tar betalt for mengden av API-kall som kan håndteres, noe som ifølge Buer har ført til at brukerne ikke kan la API-ene vokse fordi det blir for dyrt.

På sikt planlegger Varnish Software å tilby Varnish API Engine til litt mindre kunder, det Buer kaller for internasjonale SMB-er. Disse er ofte ikke like teknologitunge som den kundegruppen Varnish nå henvender seg til, som i stor grad holder til i USA.

– Blant annet planlegger vi å tilby et webbasert brukergrensesnitt, noe som ikke tilbys i dag. Dagens kunder fnyser litt av dette og tar det som en selvfølge at de skal bygge visualiseringen selv. Det er litt annet marked i Europa, sier Buer. Løsningen med webgrensesnittet kan ventes til høsten. Den vil også være tilgjengelig som en nettskybasert tjeneste.

Funksjonalitet

Selve produktet er fullt ut API-drevet og Varnish mener at en utvikler normalt vil bruke mindre enn en time på å implementere det. Funksjonaliteten er inndelt i fem områder, autentisering av klienter, autorisasjon til å bruke bestemte API-er eller API-kall, måling av antallet kall og sporing av trafikk til klient eller bruker, struping – altså begrensning av bruken, samt caching – det vil si mellomlagring av API-kall som kun innebærer lesning av data.

Oversikt over hva den første utgaven av Varnish API Engine tilbyr av funksjonalitet og skalerbarhet.
Oversikt over hva den første utgaven av Varnish API Engine tilbyr av funksjonalitet og skalerbarhet. Bilde: Varnish Software
 

Buer forteller at responsen allerede har vært svært god, omtrent tolv timer etter at nyheten ble kjent.

– Det er det vi har gjort til nå som vi har fått best respons på, sier han.

Til toppen