Skip to content →

Jak v Clever Monitoru řešíme statický obsah

Čas od času, když se tak bavím s lidmi z komunity, dojde řeč i na to, jak nakládáme se servírováním statického obsahu (obrázky, JS, CSS…) uživatelům. Všichni, kdo toto řeší nebo to chtějí řešit, tak ví, že se jedná o neskutečný serverový problém se škálováním počtu spojení na server, kdy primárně chcete servírovat backend a ne mít starosti s frontendem. Mimo jiné i to je právě důvod, proč to, co netřeba servírovat lokálně, se servíruje bokem – přes CDN. Dalším třeba může být to, že chceme optimalizovat datový tok a objem směrem ven z datacentra, nebo zajistit dostupnost obsahu napříč světem díky automatické redundanci souborů v rámci jednotlivých POPs.

Dlouhou dobu jsme v Clever Monitoru žádné CDN neměli, protože si to dost často klienti řešili na své straně a volání statického obsahu bylo vždy realizováno jako vzdálené spojení.

Čas plynul, administrace i správa dat v aplikaci se vyvíjela a my přišli na podzim 2015 s tím, že všechen obsah bude vždy klientům servírovaný z našich datacenter. I v případě, že klient linkuje data vzdáleně – v tom případě dojde k jejich automatickému stažení k nám na servery a nahradí se všechny linky správně k nám. Proč? Třeba už jen proto, abychom mohli garantovat dostupnost služby, protože občas se nám stávalo, že pod vlivem velké rozesílky třeba server klienta nestíhal.

Dlouho jsme pátrali, hledali… až tu jsme objevili službu MaxCDN, kterou jsme využívali do jara tohoto roku. Služba je to neskutečně super. Založíte účet, základní tarif je někde na $9/měsíc á 100 GB přenesených dat, což nikoho nezabije a nastavení neskutečně pohodlné. Vytvoříte si na své doméně CNAME DNS záznam, který referujete na jejich server, počkáte, až TTL uplyne; rovněž nastavíte origin, odkud se budou data pro CDN brát a můžete servírovat obsah. Hned.

Vše funguje zcela jednoduše v režimu proxy transparence. Zavoláte odkaz se statickým obsahem, ten se mrkne na server providera CDN, pokud je nenalezeno, tak si to stáhne soubor od vás a servíruje klientovi. Pokud je soubor již při prvním hitu nalezen na lokálním storage, obsah se nabízí rovnou a váš server není ničím zatížen. Jedná se o tzv. zero-hit-mechanism.

Jako bonus si samozřejmě můžete navolit dobu platnosti záznamů, práci s hlavičkami (headers), SSL…

Bohužel, služba je z našeho pohledu již nevyužívaná proto, že jsme ji v násobcích přerostli. Ono pokud máte malý traffic na webu, tak asi není o čem, nicméně pokud rostete velmi rychle, tak dost počítáte, jak data poskytovat, ale neprovařit na tom celý zisk společnosti.

Naštěstí tuto službu koupila někdy v minulém roce společnost s velmi podobným obchodním záměrem – StackPath. Pro nás dost výhra, protože se jedná již o enterprisově připravenou službu, která si poradí s lecčím.

Máte větší datové balíčky (řádově petabytes), komplet bez poplatků služby jako SSL a mnohé další, jako třeba WAF (Web Application Firewall).

Použití na chlup stejné, jen jinak vypadá administrace. Pravděpodobně se dost inspirovali i od MaxCDN, který koupili, protože dost formulářů je stejných, nebo minimálně velmi podobně řešených v rámci UX/UI.

Ještě váháte s nasazením CDN? Neblázněte…

  • Ušetříte za datový provoz.
  • Ušetříte i spojení na server, čímž se vám váš webový server odvděčí více odbavenými klienty 🙂
  • Obsah bude dostupný po všech datacentrech CDN providera (POP).
  • Máte další hezké grafy ke sledování 🙂

Je asi jedno, koho si vyberete. My jsme si vybrali MaxCDN/StackPath z důvodu poměru cena/výkon/POPs. A že nemáme Akamai? No a… 😛

Published in Práce

Comments

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *