operativsystemer og programvare
Drives fra Norge: Nå slipper Yahoo sitt største åpne kildekode-prosjekt
Norske Jon Bratseth er ledende arkitekt.
Vespa er motoren bak Yahoo sin big data-prosessering. Denne uken gjøres Vespa tilgjengelig som åpen kildekode i GitHub.
En av de ledende arkitektene bak Vespa er norske Jon Bratseth. Mange av brukerne av plattformen til Vespa sitter i California, og Bratseth forteller at han og andre i teamet reiser dit noen ganger i året for å diskutere både med dem og med andre som jobber med teknologi i firmaet.
Bratseth skriver i en pressemelding på vegne av Vespa at å slippe Vespa som åpen kildekode vil være det største prosjektet Yahoo har offentliggjort, både med tanke på omfang og antall linjer med kode.
Prosjektet Vespa startet i 2003, først som søkemotor, og har skrittvis blitt en komplett teknologi for å prosessere og servere personalisert innhold i stor skala.
Teknologien brukes på en rekke ulike plattformer, blant annet Yahoo.com, Yahoo News, Yahoo Sports, Yahoo Finance, Yahoo Gemini og Flickr.
– Med åpen kildekode får du tilbake mer enn du investerer
Vespa håndterer daglig milliarder av søk og dokumenter for å blant annet gi anbefalinger og personaliserte brukeroppelvelser.
Prosjektet har ifølge Oath selv potensialet til å bli Yahoos største bidrag til open source-samfunnet siden Hadoop.
– Hvorfor har dere gjort Vespa tilgjengelig som åpen kildekode?
– Yahoo har alltid vært veldig investert i å jobbe med open source-miljøet siden Yahoo startet Hadoop-prosjektet i 2006, sier Bratseth.
Visepresident for engineering i Yahoo, Peter Cnudde, supplerer:
– Open source har vært en veldig effektiv måte for oss å håndtere denne type teknologier fordi du får andre mennsker til å bidra dersom du klarer å bygge et miljø rundt det – som vi har som mål å gjøre med Vespa også, sier Cnudde.
– Så hvis du håndterer open source på rett måte kan du faktisk skape et miljø og en interesse, og du får tilbake mer enn du investerte, så det ser vi absolutt på som noe positivt for vår forretning.
– Åpner for mer dynamiske applikasjoner
– Hva slags bruksområder ser dere for dere at Vespa-koden vil ha for applikasjoner laget av open source-miljøet?
– Vespa er en plattform for å prosessere store datamengder – og store datamengder og mange forespørsler fra sluttbrukre er vanskelig å håndtere, og må vanligvis distribueres over mange noder, og ellers ta hensyn til en del kompromisser. Vespa løser dette problemet, og gjør det lettere å utsette beregningene til brukeren faktisk utfører forespørselen, forteller Bratseth.
Han forklarer at man vanligvis forhåndssberegner man for eksempel 1000 forskjellige svar modellert på en typisk og stereotyp bruker.
– Med Vespa kan man snevre inn resultatene og skreddersy til nøyaktig den brukeren som utfører spørringen, og bruke all data man har opp til det øyeblikket brukeren foretar spørringen. Typiske eksempler på bruksområder er personaliserte søkeresultater. Vi tror derfor at Vespa vil åpne for mer dynamiske applikasjoner som for eksempel benytter seg av søk, sier Bratseth.
Artikkelen fortsetter under illustrasjonen.
Oath/Yahoo skriver også i pressemeldingen at Vespa gjør det mulig for deres team å bygge applikasjoner som:
- Velger innholdselementer ved å bruke SQL-aktige spørringer og tekstsøk
- Organisere alle relevante treff for å generere data-drevne sider
- Rangere treff med håndskrevne eller maskinlærte relevansmodeller
- Servere resultater med responstider på få millisekunder
- Skrive data i sanntid, tusenvis av ganger per sekund per node
- Vokse, krympe og rekonfigurere klynger mens man serverer og skriver data
Vespa kan bli kjørt lokalt eller i skyen. Oath/Yahoo gjør tilgjengelig både Docker-bilder og rpm-pakker, i tillegg til guider for hvordan du kan kjøre dem på din egen laptop eller som en AWS-cluster.
Ifølge pressemeldingen deler de snart en guide til å bygge applikasjoner i bloggen sin, men man kan også sette i gang umiddelbart ved å følge start-guiden i dokumentasjonen til Vespa.
– Noen problemer tar et tiår å løse på en god måte
Jon Bratseth er utdannet sivilingeniør på NTNU, noe han påpeker at de fleste andre ved Yahoo Trondheim er.
– Jeg begynte å jobbe med dette i 2002. På den tiden var vi kjerneteamet til FAST og drev web-søkemotoren alltheweb.com. Teamet vårt, og søkemotoren vi hadde utviklet ble kjøpt av Overture i 2003 –resten av FAST ble kjøpt av Microsoft senere, forteller Bratseth.
Han fortelle videre at Overture i sin tur ble kjøpt av Yahoo senere det året.
– I Yahoo fikk vi oppgaven å bygge en platform som kunne brukes som backend i mange forskjellige produkter som har det til felles at de har mange brukere og store datamengder og trenger å regne ut noe hver gang en bruker besøker en side eller applikasjon, sier Bratseth.
– Helt siden da har vi drevet utvikling av denne plattformen fra kontoret i Trondheim og jobbet med å stadig gjøre den bedre og i stand til å løse nye problemer for eksempel personalisering og bruk av avanserte maskinlærte modeller, sier han.
Han forteller at Yahoo i våres ble kjøpt av Verizon, og at de ble en del Oath – som også består av andre som blant annet AOL, TechCrunch, Engadget, Tumblr og Huffington Post.
Bratshet har vært arkitekt hos Vespa i hele denne perioden, noe han påpeker at er unormalt lenge i hans bransje:
– Men noen problemer som er verd å løse tar et tiår eller to å gjøre bra. Fordelen med å gå såpass i dybden som vi gjør i Trondheim er at vi blir i stand til å lage noe som er helt i verdensklasse – utviklere hos oss får tid og ressurser til å bli best innenfor det området de jobber i, og blir som regel værende til de ser virkningen av valgene de tar. I tillegg er det jo ikke mange team i verden som håndterer internettrafikk på den skalaen vi gjør – hundretusenvis av brukerforespørsler hvert sekund – og definitivt ingen andre i Norge, sier Bratseth.