Sieć dostarczania treści (CDS) to rozproszony system serwerów rozmieszczonych w wielu lokalizacjach geograficznych, które dostarczają treści użytkownikom z pobliskiego punktu, a nie z pojedynczego serwera źródłowego. Zmniejszając fizyczną odległość, jaką musi pokonać żądanie, sieć ta zmniejsza opóźnienia, a przechwytując żądania na brzegu sieci, zmniejsza obciążenie infrastruktury źródłowej.
Redukcja opóźnień to główny mechanizm i ma większe znaczenie, niż się wydaje, ponieważ efekt ten kumuluje się w trakcie wielu tur ładowania strony. Nawiązanie połączenia, negocjacja TLS i każde kolejne żądanie generują czas tur, więc obsługa z lokalizacji oddalonej o pięćdziesiąt milisekund, a nie o trzysta milisekund, poprawia nie tylko jeden pomiar, ale każdą sekwencyjną zależność obciążenia. W przypadku witryny z międzynarodową publicznością obsługiwaną z jednego regionu jest to często największa dostępna poprawa wydajności.
Nowoczesne sieci dostarczania treści oferują znacznie więcej niż tylko buforowanie zasobów statycznych. Kończą one TLS na brzegu sieci, stosują kompresję, konwertują i zmieniają rozmiar obrazów w locie, udostępniają nowoczesne formaty przeglądarkom, które je obsługują, buforują pełne odpowiedzi HTML dla stron, które na to pozwalają, i coraz częściej realizują logikę aplikacji w lokalizacjach brzegowych. Zapewniają również funkcje bezpieczeństwa, w tym ograniczanie ataków typu „odmowa usługi”, zapory sieciowe dla aplikacji internetowych i zarządzanie botami, co dla wielu organizacji jest równie ważnym powodem do ich wdrożenia, co wydajność.
Konfiguracja pamięci podręcznej to obszar, w którym tkwi większość praktycznych korzyści, ale i największe ryzyko. Nagłówki sterujące pamięcią podręczną określają, co jest przechowywane, jak długo i w jakich warunkach jest ponownie walidowane, a ich błędna konfiguracja skutkuje albo niskim wskaźnikiem trafień w pamięci podręcznej, co z kolei prowadzi do utraty korzyści, albo nieaktualną treścią serwowaną użytkownikom, co może mieć poważne konsekwencje biznesowe, gdy w grę wchodzą ceny, stany magazynowe lub spersonalizowana treść. Projekt kluczy pamięci podręcznej ma równie duże znaczenie: klucze zawierające zbędne zróżnicowanie, takie jak parametry śledzenia, fragmentaryczne buforowanie danych dla każdego użytkownika lub niepotrzebna segmentacja urządzeń, dzielą pamięć podręczną i zmniejszają wskaźniki trafień, nie dostarczając niczego.
Spersonalizowana i dynamiczna treść wymaga świadomego podejścia, a nie wykluczenia. Obsługa buforowanej powłoki strony z fragmentami personalizowanymi ładowanymi osobno lub użycie logiki brzegowej do składania odpowiedzi pozwala na buforowanie większości treści, przy jednoczesnym zachowaniu poprawności części specyficznych dla użytkownika. Witryny, które oznaczają wszystko jako niemożliwą do buforowania ze względu na osobisty charakter treści, zazwyczaj tracą większość dostępnych korzyści.
Ochrona źródła to korzyść, którą często odkrywa się dopiero podczas incydentu. Skok ruchu z kampanii, wzmianka w mediach lub fala botów, która mogłaby przytłoczyć infrastrukturę źródła, jest w dużej mierze absorbowany na brzegu sieci, gdy buforowanie jest dobrze skonfigurowane, i przechodzi przez nią bez problemu, gdy nie jest. Celowe testowanie tego, poprzez pomiar, jaka część realistycznego wzorca ruchu dotarłaby do źródła, jest bardziej przydatne niż zakładanie, że sieć zapewnia ochronę poprzez swoją obecność. Dla firm, w których okresy szczytowego ruchu są przewidywalne, weryfikacja zachowania pamięci podręcznej przed szczytem, a nie w jego trakcie, stanowi różnicę między dniem wzmożonego ruchu a awarią.
Strategia oczyszczania decyduje o pewności operacyjnej. Wdrożenie, które zmienia szablony lub zasoby, musi umożliwiać niezawodne i szybkie unieważnianie zawartości pamięci podręcznej, której to dotyczy. Standardowe podejście, czyli wersjonowane nazwy plików zasobów w połączeniu z oczyszczaniem HTML na podstawie tagów lub klucza zastępczego, warto wdrożyć, zanim incydent sprawi, że staną się one pilne. W praktyce ta konfiguracja znajduje się w wydajność sieci pracować w ścisłej koordynacji z rozwój produktów, ponieważ decyzje dotyczące buforowania ograniczają sposób działania aplikacji i żadna ze stron nie może ich rozsądnie podejmować samodzielnie.