14 października 2020

Integracja WordPress z Cloud Storage i Google CDN

Kategoria: Hosting
Tagi: WordPress
Autor: Paweł Mansfeld

W tym artykule pokażę jak skutecznie zintegrować istniejącą stronę WordPress z Google Cloud Storage. Uzupełnieniem artykułu będzie integracja Cloud Storage z Google CDN aby zapewnić szybkie działanie i uzyskać coś w rodzaju idealnej architektury, która sprawdzi się w przypadku stron internetowych i sklepów.

Ta prosta architektura, którą zaprezentuję w tym artykule to idealne rozwiązanie dla stron, które mają działać szybko i które mają się dobrze pozycjonować. Integrację z Google Cloud Storage i Google CDN można wykonać na każdej stronie WordPress – nie ważne jak stworzono stronę lub z jakiego hostingu korzystamy.

Architektura po wykonaniu integracji

Działanie, które wykonamy, fachowo określa się jako partycjonowanie funkcjonalne serwera.

Jakość to sposób myślenia, który powoduje, że stosuje się i bez przerwy poszukuje najlepszych rozwiązań.

Edward Deming

Tworzenie zasobnika w Google Cloud Storage

Jak wiadomo z poprzednich wpisów, aby móc działać z Google Cloud musimy stworzyć projekt. Może to być też istniejący, jeżeli ma związek z naszą stroną WordPress np. kiedy używamy hostingu WordPress w Google Cloud.

Aby móc zintegrować WordPressa z Cloud Storage najpierw musimy stworzyć własny zasobnik czyli „Bucket”. Przechodzimy do konsoli Google Cloud i wybieramy „Przechowywanie danych”. Można też skorzystać z wyszukiwarki i wpisać „Cloud Storage”.

Przechowywanie danych w Google Cloud

Tworzymy własny zasobnik poprzez nadanie mu nazwy. Możemy skorzystać z kalkulatora, po prawej stronie, który wyceni orientacyjny miesięczny koszt utrzymywanie danego rozmiaru danych. Jak widać nie są to duże kwoty.

Miesięczny koszt utrzymania 10GB danych (co jest i tak bardzo dużo) to zaledwie 0,26 dolarów na miesiąc.

Możemy spersonalizować ustawienia i wybrać miejsce przechowywania danych, klasę przechowywania danych bądź już na tym etapie określić, czy dane mają być publiczne czy chcemy mieć w przyszłości możliwość nadawania szczegółowych ustawień dostępu.

Tworzenie Systemu Równoważenia Obciążenia

Przechodzimy do następnej usługi – Równoważenie obciążenia czyli Load Balancer. Klikamy przycisk „utwórz system równoważenia obciążenia” i z dostępnej listy wybieramy „Równoważenie obciążenia HTTP(S)”. Wybieramy opcję „Z Internetu do moich maszyn wirtualnych”. Nadajemy dowolną nazwę.

Jako Backend oczywiście wybierzemy wcześniej utworzony zasobnik a w ramach części Frontend tworzymy nowy statyczny adres IP (chyba że posiadamy wolny adres IP stworzony wcześniej) i tworzymy certyfikat SSL.

Równoważenie obciążenia

W następnym kroku kreator zapyta nas czy interesuje nas serwowanie za pomocą Google CDN. Zaznaczamy tę opcję.

Połączenie Google CDN z własną domeną

W szczegółach certyfikatu możemy podać własną subdomenę, która ma służyć do obsługi CDN. IP możemy wybrać statyczny albo efemeryczny. W tym przykładzie wybrałem statyczny, bo nie chcę aby adres IP zmienił się przy restarcie usługi – jest to dodatkowo płatne ok. 7 zł netto na miesiąc. Korzystanie z adresów efemerycznych jest darmowe ale zmieniają się w przypadku restartu usługi i trzeba dokonywać ponownej konfiguracji.

U rejestratora domeny musimy teraz stworzyć pole „A” dla wybranej subdomeny i ustawić pokazane w tym kroku IP. Po jakimś czasie certyfikat zacznie działać i informuje nas o tym zielony znaczek w szczegółach certyfikatu. Trzeba na to poczekać zazwyczaj kilka godzin.

Dla przetestowania czy wszystko działa prawidłowo, można wysłać przykładowy plik do Cloud Storage i spróbować otworzyć go za pomocą własnej sub-domeny podmieniając fragment:

https://storage.googleapis.com/mansfeld

na utworzoną sub-domenę czyli https://cdn.mansfeld.pl/ lub https://static.mansfeld.pl/

Integracja po stronie WordPressa

Musimy teraz sprawić aby WordPress wysyłał pliki do Cloud Storage czyli do naszego zasobnika. Możemy skorzystać z wielu gotowych wtyczek:

Pokażę jak skorzystać z WP Offload Media. Instalujemy i włączamy jak każdą inną wtyczkę. Po wybraniu opcji Google Cloud jesteśmy proszeni o wysłanie pliku .json z danymi autoryzującymi. Można wysłać plik na serwer i wskazać do niego ścieżkę w pliku wp-config.php lub wkleić zawartość pliku do specjalnego okna.

Dodawanie danych autoryzacyjnych do wtyczki WordPress

Skąd wziąć plik? Przechodzimy do Interfejsy API i usługi i wybieramy Dane logowania. Z listy wybieramy usługę dla której chcemy pobrać plik. W nazwie usługi powinno być słowo „stateless”. Klikamy w trzy kropeczki i wybieramy „utwórz klucz”.

Tworzenie klucza w formie pliku JSON

Efekt końcowy i testy

Wszystkie te operacje miały na celu to, aby wysyłane do WordPressa załączniki były automatycznie wysyłane do Cloud Storage a plikom były nadawane adresy URL zgodne z tymi skonfigurowanymi w Google Cloud:

Zintegrowana biblioteka WordPress z Google CDN.

Zaletą takiego rozwiązania jest oczywiście większa wydajność strony i niższy koszt hostingu, bo od teraz nie musimy płacić za konta hostingowe z dużą ilością przestrzeni dyskowej.

Czy pliki faktycznie, ściągają się szybciej. Tak, pokazywałem to już w teście dotyczącym CDN:

Czas TTFB jest niższy a dzięki temu, że na połączenie nie są nałożone żadne limity, plik o tej samej wielkości ściąga się o wiele szybciej.

Zalety korzystania z bezstanowej pamięci

  • radykalne przyspieszenie pobierania plików statycznych (zdjęć, plików CSS, JS),
  • skrócenie czasu blokowania renderowania się strony,
  • korzystny wpływ na SEO,
  • niższy koszt hostingu,
  • odciążenie głównego serwera WordPress,
  • większa przenośność strony,
  • możliwość zapewnienia większej dostępności,
  • możliwość wykorzystania wielu serwerów w ramach jednej strony WordPress,
  • lepsze wyniki w PageSpeed Insights i GTMetrix.

O zaletach CDN czytaj w osobnym artykule: Co to jest CDN, czy warto?

Podsumowanie

Jak widać integracja WordPressa z Google Cloud Storage nie stanowi problemu. Powstało wiele gotowych wtyczek, które całą część związaną z integracją zrobią za nas. Korzystanie z takiego rozwiązania pozytywnie odbije się na szybkości działania strony WordPress, wrażeniach użytkowników i oczywiście na pozycjach.

Wdrożyliśmy CDN bez zmiany DNSów i adresu IP. Pliki statyczne są na osobnej subdomenie należącej jednak do głównej domeny serwisu co pozytywnie wpłynie na autorytet domeny w dłuższym okresie czasu. Taką architekturę mają największe aplikacje i popularne strony internetowe. Użycie bezstanowej pamięci to świetne rozwiązania na odciążenie hostingu w początkowych fazach rozwoju serwisów internetowych i aplikacji webowych stworzonych na frameworku WordPress i nie tylko.

Źródła:

https://cloud.google.com/cdn/docs/setting-up-cdn-with-bucket

Oceń artykuł na temat: Integracja WordPress z Cloud Storage i Google CDN
Średnia : 4.8 , Maksymalnie : 5 , Głosów : 5


 

Odpowiedz lub skomentuj

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *




Komentarze

Krzysztof Grodzki

14 października 2020

Świetny artykuł, muszę sprawdzić to rozwiązanie.

Darek

19 października 2020

Czy CDN jest płatne?

Paweł Mansfeld

19 października 2020

Tak, doliczane są dodatkowe opłaty ale nie są one wysokie. Wszystko zależy od ruchu. Np. Dla dość popularnej strony, która znajduje się w top 100 tyś. Alexa to koszt ok. 25 dolarów netto. Dla standardowych stron z mniejszym ruchem np. tak jak moja strona (30 tyś UU miesięcznie) to kilka dolarów na miesiąc.

Krypto

12 listopada 2020

Cześć, dzięki za artykuł. Mam 2 pytania: - czy jest sens podpięcia Google CDN w przypadku korzystania z darmowej wersji Cloudflare? - czy koszta Google CDN ograniczają się tylko do zajmowanej przestrzeni? Będę wdzięczny za odpowiedź!

Paweł Mansfeld

12 listopada 2020

Jak już, to wyłączyłbym Cloudflare i wtedy skorzystałbym z kombinacji Cloud Storage + CDN. Jeżeli masz słaby hosting, i po wyłączeniu CloudFlare TTFB szybuje w górę to lepiej nic nie zmieniaj. Koszt CDN zależy od transferu CDN - klient a Cloud Storage zależy od zajmowanej przestrzeni i transferu na trasie CloudStorage i CDN (różne ceny mogą być w zależności od centrum danych). Tak działają wszystkie prawdziwe chmury.

 

Następny artykuł

Wykryto brak połączenia z Internetem.