CDN – Content Delivery Network
Content Delivery Network jest bardzo istotnym elementem w przypadku skalowania serwisu. Globalna sieć serwerów cache może znacząco przyspieszyć wczytywanie się serwisu dla użytkowników którzy są geograficznie znacznie oddaleni od miejsca gdzie znajduje się serwer. Dodatkowo CDN jest w stanie obsłużyć znacznie większy ruch niż pojedynczy serwer. Co w konsekwencji przekłada się na znaczne oszczędności zamiast budować dużą infrastrukturę na takie wydarzenia można użyć już gotowego produktu. CDN z reguły pełni może pełnić też rolę load balancera, ochrony DDoS (o ile serwis został poprawnie skonfigurowany) oraz filtra WAF chroniącego przed atakami aplikacyjnymi lub spamem.
Zalety CDN
- przyspiesza czasy ładowania strony – poprzez dystrybucje treści jak najbliżej użytkownika,
- zmniejsza koszt transferu – transfer wygenerowany przez serwery jest jednym z istotnych elementów kosztów utrzymania infrastruktury. Dzięki CDN i technikom cache w CDN, ilość transferu wygenerowania przez serwer może zostać znacząco obniżona.
- zwiększona dostępność serwisu oraz redundancja – duża ilość ruchu lub też awarie sprzętu mogą doprowadzić niedostępności strony. CDN dzięki swej rozproszonej architekturze może obsługiwać więcej ruchu oraz zapewnić redundancje kierując ruch do kilku serwerów aplikacji, dużo lepiej niż kilkanaście serwerów aplikacji znajdujących się w jednej lokalizacji.
- zwiększa bezpieczeństwo strony – CDN może świadczyć funkcję mitygacji ataków DDoS, SSL offload, optymalizacji treści, kompresji i wiele innych optymalizacji.
Wady CND
CDN to dodatkowa warstwa która wprowadza również swoje ograniczenia.
- HTTP/2 – trzeba wybrać CDN który poprawnie wspiera HTTP/2, mechanizmy, które wprowadził ten standard, np. SPDY.
- w niektórych przypadkach występuje dodatkowy narzut czasu ładowania stron dynamicznych (dłuższa trasa od użytkownika do serwera), dlatego też trzeba zwrócić szczególną uwagę na wybór dostawcy CDN, czy jest on obecny w lokalizacji gdzie mamy najwięcej klientów.
- wymagane są dodatkowe moduły w konfiguracji serwera pozwalające zamieniać adresy IP serwerów CDN na właściwe adresy użytkowników.