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.

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”.

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.

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:
- Media Cloud for Amazon S3, Imgix, Google Cloud Storage, DigitalOcean Spaces and more,
- WordPress Media Storage to Cloud for Amazon S3, Google Cloud Storage, DigitalOcean and More,
- WP Offload Media Lite for Amazon S3, DigitalOcean Spaces, and Google Cloud Storage,
- WP-Stateless – Google Cloud Storage,
- Google Cloud Storage plugin
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.

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”.

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:

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
Odpowiedz lub skomentuj