Det är tre datacenter i USA som står för merparten av jobbet med att serva alla världens Linkedinanvändare, i Texas, Virginia och Oregon. Det finns även ett mindre datacenter i Singapore, avsett för användare i Asien, Australien och Stilla havet. De fyra datacentrena är sammankopplade med en hastighet på 100 Gbit/s.

Dessutom finns det ett litet datacenter för Linkedins egen administration i Kalifornien. Men det går även att köra interna it-lösningar i de fyra stora datacentren.

Läs också: Så säkrar Google sina servrar – öppnar motorhuven i nytt dokument

IDG News hälsade nyligen på Linkedin och pratade med Sonu Nayyar, driftsansvarig, och Zaid Ali Kahn, ansvarig för infrastrukturteknik. Zaid Ali Kahn berättar att Linkedin hyr tom yta i datacenterbyggnader och sedan bygger hela lösningen själv, inklusive att dra el, lägga nätverkskablar och konstruera racken.

Till skillnad från vissa andra webbjättar så bygger inte Linkedin egna servrar.

– Vi köper rackservrar styckesvis. Vi har ett nära samarbete med oem-leverantörer för att uppfylla våra specifikationer. I början satsade vi på Ciscos UCS (Unified Computing System), men nu satsar vi allt mer på standardservrar, säger Zaid Ali Kahn.

Ett enkelt sätt att förstå vilka krav som ställs på Linkedins it-lösningar är att titta på vad som krävs för att förse användarna med information. Eftersom varje användare har olika relationer med andra användare så är varje sida som visas skräddarsydd.

– För varje byte som kommer in i vårt nätverk så letar vi 100 gånger i hela nätverket för att generera en sida, förklarar Sonu Nayyar.

linkedin datacenter

Samtliga fyra datacenter kan generera information för användare. Men man dirigerar användare till den kontaktpunkt (point of presence) som är närmast geografiskt. Det finns 13 sådana kontaktpunkter i världen. Data replikeras ständigt mellan de olika datacentren för att de ska kunna servera sidor så snabbt som möjligt till användare.

Det mest avancerade, och nyaste, av de fyra datacentren är det i Oregon som togs i drift i november. Serverkraften är tätare packade där än i de andra datacentren. Mätetalet som används är att man kör mer än 14 kilowatt per rack, jämfört med normala 7-9 kilowatt.

– Med så tätt packad datorkraft så blir det varmt. Vi var tvungna att komma på en innovativ lösning för kylning och som ett av de första företagen kör vi vattenkylningen av racken, säger Zaid Ali Kahn.

Han förklarar att det krävt en initial investering, men att man i det långa loppet räknar med att förbruka mycket mindre el.

Läs också: Häng med in i Facebooks "arktiska" datacenter i Luleå

Linkedin pumpar alltså vatten genom racken. Först kyls vattnet ner utomhus och sedan leds det genom värmeväxlare så att den varma luften vid racken kyls ner. Man behöver alltså inte hantera luft med omväxlande temperaturer.

En annan intressant aspekt gäller nätverksarkitekturen. Arbetet med att ta fram den kallades för Project Altair och finns beskrivet i en rapport. Kahn använder begreppet ”fabric” och beskriver lösningen som ”ett enda stort platt nätverk”.

– I ett traditionellt nätverk med mer än 100 000 servrar så kommer varje datapaket som skickas från en server till en annan att passera mellan 25 och 30 chippset, vilket medför fördröjningar på flera millisekunder. Vi har reducerat antalet chippset till färre än fem och mäter fördröjningen i mikrosekunder.

linkedin datacenter
Racken kyls med hjälp av cirkulerande vatten.

Varje rack har minst fyra vägar vidare ut i datacentrets nätverk och efter första stoppet efter racket finns ytterligare flera vägar. Resultatet blir ett enda stort nätverk med korta vägar mellan de individuella punkterna.

Samma typer av växlar används på olika nivåer i nätverket, till exempel på racknivå och på nästa nivå. Det innebär att Linkedin bara behöver sköta och hantera en enda typ av växel. Man har en bestämd specifikation för den, men kan köpa den från olika leverantörer. Varje server kommunicerar med hastigheten 50 Gbit/s och på nästa nivå är hastigheten 100 Gbit/s.

För att verkligen skräddarsy nätverksfunktionen har Linkedin skrivit egen kod för vissa av växlarna. Det gör man när tillämpningar ställer speciella krav. Ett exempel är att skicka trafikinformation till en lösning för maskininlärning, i avsikt att optimera nätverkstrafiken.