Czym różnią się tradycyjny hosting od nowoczesnego podejścia?
Wszyscy znamy ten widok – setki, a nawet miliony blogów opartych na popularnej platformie WordPress. To faktycznie imponujące osiągnięcie tej otwartej platformy. Jednak czy jest to naprawdę najlepsze rozwiązanie dla Twojej nowej strony internetowej? A co, jeśli mógłbym Ci zaoferować rozwiązanie, które jest nie tylko tańsze, ale także znacznie wydajniejsze?
Tradycyjne modele hostingu, takie jak WordPress na współdzielonym serwerze czy hosting u “szwagra w szafie”, mają dwa podstawowe problemy. Po pierwsze, trzeba zapewnić i skonfigurować cały stos technologiczny – serwer, system operacyjny, serwer WWW, bazy danych, SSL, cache itd. To wszystko pochłania czas i pieniądze. Po drugie, trzeba o to wszystko ciągle dbać – instalować aktualizacje, łatać luki, skalować w razie potrzeby. Brzmi jak dużo roboty, prawda?
Na szczęście istnieje nowoczesne rozwiązanie, które znacznie upraszcza ten proces – hosting serverless. Zapomnij o serwerach, baza danych i innych tego typu elementach. Wystarczy, że stworzysz statyczne pliki HTML, CSS i JavaScript, a resztą zajmie się chmura. Nie wierzysz? Pozwól, że Ci to wyjaśnię.
Hosting serverless – marzenie o niskich kosztach i wysokiej wydajności
Hosting serverless opiera się na trzech kluczowych usługach chmurowych AWS: S3, CloudFront i Route53. Zacznijmy od S3 – to wirtualne “wiadro”, w którym przetrzymujemy nasze pliki. Nie jest ono dostępne publicznie, a do jego zawartości dostaje się tylko CloudFront – usługa dostarczająca treść z globalnej sieci serwerów zwana CDN (Content Delivery Network).
CloudFront to taki globalny cache dla naszej strony. Gdy ktoś odwiedza naszą stronę, jest on automatycznie przekierowywany do najbliższego geograficznie serwera CloudFront, który serwuje kopię naszej strony. Jeśli dana część strony jeszcze tam nie trafiła, CloudFront pobiera ją z S3 i zapisuje w swoim cache’u. To znacznie poprawia wydajność, szczególnie dla odwiedzających z różnych części świata.
No dobrze, ale co z domeną? Tutaj z pomocą przychodzi Route53 – usługa do zarządzania domenami w AWS. To właśnie ona odpowiada za powiązanie naszej domeny z treścią serwowaną przez CloudFront.
Widzisz, jak to wszystko ze sobą współgra? Pliki w S3, dystrybucja przez CloudFront i domena w Route53. To naprawdę eleganckie i wydajne rozwiązanie. Ale to jeszcze nie wszystko!
Dodatkowa moc dzięki Lambda@Edge
Jednym z kluczowych elementów tego stacku jest Lambda@Edge – specjalna wersja funkcji AWS Lambda, która może być uruchamiana bezpośrednio w infrastrukturze CloudFront, blisko użytkownika. To daje nam dodatkowe możliwości, takie jak:
- Automatyczne przekierowanie na wersję strony w odpowiednim języku – na podstawie lokalizacji użytkownika możemy go automatycznie przekierować na angielską, polską czy inną wersję naszej witryny.
- Blokowanie dostępu do wrażliwych części strony – na przykład możemy zablokować dostęp do sklepu internetowego dla użytkowników spoza dozwolonego regionu.
- Modyfikacja zapytań i odpowiedzi – Lambda@Edge pozwala nam na dynamiczne zarządzanie zawartością, np. automatyczne uzupełnianie pliku
index.html
, gdy użytkownik poprosi o nieistniejący adres.
Mówiąc krótko, Lambda@Edge daje nam niesamowitą elastyczność i pozwala zautomatyzować wiele zadań, które tradycyjnie wymagałyby skomplikowanej konfiguracji serwera.
Korzyści hostingu serverless
Podsumujmy najważniejsze zalety tego rozwiązania:
- Niskie koszty – płacisz tylko za to, z czego rzeczywiście korzystasz. Brak opłat za serwer, system operacyjny, aktualizacje itp. Opłacasz jedynie transfer danych, funkcje Lambda i utrzymanie domeny.
- Wysoka wydajność – pliki są serwowane z globalnej sieci CDN, co zapewnia szybki czas ładowania strony nawet dla odwiedzających z różnych zakątków świata.
- Łatwe skalowanie – nie musisz martwić się o pojemność serwera czy ograniczenia bazy danych. Chmura sama dostosuje się do Twoich potrzeb.
- Bezpieczeństwo – S3 nie jest dostępne publicznie, a CloudFront filtruje zapytania. Oraz darmowy certyfikat SSL z AWS Certificate Manager.
- Automatyzacja – cały proces wdrażania nowej wersji strony możesz zautomatyzować przy użyciu narzędzi CI/CD.
Brzmi kusząco, prawda? Ale jak to wszystko wygląda w praktyce? Czas na przykład!
Serverless Polska – case study niskich kosztów i wysokiej wydajności
Mój własny serwis Serverless Polska korzysta właśnie z takiego hostingu serverless. Pliki strony są generowane statycznie przy użyciu generatora stron Hexo.io, a następnie trafiają do S3. CloudFront zajmuje się dostarczaniem tych plików użytkownikom, a Lambda@Edge dba o automatyczną obsługę adresów URL.
Jaki to daje efekt? Przede wszystkim niskie koszty. W lutym 2019 r. całkowity rachunek za hosting wyniósł zaledwie 81 centów! Na tę kwotę składa się:
- 50 centów za konfigurację domeny w Route53
- 18 centów za transfer danych w S3
- 10 centów za użycie CloudFront
- 3 centy za funkcję Lambda
Wszystkie te usługi, poza Route53, rozliczane są w modelu pay-as-you-go, więc nie generują kosztów, gdy strona nie jest aktywnie używana. Ponadto, jako że nie korzystam z bazy danych, oszczędzam również na tej pozycji.
A wydajność? Strona Serverless Polska jest błyskawicznie serwowana użytkownikom z całego świata dzięki globalnej sieci CloudFront. Czas ładowania to zaledwie ułamki sekundy, niezależnie od tego, skąd ktoś ją odwiedza.
Taka architektura serverless naprawdę jest marzeniem każdego, kto chce mieć nowoczesną, szybką i tanią stronę internetową. Oczywiście, wiem, że wiele osób i firm jest mocno uzależnionych od WordPress’a i jego ogromnego ekosystemu. Ale warto przynajmniej rozważyć to alternatywne podejście.
Jak zacząć swoją serverless’ową przygodę?
Jeśli jesteś zainteresowany hostingiem serverless, oto kilka kroków, które możesz podjąć:
- Zarejestruj domenę – możesz to zrobić np. na lh.pl już od 9 zł. Pamiętaj, że docelowo zintegrujesz ją z Route53.
- Wybierz generator stron statycznych – popularne opcje to Jekyll, Hexo.io czy Hugo. Ja osobiście polecam Hexo.io – jest prosty w użyciu, a przy tym niezwykle wydajny.
- Utwórz konto w AWS – AWS oferuje roczny bezpłatny plan, który wystarczy, aby przetestować hosting serverless.
- Skonfiguruj usługi S3, CloudFront i Route53 – AWS ma świetną dokumentację, a w internecie znajdziesz wiele poradników krok po kroku.
- Dodaj Lambda@Edge – jeśli chcesz wykorzystać pełnię możliwości hostingu serverless, warto zainwestować też w tę usługę.
Oczywiście, może to brzmieć jak sporo pracy, ale wierz mi – to naprawdę prostsze niż mogłoby się wydawać. A efekty? Niska cena, wysoka wydajność i zero zmartwień o serwer. Brzmi jak marzenie, prawda?
Jeśli potrzebujesz pomocy lub masz jakiekolwiek pytania, zapraszam Cię na stronę stronyinternetowe.uk. Tam znajdziesz więcej poradników i artykułów na temat tworzenia nowoczesnych stron internetowych. Do zobaczenia!