Co to jest CDN, jak działa i dlaczego warto z niego korzystać?!
Opublikowany: 2016-03-22Wyobraź sobie świat, w którym każda strona internetowa ładuje się natychmiast, bez ani jednej milisekundy czasu oczekiwania. Chociaż nie jest to jeszcze możliwe, pojawiają się technologie, które pomagają nam zbliżyć się o kilka kroków.
Sieć dostarczania treści (w skrócie CDN ) jest jednym z kroków do osiągnięcia tego celu.
W tym artykule wyjaśnię, czym jest CDN, jak model CDN wypada w porównaniu z tradycyjnym modelem hostingu, omówię zalety i wady korzystania z CDN w Twojej witrynie, a na koniec pokażę, jak uruchomić witrynę z CDN-em.
Co to jest CDN?
CDN to system serwerów internetowych, geograficznie rozproszonych po całym świecie, z których każdy zawiera kopię Twojej witryny internetowej, w celu poprawy sposobu dostarczania treści użytkownikom.
Jaki jest główny cel sieci CDN?
Głównym celem CDN jest wydajniejsze ( tzn. szybsze ) udostępnianie zawartości Twojej witryny użytkownikom końcowym.
Jeśli korzystasz z sieci CDN, gdy użytkownik ładuje zawartość Twojej witryny, serwer CDN znajdujący się najbliżej użytkownika udostępni tę treść.
Ponieważ treść ma mniejszą odległość do przebycia, szybciej dociera do użytkownika, co oznacza, że czas ładowania Twojej witryny jest krótszy!
Jak jednak zobaczymy, to nie jedyna zaleta korzystania z CDN!
Jak działa CDN?
Jak już wspomnieliśmy, jeśli korzystasz z CDN w ramach konfiguracji hostingu, na każdym serwerze w sieci znajduje się kopia Twojej witryny.
Te serwery CDN nazywane są serwerami „krańcowymi”, ponieważ znajdują się na obrzeżach sieci i najbliżej użytkowników.
Inaczej jest w przypadku serwera „Origin”, który jest dostarczany przez Twoją firmę hostingową i na którym Twoje pliki są automatycznie przesyłane i przechowywane podczas tworzenia i aktualizowania witryny internetowej.
Być może zastanawiasz się, w jaki sposób Twoja witryna internetowa przechodzi z serwera początkowego na serwery brzegowe?
Cóż, to zależy od tego, czy Twój CDN jest typu push, czy pull …
Co to jest Pull CDN (i jak działa)?
Konfiguracja CDN typu pull polega na pobieraniu plików z serwera źródłowego , gdy są potrzebne.
Gdy użytkownik po raz pierwszy zażąda pliku, serwer brzegowy będzie musiał odczytać plik z serwera pochodzenia (tj. Twojego obecnego dostawcy usług hostingowych).
Serwer brzegowy będzie następnie przechowywać wersję tego pliku w pamięci podręcznej. Wersja „w pamięci podręcznej” oznacza po prostu kopię pliku z tego konkretnego momentu.
Przyszłe żądania dotyczące pliku będą pochodzić bezpośrednio z serwera brzegowego (a nie pobierane z serwera źródłowego), dopóki plik nie wygaśnie (stanie się nieaktualny).
Po wygaśnięciu plik będzie musiał zostać ponownie odświeżony na serwerze źródłowym i zapisany w pamięci podręcznej.
Co to jest Push CDN (i jak działa)?
Usługa CDN typu push umożliwia użytkownikom przesyłanie („wypychanie”) plików do samej sieci CDN , a po przesłaniu pliki są następnie natychmiast dystrybuowane do serwerów brzegowych.
Dzięki temu Twoje pliki są już przechowywane na każdym serwerze brzegowym, bez konieczności pobierania ich z serwera źródłowego.
Jest to mniej powszechna opcja; jest to jednak korzystne w przypadku dystrybucji dużych plików multimedialnych , ponieważ kopia multimediów będzie zawsze przechowywana na serwerach brzegowych.
Czy CDN zastępuje Twój hosting?
Nie, CDN nie zastępuje Twojego hostingu . Działają wspólnie.
Wszystkie Twoje oryginalne pliki są przechowywane na serwerze Twojego dostawcy usług hostingowych. To jest serwer pochodzenia.
Serwery CDN zawierają tylko kopie plików na serwerze źródłowym.
Jeśli pozbędziesz się hostingu, CDN nie będzie miał skąd kopiować plików!
Podsumowanie wideo CDN
Jeśli nadal jesteś trochę zdezorientowany, oto krótki film, który w bardzo prosty sposób wyjaśnia CDN:
Problem z hostingiem bez CDN
W tradycyjnym modelu hostingu wszystkie pliki Twojej witryny (HTML, CSS, obrazy itp.) są hostowane w jednym miejscu na świecie – w zasadzie tam, gdzie znajduje się centrum danych Twojego dostawcy usług hostingowych.
Gdy użytkownicy końcowi uzyskują dostęp do Twojej witryny, zawartość witryny jest zawsze pobierana z tego jednego miejsca .
Jest tego kilka wad:
1. Prędkości maleją wraz z dystansem
Jeśli centrum danych Twojego dostawcy usług hostingowych znajduje się w Teksasie, za każdym razem, gdy użytkownik będzie chciał załadować Twoją witrynę, zawartość zostanie dostarczona z tego centrum danych w Teksasie.
Prędkości transferu mają tendencję do zmniejszania się, im dalej użytkownik znajduje się geograficznie od serwera, ponieważ pliki muszą pokonać większą odległość. Im dalej użytkownik znajduje się od centrum danych, tym dłużej trwa ładowanie witryny.
Zatem użytkownik witryny w Wielkiej Brytanii będzie ładować Twoją witrynę wolniej niż użytkownik w USA ze względu na bliskość centrum danych w Teksasie.
2. Ograniczone stawki transferu
Rozważmy sytuację, w której wielu użytkowników próbuje załadować Twoją witrynę w tym samym czasie.
Tak jak Twój komputer osobisty ma ograniczenia dotyczące szybkości przesyłania plików w sieci (przepustowości), tak i serwery mają ograniczenia dotyczące szybkości przesyłania plików.
Czy Twój obecny hosting jest przygotowany na taki wzrost ruchu?
Należy szczególnie rozważyć rozwiązania w zakresie hostingu współdzielonego, w których stawki transferu nie są określone. W tych i innych środowiskach szybkość transferu może być dość ograniczona, co może mieć zauważalny wpływ na wydajność w przypadku wzrostu ruchu w Twojej witrynie.
Z tych powodów wzrost ruchu może wydłużyć czas ładowania Twojej witryny, ponieważ zawartość witryny jest wysyłana do wszystkich użytkowników końcowych jednocześnie.
Zalety korzystania z CDN
Dzięki modelowi CDN możemy przezwyciężyć wady tradycyjnego modelu hostingu. Rzeczywiście CDN ma kilka zalet, takich jak:
1. Krótszy czas ładowania (poprzez udostępnianie treści z serwera znajdującego się najbliżej użytkownika)
Pamiętaj, że im dalej użytkownik znajduje się od centrum danych Twojego dostawcy usług hostingowych, tym dłużej trwa ładowanie Twojej witryny, ponieważ pliki muszą zostać przesłane na większą odległość.
Sieć CDN będzie udostępniać treści z serwera brzegowego , który jest najbliżej każdego użytkownika końcowego lub jest dla niego najbardziej wydajny, w zależności od jego lokalizacji na świecie.
Na przykład, jeśli ktoś w Chinach załaduje Twoją witrynę, CDN może automatycznie załadować kopię zawartości Twojej witryny z serwera w Chinach. Jeśli ktoś miałby uzyskać dostęp do Twojej witryny z Wielkiej Brytanii, serwer w Wielkiej Brytanii może zamiast tego zostać użyty do załadowania Twojej witryny temu konkretnemu użytkownikowi.
CDN automatycznie określi, który serwer będzie najskuteczniejszym wyborem dla każdego użytkownika końcowego.
2. Lepsza obsługa skoków ruchu (poprzez rozproszony transfer plików)
Jak wspomniano wcześniej, serwery zawierają ograniczenia dotyczące ilości danych, które można za ich pośrednictwem przesłać jednocześnie. CDN pomaga poprawić wydajność Twojej witryny, gdy wielu użytkowników próbuje uzyskać do niej dostęp jednocześnie.
Biorąc pod uwagę charakter działania CDN, jednoczesne żądania kierowane do Twojej witryny będą prawdopodobnie obsługiwane przez wiele serwerów w wielu obszarach na całym świecie, w zależności od tego, skąd pochodzą żądania.
W ten sposób jeden konkretny serwer nie jest zalewany wszystkimi żądaniami użytkowników. Dostawcy CDN wdrożą również inne procedury, aby mieć pewność, że Twoje pliki będą ładowane efektywnie nawet przy gwałtownym wzroście ruchu.
3. Większe bezpieczeństwo (poprzez łagodzenie i ochronę DDoS)
Atak DDoS ma miejsce wtedy, gdy Twój serwer jest zalewany nielegalnymi żądaniami dotyczącymi Twojej witryny internetowej, których celem jest awaria witryny lub spowodowanie zwiększonych opłat za przepustowość z powodu nadmiernego transferu.
Twój dostawca CDN prawdopodobnie zaoferuje mechanizmy wykrywania i łagodzenia DDoS, które pomogą poprawić wydajność i czas pracy Twojej witryny w obliczu ataku DDoS.
Wady korzystania z CDN
Korzystanie z CDN ma jednak kilka wad.
1. Koszt: sieci CDN są zazwyczaj płatne za użycie
Dostawcy CDN często pobierają opłaty na podstawie ilości przesyłanych treści. Z tego powodu Twój miesięczny koszt różni się w zależności od miesiąca .
Twój obecny dostawca usług hostingowych może już uwzględnić pewną kwotę miesięcznego transferu w ramach Twojego obecnego pakietu hostingowego; dlatego musisz rozważyć, czy dodatkowy koszt CDN jest opłacalny dla obecności Twojej firmy w Internecie.
Należy pamiętać, że dostawcy „push CDN” często pobierają również opłaty za przestrzeń dyskową (patrz poniżej).
Aby pomóc Ci zrozumieć, ile będzie Cię kosztować przejście do chmury, rozważ następujący scenariusz…
Załóżmy, że rozmiar Twojej witryny wynosi 1 MB, a Twój dostawca CDN pobiera opłatę w wysokości 0,085 USD za GB transferu. Koszt dostępu 10 000 użytkowników do całej Twojej witryny wyniósłby: ((1/1024)×10 000) ÷ 0,085 = 114 centów, czyli 1,14 USD za 10 000 żądań .
Jak widać nie jest to wygórowany koszt.
Jednak wiele ofert CDN odczytuje Twoje pliki z ich lokalizacji u obecnego dostawcy usług hostingowych, co wiąże się z dodatkowym kosztem. Ten serwer początkowy może być systemem przechowywania plików, takim jak Amazon S3, lub może to być Twój obecny dostawca usług hostingowych.
Jeśli Twoja witryna zawiera treść dynamiczną, nadal będziesz musiał utrzymywać rozwiązanie hostingowe, które będzie w stanie przetwarzać tego typu pliki.
Ponieważ rozwiązania CDN są często płatne za użycie, atak DDoS może być niekorzystny finansowo – drastyczny wzrost transferów plików spowodowany tego typu atakiem spowodowałby wzrost kosztów dla Twojej firmy.
Jednak dostawcy CDN pracują nad wykrywaniem i łagodzeniem tego typu ataków, jak omówiono wcześniej.
Uwaga: wielu najlepszych dostawców usług hostingowych uwzględnia obecnie w swoich planach bezpłatne usługi CDN.
2. Dodatkowa konfiguracja potrzebna do buforowania zmieniającej się zawartości
Pamiętaj, że CDN działa poprzez buforowanie kopii zawartości Twojej witryny na całym świecie.
Jednak większość witryn internetowych zawiera treści, które zmieniają się w zależności od konkretnego użytkownika uzyskującego dostęp do witryny lub innych kryteriów (wiadomości powitalne dla konkretnego użytkownika, koszyki zakupów itp.).
Buforowanie tego typu treści na całym świecie nie jest tak proste, ponieważ jest ono stale aktualizowane na każde żądanie.
Pliki przesyłane strumieniowo to kolejna forma treści, która wymaga szczególnej uwagi, aby móc ją wykorzystać w sieci CDN. Poniżej znajdziesz więcej szczegółów.
Inne uwagi dotyczące CDN
Odświeżanie pamięci podręcznej plików podczas aktualizacji plików
Gdy zajdzie potrzeba aktualizacji jednego z plików za pomocą CDN typu pull, wszystkie kopie w pamięci podręcznej na całym świecie również będą musiały wygasnąć, aby mogły zostać odświeżone przy następnym żądaniu.
Aby tak się stało, może być konieczne poczekanie na domyślny czas wygaśnięcia (który różni się w zależności od dostawcy) lub wymuszenie natychmiastowego unieważnienia plików w pamięci podręcznej (poprzez ręczne wyczyszczenie pamięci podręcznej).
Chociaż aktualizacja plików może obejmować ten dodatkowy krok, statyczne pliki Twojej witryny prawdopodobnie nie będą aktualizowane zbyt często.
Zapewnij wystarczający czas wygaśnięcia rzadko używanych plików
Rozwiązania Pull CDN niekoniecznie zawierają kopię plików na każdym serwerze brzegowym przez cały czas (omówione bardziej szczegółowo poniżej). Jeśli nie ma już wersji pliku w pamięci podręcznej, plik należy pobrać z serwera pochodzenia.
Jest to większy problem w przypadku większych plików, takich jak filmy, ponieważ wpływ ładowania tego typu plików z serwera źródłowego na wydajność może być dość znaczny.
Niektóre rozwiązania tego problemu polegają na wydłużeniu czasu wygaśnięcia pliku z pamięci podręcznej (jeśli to możliwe), aby plik nie musiał być tak często odświeżany z serwera pochodzenia, lub na przechowywaniu dużych plików w rozwiązaniu CDN typu push (patrz poniżej ).
Treść statyczna a dynamiczna
Strony internetowe zawierają dwa podstawowe typy danych – treść statyczną i treść dynamiczną.
Większość treści, które widzisz na stronie internetowej (tj. wygląd i styl, obrazy, filmy, pliki CSS i JavaScript itp.) to zazwyczaj treść statyczna. Treść statyczna nigdy się nie zmienia (chyba że ponownie prześlesz plik źródłowy).
Na przykład logo Twojej firmy nie zmieni wyglądu, niezależnie od tego, kto odwiedza Twoją witrynę i ile razy ją przeładowujesz.
Treść dynamiczna zmienia się w zależności od tego, kto żąda danych lub innych kryteriów.
Na przykład, kiedy Jan loguje się na swoje konto bankowe, widzi swoje salda. Jednak gdy David się loguje, saldo nie jest takie samo , jak to, co widzi Joe.
Inny przykład: po zalogowaniu się do panelu WordPress zobaczysz komunikat typu „Cześć, John!”.
Treść, która zmienia się w zależności od użytkownika lub innych kryteriów, jest uważana za treść dynamiczną.
W jaki sposób CDN obsługuje treści statyczne, dynamiczne i przesyłane strumieniowo?
W tym miejscu dochodzimy do ważnego pytania: „Jakie pliki mogę przechowywać w CDN?”.
Ponieważ pliki statyczne zwykle pozostają takie same przez cały czas, niezależnie od tego, kto ładuje Twoją witrynę, dobrze nadają się do przechowywania w pamięci podręcznej na całym świecie za pośrednictwem sieci CDN, ponieważ pliki są rzadko aktualizowane.
Jeśli chodzi o zawartość dynamiczną (tj. koszyk), zazwyczaj nie ma jednego pliku, który można przechowywać w pamięci podręcznej na całym świecie, ponieważ często zmienia się on w zależności od użytkownika lub innych kryteriów.
Dostawcy CDN wdrażają jednak rozwiązania poprawiające efektywność ładowania treści dynamicznych, takie jak znalezienie najszybszej trasy między użytkownikiem a serwerem hostingowym.
Wielu dostawców CDN wdrożyło również rozwiązania umożliwiające strumieniowe przesyłanie multimediów na żywo i na żądanie za pośrednictwem CDN.
Jak skonfigurować CDN
Teraz prawdopodobnie myślisz: „Jestem przekonany, że moja witryna internetowa potrzebuje CDN! Jak dokonać przejścia?”.
Odpowiedź zależy od tego, jakiego dostawcy usług hostingowych używasz i jakiego typu rozwiązania CDN potrzebujesz.
Niektórzy dostawcy usług hostingowych oferują opcję łatwego włączenia CDN za pośrednictwem panelu sterowania. Inne konfiguracje wymagają dodatkowych kroków.
Dodaj warstwę CDN do całej witryny
Ta opcja jest jedną z najprostszych do skonfigurowania dla właścicieli małych firm. Każde żądanie użytkowników dotyczące dostępu do treści Twojej witryny zostanie najpierw przefiltrowane przez system zarządzany przez dostawcę CDN.
Treść statyczna zostanie załadowana z sieci CDN, natomiast zawartość dynamiczna zostanie załadowana bezpośrednio z istniejącego serwera (można też zastosować technikę poprawiającą czas ładowania zawartości dynamicznej, jak omówiono wcześniej).
W rzeczywistości pull CDN zostanie wdrożony za kulisami w celu dystrybucji plików za pośrednictwem CDN.
CloudFlare jest jedną z takich firm oferujących tego typu rozwiązania CDN. Niektóre firmy, takie jak CloudFlare, zapewnią także inne ulepszenia wydajności Twojej witryny, wykraczające poza samą CDN.
Jak to skonfigurować
Głównym krokiem w konfiguracji tego typu systemu CDN jest aktualizacja rekordów DNS Twojej witryny, aby wskazywały warstwę CDN. W razie potrzeby warstwa CDN będzie następnie kierować żądania do serwera pochodzenia.
Nadal będziesz musiał zachować swoje obecne rozwiązanie hostingowe, aby CDN mógł pobierać z niego pliki.
Jak skonfigurować Pull CDN
Określasz lokalizację plików na serwerze źródłowym, które mają być dystrybuowane w sieci CDN. Następnie CDN pobierze pliki z serwera źródłowego, jeśli będzie to konieczne.
Będziesz także musiał zaktualizować łącza do plików w swojej witrynie do punktu końcowego CDN lub zaktualizować ustawienia DNS, aby wskazywały CDN.
Jak skonfigurować Push CDN
Prześlij swoje pliki do dostawcy CDN. Będziesz także musiał zaktualizować łącza do plików w swojej witrynie do punktu końcowego CDN lub zaktualizować ustawienia DNS, aby wskazywały CDN.
Czy powinienem opuścić mojego dostawcę usług hostingowych?
Nie. Nawet po zakupie rozwiązania CDN będziesz musiał pozostać u dostawcy usług hostingowych.
Należy pamiętać, że sieć CDN służy do buforowania zawartości; jeśli Twoja witryna internetowa zawiera jakąkolwiek dynamiczną treść, nadal będziesz musiał zachować obecne rozwiązanie hostingowe, aby móc przetwarzać tę treść.
Które firmy hostingowe zapewniają CDN?
Wiele firm hostingowych udostępnia obecnie CDN w ramach swoich planów hostingu współdzielonego:
- SiteGround (użyj własnego, dostosowanego do potrzeb SiteGround CDN)
- Bluehost (Cloudflare jest wstępnie włączony)
- Kinsta (płatny plan Cloudflare jest dołączony bezpłatnie)
- WP Engine (płatny plan Cloudflare jest dołączony bezpłatnie)
- HostGator (Cloudflare jest dostępny tylko w planie biznesowym)
- IONOS (Cloudflare jest dostępny tylko w planie Expert)
- Cloudways (Cloudflare Enterprise można dodać za jedyne 4,99 USD miesięcznie)
Wniosek
Sieci CDN to realne rozwiązanie poprawiające wydajność Twojej witryny internetowej poprzez skrócenie czasu potrzebnego na przesyłanie plików do użytkowników. Służy to prawdopodobnie zwiększeniu retencji klientów w Twojej witrynie, a być może nawet poprawie rankingów w wynikach wyszukiwania.
Sieci CDN zmniejszą także obciążenie żądań plików w bieżącej konfiguracji hostingu, co może pomóc w obsłudze dużego ruchu.
Jednak CDN często wiąże się z większymi kosztami. Twoja witryna zasługuje na poprawę wydajności, jaką może zaoferować CDN, ale korzyści muszą przewyższać potencjalne koszty i inne kompromisy.
Nie zapominaj, że CDN to tylko jeden z wielu kroków, które możesz podjąć, aby poprawić wydajność swojej witryny. Wybór szybkiego hosta internetowego jest pierwszym (i najważniejszym).
Jest też wiele innych rzeczy, które możesz zrobić, aby ogólnie zwiększyć prędkość swojej witryny (takich jak kompresja obrazu), a w szczególności poprawić czas ładowania witryny WordPress!
Czy korzystałeś z CDN w swojej witrynie? Daj nam znać w komentarzach poniżej, co myślisz o CDN!