e-Commerce w ChmurzeHandel

Sieci dostarczania treści



Sieci dostarczania treści, znane jako CDN, to duże rozproszone sieci serwerów, które przyspieszają dostarczanie platformy do klientów, zapewniają bezpieczeństwo, przydzielają klientów do centrum danych, jeśli działasz więcej niż jeden, zapewniają dławienie i wiele innych wartości dodaje. Ich rola w nowoczesnym handlu elektronicznym na dużą skalę jest wszechobecna i często konieczna. Największy CDN na świecie ma 137 000 serwerów w 87 krajach. Serwery należące do CDN są często kolokowane bezpośrednio w centrach danych dostawców usług internetowych / szkieletowych i podłączane bezpośrednio do ich szybkich sieci. Możliwe, że CDN ma serwery w ciągu kilku milisekund od miejsca zamieszkania. Ze względu na bliskość klientów CDN-y są często nazywane obliczaniem krawędzi. Często CDN są całkowicie przejrzyste dla Twoich klientów. Przykładem wartości oferty CDN jest przyspieszenie stron internetowych opartych na HTML. Rysunek pokazuje rozkład czasu potrzebnego do załadowania strony głównej popularnej witryny e-commerce z siedzibą w USA dla anonimowego klienta. Oczekiwanie na odpowiedź po stronie serwera stanowi zaledwie 2,4% całkowitego czasu wyświetlania strony. Jest to bardzo reprezentatywne dla większości stron internetowych e-commerce. Sieci CDN są odpowiedzialne za dostarczenie pozostałych 97,6% w tym przykładzie. Sieci CDN mogą również przyspieszyć dostarczanie odpowiedzi po stronie serwera, co omówimy w dalszej części rozdziału. Sieci CDN odgrywają coraz większą rolę podczas przechodzenia do chmury. Chociaż sieci CDN od dawna są kojarzone z dostarczaniem stron internetowych (HTML, obrazy, CSS, JavaScript), ich rola znacznie się rozwinęła do tego stopnia, że są teraz kluczowe dla dostarczania całych platform. Przyjrzyjmy się ich różnorodnym rolom i tym, jak mogą poprawić wrażenia klientów.

Co to jest CDN?

Sieci CDN po raz pierwszy zaczęto wykorzystywać pod koniec lat 90. XX wieku do dostarczania treści statycznych na dużą skalę. W tym czasie większość stron internetowych eCommerce pochodziła z wewnętrznych korporacyjnych centrów danych należących do dostawców eCommerce. Podawanie dużej ilości treści statycznych wymaga ogromnej przepustowości Internetu i specjalistycznej infrastruktury sieciowej, która była wyjątkowo droga i skomplikowana. Efektem ubocznym dostarczania całej tej zawartości była poprawa wydajności. Poprawiona wydajność prowadzi do większej satysfakcji klientów, wyższych współczynników konwersji i większej lojalności wobec marki. Ponieważ wydajność stała się ważniejsza dla klientów CDN, a zwłaszcza klientów eCommerce, dostawcy CDN skupili się na poprawie wydajności. Przez pewien czas CDN były w zasadzie serwerami internetowymi obsługującymi treści statyczne. Ich propozycją wartości było zapewnienie dostępności i skalowania poprzez rozładowanie zawartości statycznej i dostarczenie jej z maszyn w pobliżu użytkownika końcowego. Z czasem dostawcy CDN rozwinęli swoją ofertę w celu:

•  Proxy HTTP żąda zwrotu z powrotem do twoich centrów danych (zwanych początkiem), skutecznie usuwając twoją platformę z Internetu, najpierw zmuszając wszystkie żądania HTTP przez CDN.
•  Zoptymalizowania dostarczania treści dzięki zaawansowanym funkcjom, takim jak wstępne pobieranie treści, optymalizacja sieci, kompresja, zmiana rozmiaru obrazu, geolokalizacja i modyfikacja HTML stron w celu poprawy renderowania i wydajności przeglądarki.
•  Buforowania całe odpowiedzi (w tym strony HTML) na krawędzi, takie jak strona główna dla anonimowych klientów.
•  Wywołania API pamięci podręcznej na brzegu. Odpowiedzi to zazwyczaj XML lub JSON.
•  Wartość oferty stanowi dodatkową zaporę sieciową, ochronę przed rozproszonymi atakami typu "odmowa usługi" oraz pełne rozwiązanie Global Server Load Balance.
•  Zmniejszenia zużycia procesora, multipleksując połączenia HTTP i utrzymując połączenia przy życiu przez dłuższy czas.

Pochodzenie jest terminem używanym przez dostawców Content Delivery Network odnoszą się do centrów danych, które faktycznie generują treści, które sieć dostarczania treści służy. Zazwyczaj oznacza to centra danych, w których masz serwery aplikacji.

Czy CDN są chmurami?

CDN są chmurami, aczkolwiek mniejszą formą chmur. Aby uznać się za część chmury, ofertę należy opisać za pomocą następujących trzech przymiotników:

•  Elastyczna
•  Na żądanie

Sieci CDN zawsze spełniają pierwszy i drugi wymóg, ale nie zawsze trzeci. Niektórzy dostawcy zezwalają na korzystanie z ich usług tylko na podstawie umów na rok lub dłużej. Stałe umowy długoterminowe są powszechnymi sposobami płacenia dostawcom CDN i dlatego technicznie nie mogą być uważane za przetwarzanie w chmurze. Pragmatyzm powinien rządzić podejmowaniem decyzji. Wybierz najlepszego dostawcę, niezależnie od tego, jak Cię rozliczają. Ponieważ ich podstawowa działalność jest obecnie dość dojrzała, sieci CDN przenoszą się w przestrzeń tradycyjnie należącą do dostawców chmury. Dostawcy usług w chmurze również przenoszą się do przestrzeni CDN, starając się oferować swoim klientom w pełni zintegrowane rozwiązania pionowo i zwiększyć swój udział w wydatkach na technologie klientów. Wszyscy dostawcy technologii starają się zapewnić swoim klientom kompleksowe, zintegrowane pionowo rozwiązania, w przeciwieństwie do produktów / usług punktowych. Rzeczywista różnica między sieciami CDN a dostawcami infrastruktury jako usługi polega na tym, że sieci CDN wciąż nie pochodzą z treści, które obsługują. Po prostu przyspieszają dostarczanie treści pochodzących z innych źródeł. Dostawcy infrastruktury jako usługi pochodzą z treści i mogą w pewnym stopniu przyspieszyć ich dostarczanie. Chociaż nakładają się na siebie, oba nadal robią zasadniczo różne rzeczy.

Udostępnianie treści statycznych

Pierwsza i pierwotna propozycja wartości CDN polega na tym, że prawie całkowicie eliminują one opóźnienia. Kiedy podciągasz swoją ulubioną witrynę e-commerce, wysyłasz pojedyncze żądanie HTTP na http://www.walgreens.com. W odpowiedzi na Twoją prośbę otrzymasz plik HTML o rozmiarze prawdopodobnie poniżej 100 kilobajtów. Gdyby tak było, nie potrzebowałbyś CDN. Średnie opóźnienie między Tokio a Londynem wynosi zaledwie 242 milisekundy. Opóźnienie to może być tolerowane dla jednego żądania HTTP. Przeglądarki internetowe muszą wysyłać setki żądań HTTP. Gdy Twoja przeglądarka internetowa odzyska kod HTML z pochodzenia, przeanalizuje go, aby dowiedzieć się, jaką inną zawartość musi pobrać, aby strona była renderowana:

< script type = "text / javascript" src = '/ gomez-tag.js' > < /script >
< script type = "text / javascript" src = 'http: //img.website.com/scripts/mbox.js' >
< /script >
< link rel = "ikona skrótu" type = "image / x-icon" href = "/ favicon.ico" / >
< script type = "text / javascript" src = "http://www.website.com/scripts/common.js" >
< /script >
< script type = "text / javascript" src = "http://img.website.com/scripts/menu.js" >
< /script >

Każda z tych opcji wymaga żądania HTTP, przynajmniej do momentu lokalnego buforowania obiektu w przeglądarce internetowej klienta. Liczba żądań HTTP może wynosić od kilkudziesięciu do kilkuset.

Udostępnianie treści statycznych

Pierwsza i pierwotna propozycja wartości CDN polega na tym, że prawie całkowicie eliminują one opóźnienia. Kiedy podciągasz swoją ulubioną witrynę e-commerce, wysyłasz pojedyncze żądanie HTTP na http://www.walgreens.com. W odpowiedzi na Twoją prośbę otrzymasz plik HTML o rozmiarze prawdopodobnie poniżej 100 kilobajtów. Gdyby tak było, nie potrzebowałbyś CDN. Średnie opóźnienie między Tokio a Londynem wynosi zaledwie 242 milisekundy. Opóźnienie to może być tolerowane dla jednego żądania HTTP. Przeglądarki internetowe muszą wysyłać setki żądań HTTP. Gdy Twoja przeglądarka internetowa odzyska kod HTML z pochodzenia, przeanalizuje go, aby dowiedzieć się, jaką inną zawartość musi pobrać, aby strona była renderowana:

< script type = "text / javascript" src = '/ gomez-tag.js'> < /script >
< script type = "text / javascript" src = 'http: //img.website.com/scripts/mbox.js' >
< /script >
< link rel = "ikona skrótu" type = "image / x-icon" href = "/ favicon.ico" / >
< script type = "text / javascript" src = "http://www.website.com/scripts/common.js" >
< /script >
< script type = "text / javascript" src = "http://img.website.com/scripts/menu.js" >
< /script >

Każda z tych opcji wymaga żądania HTTP, przynajmniej do momentu lokalnego buforowania obiektu w przeglądarce internetowej klienta. Liczba żądań HTTP może wynosić od kilkudziesięciu do kilkuset. Problem z ładowaniem wszystkich tych obiektów w ciągu kilku sekund polega na tym, że przeglądarki internetowe ładują obiekty w seriach około 10 żądań HTTP. Sytuacja staje się jeszcze gorsza w przypadku witryn, które są udostępniane odbiorcom w sieciach o dużych opóźnieniach, takich jak te, które nie znajdują się fizycznie blisko źródła, sieci komórkowe itp. Nie obejmuje to czasu potrzebnego na wygenerowanie odpowiedzi przez źródło. Wygenerowanie odpowiedzi HTTP dla strony dynamicznej może potrwać sekundę lub dłużej. a zasada pozwala na obsługę stron internetowych z jednego centrum danych do globalnej publiczności. Zakładając, że tych samych 15 podróży w obie strony z powrotem do centrum danych pochodzenia w celu renderowania strony, strona internetowa obsługiwana z Londynu do Tokio z 260 milisekundami opóźnienia spowodowałaby narzut 3,9 sekundy z powodu opóźnienia. Po uwzględnieniu czasu potrzebnego do renderowania HTML, podania treści statycznej i tak dalej, należy oczekiwać czasu reakcji ponad 6 sekund. Oprócz znacznego zmniejszenia opóźnień zawartość statyczna jest pobierana szybciej, ponieważ pakiety muszą przebyć krótszą odległość przez mniejszą liczbę przeskoków sieciowych. Przy przeciętnych stronach głównych zbliżających się do 2 MB klienci bardzo muszą pobierać dużo danych szybko. Korzyści biznesowe tego są oczywiste: większe, bardziej interaktywne strony mogą być dostarczane z mniejszym opóźnieniem, niż gdybyś nie korzystał z CDN.

Udostępnianie treści dynamicznych

Technologia służąca do dostarczania treści statycznych jest dość prosta. Sieci CDN budują dziesiątki, a nawet setki centrów danych i podają statyczne treści z serwerów internetowych w swoich centrach danych we własnej domenie (np. Http://www.website.com/images) lub twojej subdomeny (np. Http: //images.website.com). Kiedyś obrazy musiały być podawane ze strony http://customer.cdn-vendor.com. Treści są przyspieszane przede wszystkim dlatego, że są tak blisko klientów. Aby wyjść poza statyczne dostarczanie treści, CDN może działać jako serwer proxy przed całą witryną. To podejście wymaga, aby rekord DNS wskazywał na dostawcę CDN i aby cały ruch przechodził przez CDN. Przy takim podejściu rekord DNS faktycznie wskazuje na dostawcę CDN. Żądania dotyczące http://www.website.com przechodzą przez CDN. Korzyści z tego są ogromne dla wydajności i bezpieczeństwa. Przyjrzyjmy się różnym funkcjom włączonym w poniższych sekcjach.

Buforowanie całych stron

Zdecydowana większość żądań HTTP dotyczy treści statycznych. Spośród przeciętnych 151 żądań HTTP związanych z renderowaniem strony po raz pierwszy, pierwsze żądanie HTTP dotyczy kodu HTML strony. Dopóki przeglądarka internetowa nie załaduje i nie przeanalizuje kodu HTML, żadne z pozostałych 150 kolejnych żądań HTTP nie zostanie wykonane. Innymi słowy, znajduje się na ścieżce krytycznej. Żądania HTML nie zawsze muszą być przekazywane z powrotem do źródła, ponieważ przez większość czasu HTML jest zawsze taki sam dla danego zestawu parametrów wejściowych. Na przykład żądania HTTP wysyłane przez anonimowych klientów dla strony głównej (np. Http://www.website.com) prawdopodobnie zwrócą ten sam kod HTML, chyba że zastosujesz zaawansowane kierowanie na podstawie położenia geograficznego użytkownika. Zdecydowana większość ruchu na platformie e-commerce jest buforowana ze względu na tak zwany lejek ruchu e-commerce. Nie obejmuje to nawet ruchu z nieludzkich botów, które stanowią obecnie 61% żądań HTTP. Wszystkie odpowiedzi na boty mogą być obsługiwane bezpośrednio z CDN. Pozostałe żądania HTTP przedstawione na tej ścieżce pochodzą od anonimowych klientów strony głównej, stron kategorii, stron produktów i tak dalej. Ponownie większość tych stron może być obsługiwana również z CDN. Tylko stosunkowo niewielka część całkowitego ruchu pochodzi od rzeczywistych klientów, którzy są faktycznie zalogowani. Jeszcze mniejszy odsetek klientów faktycznie kupuje cokolwiek. Wielu klientów odwiedza witryny z trwałymi plikami cookie do logowania. Strony internetowe witają klientów, mówiąc: "Witaj ponownie, [Imię]!" Lub coś podobnego. Jeśli personalizacja nie jest zbyt znacząca, możesz po prostu zapisać w pamięci podręcznej całą stronę HTML w sieci CDN, ale wywołać wywołanie zwrotne AJAX do miejsca pochodzenia, aby zapełnić ją dynamiczną treścią, na przykład nazwą klienta. Pod względem kodu wyglądałoby to mniej więcej tak:

< head >
< script src = "/ app / jquery / jquery.min.js" > < /script >
< script >
$ .ajax ({url: "/ app / RetrieveWelcomeMessage", sukces: funkcja (wynik) {
// odzyskuje "Welcome Back, Kelly!"
$ ("# WelcomeMessage"). Html (wynik);
}});
< /script >
< /head >
< body >
< h2 > < div id = "WelcomeMessage" > Zaloguj się < /div >
... reszta strony internetowej
< /body >

Możesz to powtórzyć dla innych dynamicznych obszarów na swojej stronie internetowej, takich jak sekcja "Możesz polubić" lub główny obraz na stronie głównej. Możesz także wykonać tylko jedno wywołanie zwrotne do swojego źródła, z pojedynczą odpowiedzią JSON lub XML zawierającą wszystkie dane wymagane do prawidłowej personalizacji strony. Zaletą tego podejścia jest to, że usuwa ładowanie pierwszej strony HTML ze ścieżki krytycznej (ponieważ żądania AJAX są asynchroniczne), ale nadal można stosować ograniczoną personalizację. Klienci uzyskują wysoką wydajność, a twoje pochodzenie jest ledwo dotknięte. To świetne podejście, które zostało omówione dalej w części 11. Niewielką różnicą jest buforowanie różnych wersji każdej strony w CDN. Sieci CDN są w stanie głębiej przyjrzeć się żądaniu HTTP w polach, takich jak źródłowy adres IP, agent użytkownika, parametry adresu URL i pliki cookie. Informacje te mogą być następnie wykorzystane przez CDN do odkrycia takich faktów:

•  Czy klient jest zalogowany
•  Przeglądarka internetowa / agent użytkownika
•  Fizyczna lokalizacja (czasami dokładna do zip + 4 w USA lub kod pocztowy poza USA)
•  Szybkość połączenia internetowego
•  Ustawienia regionalne
•  System operacyjny
•  Wymiary ekranu
•  Obsługa Flash
•  Możliwości obsługiwane przez każde urządzenie

Jeśli masz odmiany stron oparte na tych atrybutach, możesz po prostu zapisać każdą odmianę w sieci CDN i poprosić o pobranie odpowiedniej wersji strony dla każdego klienta. Na przykład sprzedawca prowadzący sprzedaż międzynarodową online może mieć wersje każdej strony głównej dla danego kraju, przy czym każda lokalizacja ma swoją własną kopię. Pozwoliłoby to zaoszczędzić dziesiątki, jeśli nie setki milisekund w krótkim czasie, jednocześnie pozwalając, aby strony były cięższe i bardziej dynamiczne. Można teraz buforować nawet wiele stron wyników wyszukiwania. W przypadku dużych platform eCommerce 20% wyszukiwanych haseł stanowi 80% ruchu. Tak długo, jak możesz wyciągnąć parametry wyszukiwania i umieścić je w adresie URL, możesz buforować strony. Strony wyników wyszukiwania wymagają adresów URL takich jak search.jsp? Query = shirt & size = xl & onsale = true. Ta sztuczka może spowodować, że jeszcze więcej Twojej platformy będzie obsługiwanych bezpośrednio z CDN.

Wcześniejsze pobieranie zawartości statycznej

Niektórych stron nie można buforować statycznie. Na przykład strony realizacji transakcji są z natury dynamiczne i nie można ich łatwo buforować. W przypadku użycia jako odwrotnego serwera proxy sieci CDN mogą przyspieszyć dostarczanie zawartości statycznej dla wszystkich stron. Około 150 ze średnio 151 żądań HTTP dotyczących początkowego załadowania strony dotyczy zawartości statycznej. Ponieważ odpowiedź HTTP przechodzi z powrotem przez CDN po powrocie do klientów, CDN może analizować HTML i proaktywnie wysyłać współbieżne żądania HTTP do źródła dla treści statycznej, której jeszcze nie ma. Sieci CDN mają dziesiątki, a nawet setki centrów danych, a każde centrum danych ogólnie utrzymuje własną autonomiczną pamięć podręczną. CDN może wysyłać wszystkie żądania HTTP jednocześnie w błyskawicznie szybkiej sieci, podczas gdy twoja przeglądarka musi wysyłać żądania HTTP w partiach po 10 w wolnej sieci "ostatniej mili", zanim dotrze nawet do zoptymalizowanej sieci CDN. Pobieranie wstępne jest rozsądne w użyciu i może przynieść znaczne korzyści.

Bezpieczeństwo

Sieci CDN są w stanie zapewnić wyjątkowe bezpieczeństwo, po prostu usuwając swoje pierwotne centra danych z Internetu. Aby dotrzeć do swojego pochodzenia, wszyscy muszą najpierw przejść przez CDN. Już samo to zapewnia ogromną wartość poprzez zmniejszenie profilu ataku. Głęboka obrona lub zwiększenie bezpieczeństwa warstw jest doskonałą obroną przed atakami. Sieci CDN mają kilka sztuczek, które mogą zastosować, aby zapewnić Ci bezpieczeństwo. Rozproszone ataki typu "odmowa usługi", w ramach których osoby atakujące zalewają twoje pochodzenie ruchem próbując wyeliminować cię z połączenia z siecią, stanowią duży problem. Oprócz specjalnych technik zapobiegania rozproszonym atakom typu "odmowa usługi" i zatrzymywania ich, sieci CDN mają wiele tysięcy fizycznych serwerów w dziesiątkach, a nawet setkach centrów danych, które mogą wchłonąć ruch z ataku. Na przykład może to być pomocne dla amerykańskich dostawców eCommerce, ponieważ wiele ataków pochodzi z Azji. Serwery CDN w Azji pochłaniają ruch po ataku, pozostawiając serwery i pochodzenie z USA, aby nadal obsługiwać ruch do Stanów Zjednoczonych i innych klientów na całym świecie w normalny sposób. Ponadto ataki mają tendencję do atakowania jednej strony internetowej na raz, pozostawiając nadwyżkę pojemności w sieci CDN dostępnej, aby poradzić sobie z ruchem z ataku. CloudFlare słynie z szybkości przesyłania 118 gigabajtów danych na sekundę, 4 pomimo tego, że jest dość małym CDN w stosunku do swoich konkurentów. Większość platform e-commerce ma jakąś formę rozproszonego ograniczenia ataków typu "odmowa usługi", czy to od dedykowanego dostawcy oprogramowania jako usługi, czy CDN. W dzisiejszych czasach wyjątkowo rzadko osoby atakujące mogą uzyskać dostęp do systemu operacyjnego jako root. Korzystanie z sieci CDN i innych pośredników, w połączeniu z silnymi zaporami ogniowymi, w dużej mierze zapobiegło tym atakom. Ataki takie jak wstrzyknięcie SQL (zmuszanie bazy danych do wykonania własnego arbitralnego SQL), wykonywanie skryptów między witrynami (co pozwala na kradzież sesji i związanych z nimi uprawnień) oraz wstrzykiwanie kodu (wykonywanie własnego dowolnego kodu) są znacznie bardziej prawdopodobne. Na przykład wstrzykiwanie SQL jest częstą luką:

< %
String userId = request.getParameter("userId");
String query = "SELECT * FROM user where userId=" + userId + "'";
Statement st = conn.createStatement();
ResultSet res = st.executeQuery(query);
% >

Ustawienie userId na 12345 lub 1 = 1 przez wykonanie adresu URL i productId = 12345 '% 20 lub% 20'1% 3D1 spowoduje, że aplikacja wydrukuje szczegóły każdego użytkownika w bazie danych bez jawnego narażenia jakiegokolwiek systemu. Wiele sieci CDN ma pełne zapory ogniowe aplikacji internetowych do sprawdzania kodu HTML i oceny dla słabych punktów. Na przykład jakikolwiek parametr o wartości select% 20 *% 20 z% 20credit_card (wybierz * z karty kredytowej) nigdy nie powinien być dopuszczony do powrotu do aplikacji. Gdy prowadzisz wielkoskalową platformę e-commerce, przekonasz się, że niektóre boty mogą siać spustoszenie, żądając zbyt wielu stron zbyt szybko. Ponieważ większość botów nie rozumie sesji HTTP, ostatecznie utworzą nową sesję HTTP dla każdego wyświetlenia strony. Większość sieci CDN pozwala na umieszczenie na czarnej liście według adresu IP, agenta użytkownika, podsieci itp. Wiele sieci CDN oferuje również pełną zgodność z powszechnymi ramami bezpieczeństwa, takimi jak FedRAMP, 5 PCI DSS, 6 HIPAA, 7 i ISO.8. Zgodność z tymi ramami pomaga wykazać, że tym dostawcom można zaufać w przypadku najbardziej wrażliwych danych.

Dodatkowe oferty CDN

Oprócz wydajności i bezpieczeństwa sieci CDN oferują wiele usług pomocniczych, takich jak DNS i pamięć masowa. Sieci CDN są strategicznie rozmieszczone dzięki dużej powierzchni serwerów na całym świecie podłączonych bezpośrednio do sieci szkieletowych. Z tego punktu widokowego łatwo jest zepchnąć inne dodatki na krawędź, korzystając ze znacznej infrastruktury mieć na miejscu

Optymalizacja interfejsu użytkownika

Kod frontendowy większości witryn e-commerce jest bardzo źle napisany. Poszczególni programiści pracują nad własnymi małymi fragmentami strony, często nikt nie patrzy na duży obraz. Kiedy ktoś dba o wydajność, zwykle jest już za późno, aby wrócić i naprawić problemy. Wiele sieci CDN oferuje teraz przepisywanie HTML, dzięki czemu będą dynamicznie przepisywać HTML na brzegu dla każdego konkretnego klienta na podstawie czynników takich jak typ urządzenia, rozdzielczość, przeglądarka internetowa i szybkość połączenia. Optymalizacje mogą obejmować:

•  Zmniejszenie liczby żądań HTTP poprzez połączenie CSS i JavaScript oraz wstawianie
•  Przekazywanie często odwoływanych elementów statycznych do przeglądarki internetowej, zanim żądanie HTTP zostanie wysłane do CDN
•  Dokonywanie optymalizacji specyficznych dla przeglądarki
•  Odroczenie wczytywania zewnętrznych sygnałów JavaScript (np. Analityki i reklam) do momentu pełnego wyrenderowania strony
•  Korzystanie z ładowania obrazów na żądanie lub na żądanie, które ładuje obrazy podczas przewijania klienta
•  Pobieranie obrazów z wielu poddomen, aby umożliwić przeglądarce równoległe pobieranie większej liczby plików
•  Wstępne pobieranie DNS
•  Zmniejszenie białych znaków
•  Zmiana rozmiaru zdjęć
•  Korzystanie z kompresji
•  Przepisywanie kodu HTML w celu wykorzystania funkcji specyficznych dla przeglądarki

Jeśli nie możesz samodzielnie przeprowadzić tych optymalizacji, zdecydowanie zalecamy skorzystanie z tych usług.

DNS / GSLB

DNS to obszar, w który CDN zainwestowały znaczne kwoty, zarówno w standardowy hosting DNS, jak i bardziej zaawansowany Global Server Load Balancing (GSLB). Omówimy DNS i GSLB obszernie w rozdziale 10. DNS jest czymś, czego żaden sprzedawca e-commerce nie powinien sam hostować. Wady hostingu obejmują:

•  Koszt prawidłowej budowy i utrzymania DNS
•  Wyzwanie związane z wdrażaniem systemu DNS w wielu centrach danych lub wielu sieciach
•  Obawy dotyczące bezpieczeństwa

-DNS jest często celem exploitów.
-NDNS można ograniczyć za pomocą rozproszonych ataków typu "odmowa usługi".
-SDNS można oszukać, aby zalać ofiarą rozproszonego ataku typu "odmowa usługi".

•  Występuje opóźnienie, a klienci kwerendują serwery DNS

Właściwie hostowane rozwiązania DNS, czy to w sieci CDN, czy nie, są w stanie pokonać te wyzwania przede wszystkim dzięki swojej zdolności do koncentracji. Dostawcy, którzy sprzedają tę usługę, mogą zatrudnić najlepszych ekspertów na świecie, korzystać z najlepszych technologii i stosować najlepsze techniki bezpieczeństwa. Koszt krańcowy nowego konsumenta jego usługi jest bardzo niski, co pozwala mu zarabiać, oszczędzając pieniądze. Sieci CDN oferują możliwość odpowiadania na zapytania DNS od brzegu, prawdopodobnie zaledwie kilka milisekund od każdego klienta.

W przypadku tradycyjnego systemu DNS może być konieczne wybranie się do innego kraju lub nawet do kraju, aby uzyskać adres IP. DNS jest o wiele bardziej skomplikowany, ale jak widać, obsługa DNS od brzegu ma zalety. Oprócz mapowania nazw domen z powrotem na adresy IP, DNS może być również używany do przypisywania klientów do centrów danych. Każde centrum danych, z którego prowadzisz platformę e-commerce, ogólnie przedstawia światu jeden adres IP. Jeśli brakuje Ci wielu centrów danych, potrzebujesz sposobu na określenie, do którego centrum danych powinien zostać przypisany każdy klient. Nazywa się to globalnym równoważeniem obciążenia serwera (GSLB) i skutecznie usprawnia DNS. GSLB działa poprzez ciągłe przekierowywanie klientów do właściwego centrum danych przez kombinację czynników, w tym dostępność, pojemność / wykorzystanie centrum danych, arbitralne wagi i wydajność w czasie rzeczywistym. Sieci CDN mają dość wyjątkową przewagę nad tradycyjnymi dostawcami hostingu DNS, ponieważ są w stanie dokładnie odwzorować wydajność Internetu w czasie rzeczywistym i ponieważ mają tak wiele serwerów podłączonych do tak wielu różnych sieci na całym świecie. To jest często przypadek, w którym najszybsza trasa między dowolnymi dwoma punktami nie jest najkrótsza. Wydajność sieci, szybkość, przeciążenie, przeskoki i ingerencja ze strony rządów odgrywają rolę w zmniejszaniu przepustowości sieci i opóźnień. Kolejną zaletą sieci CDN jest to, że mogą monitorować faktyczny czas, w którym każde centrum danych odpowiada na żądania HTTP, ponieważ często służą one jako serwery proxy.

Dławienie

Przed chmurą każda platforma miała stałą pojemność, którą mogła obsłużyć bez zerwania. Na przykład, jeśli wdrożyłeś 500 serwerów, a każdy serwer ma 10 000 jednoczesnych klientów, wiesz, że nie możesz obsłużyć więcej niż 5 000 000 jednoczesnych klientów. Nie było sensu pozwalać nikomu na dostęp do Twojego pochodzenia, jeśli wiesz, że to nie zadziała. Sieci CDN oferują możliwość dławienia, dzięki czemu 5000 000 klientów zostanie skierowanych do wirtualnej poczekalni. Te poczekalnie oferują przynajmniej pomocne wiadomości o sytuacji, w tym szacunkowe dane, kiedy strona będzie ponownie dostępna. Poczekalnie mogą również zawierać gry lub nawet pełne katalogi, aby klienci mogli zacząć zakupy, a następnie zakończyć po ponownym uruchomieniu witryny. Zastosowanie ograniczania przepustowości chroni twoje pochodzenie przed nadmiernym wykorzystaniem, jednocześnie utrzymując zadowolenie klientów, niż gdyby po prostu otrzymali komunikat o błędzie. Tradycyjne urządzenia równoważące obciążenie również oferują dławienie, ale istnieją dwie wady.
Pierwszą jest to, że same moduły równoważenia obciążenia mogą zostać przytłoczone. Jak każdy układ fizyczny, mają swoje granice. Jest również podłączony do sieci i innej infrastruktury fizycznej, która sama może zostać przytłoczona. Drugą wadą jest to, że tradycyjne moduły równoważące obciążenie muszą kierować ruch przepełnienia do strony poczekalni. Jeśli ta strona znajduje się w tym samym centrum danych, które jest przytłoczone, istnieje duża szansa, że sama poczekalnia nie będzie działać. Same sieci CDN mogą wyświetlać treści bezpośrednio z brzegu, niezależnie od tego, co dzieje się w centrum danych. Może istnieć oprogramowanie, które nie może skalować się do określonego punktu lub oprogramowanie, którego nie można wdrożyć w chmurze, a zatem ma za sobą stałą pojemność sprzętu. Żadna platforma nie skaluje się w nieskończoność. Z tych powodów, nawet przy elastyczności, jaką przynosi chmura, zaleca się dławienie.