matomo

Hur vi garanterar hög driftsäkerhet

David Wibergh, om Produkter & infrastruktur

Att kunna garantera en hög driftsäkerhet är inget lätt arbete. Det är bara att kolla på Pingdoms karta över hemsidor som har driftstörningar för att förstå hur ofta det sker att en applikation blir onårbar.

Vi har spenderat många timmar på att planera en arkitektur för våra servrar så att vi ska kunna garantera att OVPNs tunnel ständigt ska fungera. Vi har framförallt prioriterat att det alltid ska gå att ansluta till OVPNs tunnel, vilket betyder att även om hemsidan ligger nere ska VPN-tjänster fungera felfritt.

Arktiketuren ser ut som följande:


Databas

När en användare ansluter till OVPN görs det ett anrop till vårt API för att autensiera användaren. Om API:t (hemsidan) är nere går det inte att ansluta till våra VPN-servrar, även om de fungerar.

Vårt system har därav anpassats för att tillåta vem som helst att ansluta till våra VPN-servrar om vårt API är nere, oavsett om inloggningsuppgifterna är korrekta eller inte. När vårt API senare blir tillgängligt kommer personer med felaktiga inloggningsuppgifter så småningom bli nedkopplade.

I framtiden kan vi även komma att lägga till databasserver i fler datahallar för att ytterligare öka tillgängligheten, men i skrivande stund känner vi oss bekväma med att ha två servrar i två åtskilda datahallar.


Geografiskt åtskilda servrar

Vårt mål är att ha VPN-servrar i majoriteten av storstädern i EUropa för att minimera svarstiden för användare, men också för att ständigt ha en server tillgänglig, även om en hel stad skulle förlora strömmen. Varje datahall vi befinner oss i har multipla fiberanslutningar, UPS, kylaggregat och larmcentral.


Lastbalanserare

När man ansluter till våra VPN-servrar så ansluter man till pool.prd.se.ovpn.com. IP-adressen för varje VPN-server finns tillagt som ett A-record med en TTL på 60 sekunder för respektive subdomän.

Vi använder oss utav Round-robin DNS för att lastbalansera våra VPN-servrar. Om en VPN-server blir otillgänglig så tas den automatiskt bort från våra DNS-inställningar. När servern återigen blir tillgänglig läggs den till på nytt.

Fördelen med att vi använder oss utav Round-robin är att du aldrig behöver uppdatera din klientkonfiguration när vi lägger till flera VPN-servrar.


Bevakning

Vi använder LibreNMS som vi driftar själva för att säkerställa att våra servrar är tillgängliga. Om någon av servrarna skulle bli onårbar blir vi uppringda direkt så att arbetet för att återställa servern kan påbörjas.


Garanti

OVPN garanterar att VPN-tunneln är tillgänglig 99.5% av tiden. Om det är så att vi inte lyckas hålla det vi garanterar, får alla kunder med aktiva abonnemang tillägg på sin abonnemangstid.

För varje minut som passerar en tillgänglighet på 99.5% adderas det två minuter på kundernas abonnemang. Tillgängligheten granskas på månadsbasis, och om tillgängligheten inte har uppnått våra garanterad tid på 99.5% läggs då tiden till automatiskt.

David Wibergh