Dette er maskinene som leverer Tek.no til deg

(Bilde: Jørgen Elton Nilsen, Hardware.no)

Disse maskinene leverer Tek-nettverket til deg

Ble med inn i vårt aller helligste.

Da det som i dag utgjør Tek.no-nettverket ble startet for 15 år siden var vi en gutteromsbedrift. Grunnleggerne våre jobbet dag og natt med den første iterasjonen av Prisguide, slik at nettshoppere anno 1998 ikke skulle bli lurt til å betale i dyre dommer hos en nettbutikk som tok en utrolig høy pris, når det samme produktet kostet langt mindre i en annen nettbutikk.

Arbeidet var tidkrevende og tungtvint. Faktisk ble de gigantiske pris-tabellene til Prisguide oppdatert manuelt i Excel på daglig basis. Og når flere bidragsytere kom til og vi begynte å skrive både nyheter og tester knyttet til Prisguide, ble disse skrevet i HTML og lastet inn i kildekoden til nettstedet manuelt.

Det var lite å si på engasjementet, men infrastrukturen og systemet som ligger bak nettstedet vårt i dag er midt sagt av en annen verden. Prisguide og Hardware.no – som det hele startet med – har i dag vokst til et mediehus som når opptil 600 000 nordmenn hver uke.

Lurer du på hvem som skriver for Tek.no?
Her kan du lese om hvem vi er »

Slike besøkstall kan ikke lenger håndteres av et et kostnadsfritt netthotell ala GeoCities, eller en vanlig PC som server – stuet inn i hjørnet til et bøttekott. I dag er situasjonen en ganske annen. Moderne serverutstyr, avansert programvare og spennende løsninger sørger for at nettsidene våre kan takle alt det de måtte møte.

Foto: Jørgen Elton Nilsen, Tek.no

I dag har vi mer enn én utvikler for hver andre redaksjonelle medarbeider her hos oss. Utviklerne våre jobber iherdig med å utvikle nye spennende løsningner, som e-sportsatsningen på Gamer.no og prissammenligningstjenesten vår Prisguide. I tillegg passer utviklerne på noe som er ganske så unikt i norsk sammenheng: Ved å gjøre noe få andre har gjort – å selv kode vårt eget publiseringssystem fra bunnen av og opp – har vi fått et uhyre kraftig publiseringssystem laget for nettmedier.

Leserne våre har gang på gang etterlyst mer innsikt i utstyret og teknologien som holder Tek.no gående. Vi har nå oppdatert denne artikkelen, som er basert på en lignende sak vi publiserte i 2013.

Eget publiseringssystem 

Nettsidene våre er kodet rundt de mest vanlige standardene på nettet. På serversiden holder vi oss i hovedsak til PHP. Mot deg som bruker presenterer vi nettsidene med HTML5, CSS3 og JavaScript med jQuery som rammeverk. 

Bak alle artiklene vi har på Tek.no sitter det et eget publiseringssystem som vi har laget selv. Vi kaller det Neo, og det er et system som er skreddersydd for akkurat det vi trenger.

Mange publiseringssystemer for store nettmedier på nett er i utgangspunktet laget for papiraviser. Dette har endret seg mye de siste årene, men likefullt er flere av de største systemene et papirsystem som har fått en nettmodul og andre nett-løsninger bakt inn. Vårt system er imidlertid kodet fra bunnen av med tanke på nettpublisering, og har en rekke spesialmoduler som er tilpasset oss.

Du har for eksempel forumet vårt, som alle artikler kobles mot, og ikke minst Prisguiden. Denne koblingen er noe Neo mer eller mindre automatisk tar seg av, ved å opprette forumtråder, og kobler tester og artikler opp mot produktene vi omtaler i Prisguide.  På den måten kan vi raskt og smidig dele bilder, informasjon om produkter, statistikk og grafer på tvers av systemene. 

Neo er også lagt opp for å ta livet av så mange tidstyver som mulig. En artikkel opprettes med ett klikk, der vi i én fane av systemet setter ingress og artikkelegenskaper, før vi i en annen fane kan laste opp bilder med drag-and-drop, eller henter de inn fra en tidligere artikkel. I fanen «sider» kan vi skrive hele artikkelteksten, enten i ren HTML eller med en WYSIWYG-editor.

Neo ble første gang utviklet i 2003. PHP ble valgt som rammeverk, fordi vi på den tiden hadde et sterkt miljø rundt språket i utviklingsavdelingen vår, og fordi det er lett å sette seg inn i. Siden den gang har publiseringssystemet blitt utvidet mer eller mindre daglig, og får støtt og stadig nye funksjoner.

En av de nyeste funksjonene er en bilde-slider, som lar deg sammenligne to og to bilder på én flate. Du kan se et eksempel nederst i denne artikkelen, der vi har brukt funksjonen for å sammenligne flere forskjellige grafikkinstillinger.

Responsive nettsider

Nettsidene er videre laget rundt to konsepter: Mobiler prioriteres først, og nettsidene er laget med responsivt design.

Som de fleste andre sider på nett, ser vi at bare flere og flere av dere besøker oss fra en mobil enhet. Bare det siste året har denne andelen doblet seg, og står nå en betydelig andel av trafikken vår. Hver gang vi nå lager en ny funksjon på nettsidene våre, lager vi den med utgangspunkt i at den skal fungere bra på mobil, før vi så tilpasser den til vanlige PC-er. 

For å gjøre dette på mest effektivt vis, tar vi i bruk en relativt fersk teknikk – responsivt design. Det er grunnen til at vi ikke sender deg til «mobil.tek.no» når du besøker oss fra mobil, men til «tek.no». Det er den samme nettsiden for både mobiler og PC-er, men den tilpasser seg skjermstørrelsen din. Da får du det samme innholdet uansett enhet. Eller sagt på en annen måte, du får ikke mindre fordi du besøker oss fra mobil.

Foto: Jørgen Elton Nilsen, tek.no

Denne teknologien har utviklet seg enormt det siste året, og med dagens design på Tek.no står vi helt fritt til å sjonglere rundt på nettsiden avhengig av hvor stor skjerm du har – uten at vi trenger en dedikert mobilside. Attpåtil er nettsidene våre 80 prosent raskere enn før.

Akkurat det er essensen av responsivt design, det er samme design for alle plattformen. Ser vi at du har en skjerm med 800 piksler eller mer i bredden, for eksempel et nettbrett eller en bærbar PC, får du fullversjonen av Tek.no. Men når skjermstørrelsen er mindre enn dette, begynner vi å brette om siden litt.

Om du nå sitter på en PC, kan du se hvordan dette skjer ved å dra i nettleservinduet ditt og krympe bredden på siden. Desto mindre skjermvinduet blir, desto mer av siden vil brettes om og tilpasses. Går du under en viss bredde, erstatter vi også hovedmenyen med et mer touch-vennlig grensesnitt.

Vi løser dette ved å legger til en meta-tag i kildekoden vår. I CSS-fila setter vi da forskjellige punkter for når siden skal brettes om. I dag har vi for eksempel en maksbredde på 800 piksler for nyere telefoner og nettbrett, som Galaxy Note og iPad, og 480 piksler for de fleste andre telefoner, som iPhone og Galaxy S5.

Fordelen med dette for oss, er at vi kan utvikle tjenester og funksjoner parallelt for mobil, nettbrett og PC. Det krever imidlertid at vi på baksiden av det hele må jobbe litt mer, for å få elementene til å laste på en smart måte på alle plattformer. Til mobil må man for eksempel ikke ha bilder med like høy kvalitet, som du får servert på PC. Noen ganger er det til og med aktuelt å bruke helt andre bilder, fordi mobilbrukere er i en annen modus enn PC-brukere.

Varnish tar unna det meste

Beveger vi oss over til serverne våre, finner vi også mye spennende teknologi. Som vi kommer nærmere inn på om litt så har vi kraftig maskinvare i serverne våre, men det hjelper ikke mye uten skikkelig programvare på toppen og god konfigurasjon.

Som nettsted har vi også en litt annen utfordring: Trafikken vår er aldri jevn. Om natten har vi naturlig nok mye mindre trafikk enn vi har på dagtid, men det er ikke alt. I ny og ne må vi også være i stand til å ta unna flere titalls ganger normaltrafikken vår, gjerne i løpet av et lengre tidsrom, uten at nettsidene skal mukke. En Apple-lansering er for eksempel regelrett ekstrem trafikkmessig, fordi unormalt mange kommer innom nettsidene våre den ene timen selve lanseringen pågår. 

Vi tar derfor i bruk et spennende system som VG, ved Poul Henning Kamp, først laget og videre utviklet sammen med Redpill Linpro. Det heter Varnish, og brukes ikke bare av oss, men også nettsider som gjerne er flere hundre ganger større enn Tek.no, blant annet VG.no.

Varnish er en cache-teknologi, som alene tar unna omtrent 60 prosent av all trafikken vår, når vi inkluderer forumet, og gjerne mye mer om vi bare teller artiklene våre. I minnet til disse Varnish-serverene hurtiglagres alle kriker og kroker av nettstedet vårt etter første gangen noen har forespurt en spesifikk fil. 

Sparer mye kapasitet

Foto: Jørgen Elton Nilsen, Tek.no

For å tegne et bilde av hvordan serverene og programvaren jobber, tar vi for oss en helt vanlig forespørsel mot dem. Du taster inn www.tek.no i nettleseren, og trykker «enter».

Forespørselen din treffer da først av alt én av to av våre fysiske servere. Disse er identiske og inneholder Varnish, men også HAProxy – en lastbalanser. Her bor de forskjellige IP-adressene som peker til nettsidene i nettverket vårt, og da blant annet Tek.no. Denne lastbalanseren følger med på trafikken, og sender det videre til Varnish-delen av serveren. 

Når du tastet «www.tek.no» i nettleseren får du opp forsiden, en side som besøkes flere titalls tusen ganger daglig. I stedet for at hver eneste person som skal laste forsiden må sendes dypt inn i server-oppsettet vårt for å finne artikkelteksten, bildene, rammeverket, stilarket, diverse knapper og mye mer, for så å sette alt dette sammen til én nettside, kaster Varnish-serveren den ferdige siden rett tilbake til deg. Det sparer oss for mye kapasitet, og du får siden tilbake omtrent syv ganger så raskt enn om vi ikke hadde hatt Varnish. 

Faktisk er det slik at de fleste som besøker oss nesten ikke rører resten av serverutstyret vårt. De sender en forepørsel, som kommer inn i Varnish-serveren, og blir ferdigbehandlet der. 

Dette er en teknologi som er spesielt nyttig når vi får store puljer med trafikk samtidig, noe oppsettet tar unna uten og mukke. Varnish blir bare mer og mer effektivt desto større presset mot én enkelt artikkel er, og uten denne teknologien ville raskt hele oppsettet blitt betydelig tregere – i verste fall ville det stagnert. 

For om Varnish ikke kan gi deg svaret på forespørselen, må den lenger inn i serversystemet vårt, til en serie med virtuelle maskiner.

Les mer om Varnish:
Den norske IT-suksessen som brukes av millioner »

14 virtuelle maskiner

For de siste prosentene med forespørsler som Varnish-serverene ikke kan svare på, har vi åtte bladservere klare. Fire av disse holder kontroll på databasene våre, som alle kjører på en versjon av RedHat Linux.

De siste fire av totalt ti bladservere inneholder 14 virtuelle maskiner som holder styr på hele sjappa. Ni av de virtuelle maskinene kjører Scientific Linux, PHP-rammeverket, Memcached, Nginx, og andre nødvendige applikasjoner.

I tillegg har vi 5 virtuelle maskiner på de samme bladene, som vi hovedsaklig bruker under utviklingen av nettsidene våre. Her kan utviklingsgutta våre leke helt fritt og herje som de vil med nettstedet, teste løsninger og se om alt fungerer før de ruller det ut «live» til deg. 

Hvis HAProxy oppdager at en av de ni «offentlige» virtuelle maskinene ikke svarer lenger, tas den automatisk ut av oppsettet. Dette sjekkes hvert eneste sekund, og er det fare på ferde blir leverandøren vår – Redpill Linpro – varslet uansett når det er på døgnet.

Les hva som skjedde lenge før Hardware, Amobil, Akam og Mobilen ble til Tek.no: Norges største teknologinettverk ble startet fra gutterommet »

Tore Anderson, nettverk- og infrastrukturtekniker i Redpill Linpro, har bidratt med teknisk assistanse i denne artikkelen.

Heng med over til neste side, så skal du få se serverutstyret »

Gå til side

Kommentarer (11)

Norges beste mobilabonnement

Mars 2017

Kåret av Tek-redaksjonen

Jeg bruker lite data:

Komplett MiniFlex 1GB


Jeg bruker middels mye data:

Telio FriBruk 5GB+EU


Jeg bruker mye data:

Komplett MaxiFlex 10GB


Jeg er superbruker:

Komplett MegaFlex 30GB


Finn billigste abonnement i vår mobilkalkulator

Forsiden akkurat nå

Til toppen