Black Friday i Cyber Monday zbliżają się nieubłaganie, co dla właścicieli portali i stron internetowych oznacza jedno: szczyt sezonu i wzmożony ruch. Warto już teraz zadbać o dostępność strony i przyjrzeć się uważnie wysoce skalowalnym i odpornym na awarie usługom WordPress w chmurze, na przykład budowanym na platformie Amazon Web Services. Poznaj 7 najważniejszych usług oraz ich najważniejsze korzyści. Spróbujemy też odpowiedzieć na pytanie, czy chmura faktycznie jest droga oraz w jakiej sytuacji zdecydować się na skorzystanie z outsourcingu usług IT.

Standardowy hosting czy chmura?

WordPress to jeden z najpopularniejszych systemów CMS, z którego korzysta ponad 30% stron internetowych na całym świecie. W związku z koronakryzysem i coraz większym znaczeniem usług internetowych właściciele portali, stron internetowych, witryn e-commerce i blogów coraz częściej spoglądają w stronę chmury. Wielu z nich zastanawia się, czy podstawowy hosting stron internetowych spełni swoje zadanie w czasie, gdy niezawodność i dostępność strony w szczytowych momentach to być albo nie być w biznesie. Na popularności zyskuje budowa odpornej na awarie i łatwo skalowalnej witryny WordPress na AWS, jednak wątpliwości wciąż budzą nazewnictwo oraz technologie stosowane przez chmurowego potentata. Aby ułatwić wybór, omówimy kilka podstawowych usług AWS związanych z technologiami webowymi.

System WordPress na AWS – czy mnie na to stać i co dostanę?

Wątpliwość budzą także ceny usług w chmurze, jednak wbrew powszechnym przekonaniom chmura nie musi być droga, szczególnie jeśli mowa o prostych aplikacjach i nieskomplikowanych systemach. Dodatkowo Amazon udostępnia tzw. Free tier, czyli roczny bezpłatny abonament na wiele usług, w ramach którego otrzymujemy 750 godzin dostępu do Amazon EC2, 5GB przestrzeni S3… no właśnie, czyli co konkretnie? Jeżeli skomplikowane nazewnictwo techniczne uniemożliwia Ci zapoznanie się z możliwościami usług AWS, śpieszymy z pomocą. Przygotowaliśmy opis 7 podstawowych usług dostępnych w ramach platformy chmurowej AWS.

Budujemy system WordPress w chmurze – najważniejsze usługi AWS

  • S3 – decydując się na rozwiązanie hostingu w chmurze, zyskujesz miejsce do przechowywania plików i mediów. S3 działa podobnie do Google Drive, gdzie możemy hostować pliki dowolnej wielkości. Za tą pozornie skomplikowaną nazwą kryje się Simple Storage Service, stąd właśnie 3 x S. Usługa przechowywania plików jest wysoce funkcjonalna i charakteryzuje się durability na poziomie 99,999999999% – według dostawcy przez taki właśnie czas działa ona prawidłowo.Koszt: od 0.023 $ / GB / miesięcznie. Cena zależy od ilości przechowywanych danych. (przykładowa cena dla Standard Storage).
  • EC2 – to wirtualne maszyny, czyli Elastic Compute Cloud. W ramach tej usługi zyskujemy pełny dostęp do wybranej przez siebie instancji o określonych parametrach, która będzie najbardziej odpowiednia pod kątem obciążenia i wykorzystania zasobów. Usługa Amazon EC2 jest potrzebna, aby zainstalować i hostować tam stronę lub aplikację WordPress. Do wyboru są różne  konfiguracje, możemy przykładowo wybrać instancję t2.micro o pojemności 1GB RAM, 1vCPU, a całość tych zasobów wykorzystać na własny użytek.Koszt 0.0116 $ / godz. w podstawowej wersji. Przykładowa cena za instancję t2.micro „on demand” z systemem Linux to koszt rzędu 0.0116 $ / godz. + 0.10 $ / GB / mies. EBS Volume (EBS volume to twardy dysk tej wirtualnej maszyny).
  • RDS – witryna WordPress potrzebuje bazy do przechowywania danych. Amazon zapewnia dostęp do RDS, czyli relacyjnej bazy danych dedykowanej dla chmury (Amazon Relational Database Service), która ułatwia przechowywanie danych i zarządzanie nimi. Baza danych i jej dostępność to kluczowy element dla działania strony WordPress, ponieważ jeśli baza będzie niedostępna, strona może przestać działać, a nawet istnieje groźba utraty danych. Zaletą RDS w chmurze jest to, że czasochłonne czynności związane z zarządzaniem bazą i jej utrzymaniem bierze na siebie Amazon. Dzięki temu możemy skupić się na własnej działalności, zarządzaniu stroną i tworzeniu treści, zamiast martwić się o tworzenie backupów danych i zgłębianie wiedzy w temacie baz danych. Do wyboru są takie bazy danych jak: Aurora, Maria DB, Oracle czy SQLServer. Warto szczególnie przyjrzeć się tej pierwszej. Aurora to własna implementacja AWS, która jest kompatybilna z MySQL i Postgresem i zoptymalizowana pod infrastrukturę dostawcy, a dzięki temu 5-krotnie szybsza od MySQL i 3-krotnie szybsza od PostgreSQL. Koszt: 0.017 $ / godz. (podana cena dotyczy MySQLa w wersji db.t3.micro w jednej Availability Zone (czyli strefie dostępności).
  • CloudFront – wielu właścicieli stron, blogów i sklepów internetowych stara się dotrzeć z treścią do jak najszerszego grona odbiorców, a strona WordPress to między innymi potężne narzędzie sprzedażowe. Dla osób, które chcą bez problemu docierać ze swoją treścią do użytkowników na całym świecie, usługa CloudFront (szybka content delivery network) to prawdziwy must have. Dzięki CloudFront po uzyskaniu dostępu do usługi czy strony przez użytkownika z odległej lokalizacji, pozostali użytkownicy korzystają z treści statycznych za pomocą Edge Locations (czyli punktu najbliżej klienta danej usługi, które tworzone są na całym świecie), co przyspiesza cały proces. Podział na regiony pozwala budować systemy odporne na awarie i ułatwia dystrybucję treści pomiędzy odległymi lokalizacjami na świecie. Dzięki temu treści statyczne docierają do użytkowników szybciej i nie obciążają jednego głównego serwera. Koszt około 0.10 $ / 10 TB transferu wychodzącego, około 0.01 $ / 10k HTTP/HTTPS req.
  • S3 Transfer Acceleration – W kontekście usługi CloudFront warto wspomnieć o narzędziu S3 Transfer Acceleration, które AWS udostępnia użytkownikom. Narzędzie to można wykorzystać, aby przyspieszyć transfer danych między odległymi lokalizacjami nawet o 50-500%. S3 Transfer Acceleration umożliwia szybki, łatwy i bezpieczny transfer plików na odległych dystansach pomiędzy Twoim klientem a S3. Usługa wykorzystuje zalety CloudFront z globalnie rozmieszczonymi, wspomnianymi wcześniej Edge Locations. Dane docierające do Edge Location są następnie przekierowywane do S3 poprzez zoptymalizowaną sieć.
  • ELB – Elastic Load Balancer to usługa, która pozwala stworzyć stronę WordPress mogącą obsłużyć wielu użytkowników jednocześnie. Dzięki temu wzmożony ruch na stronie nie będzie wpływał negatywnie na jej funkcjonowanie, ponieważ load balancer rozkłada ruch pomiędzy kilkoma serwerami.

Do wyboru są 3 rodzaje load balancerów na AWS:

  1. Application LB (ALB) – używany do balancingu ruchu http i https,
  2. Network Load Balancer – dla witryn o bardzo dużym obciążeniu i bardzo dużej wydajności, jest w stanie obsłużyć wiele milionów requestów na sekundę z bardzo małymi opóźnieniami,
  3. Classic Load Balancer – dla standardowych aplikacji wykorzystujących EC2, także aplikacji starszej daty przenoszonych ze środowiska on-premise do chmury.

Koszt: 0.0225 $ / godz. (przykładowa cena dla ALB)

  • IAM – Warto jeszcze wspomnieć o usłudze Identity and Access Management, służącej do zarządzania uprawnieniami użytkowników i uprawnieniami pomiędzy określonymi usługami (możemy przykładowo określić, czy EC2 ma dostęp do usługi S3). IAM to usługa, z której korzystają osoby konfigurujące całe środowisko serwerowe na AWS. WordPress ma własnych użytkowników i ich poziomy uprawnień (np. gdy rejestrujemy się w sklepie jako kupujący, nasze dane zapisywane są w bazie danych i możemy mieć uprawnienia klienta, redaktora, administratora, ale w samym WordPressie). IAM to z kolei poziomy uprawnień dla infrastruktury.

Koszt: Usługa jest bezpłatna

Korzyści z wykorzystania WordPress na AWS:

  • Szybsza responsywność strony, co przekłada się na lepsze wyniki SEO
  • Brak opóźnień w transferze plików
  • Dostawca zarządza bazami danych, dba o ich dostępność i utrzymanie
  • Durability dla niektórych usług na poziomie 99,999999999%
  • Darmowy dostęp do podstawowych usług AWS przez 12 miesięcy dzięki free tier
  • Wysoka skalowalność usług i odporność na awarie

WordPress w chmurze: DIY czy outsourcing usług IT?

Amazon wspiera użytkowników w samodzielnej instalacji i dostarcza instrukcje oraz przewodniki pokazujące, jak krok po kroku zbudować i samodzielnie skonfigurować witrynę WordPress w chmurze. Jeżeli zastanawiasz się nad tym, jaka usługa będzie odpowiednia dla Ciebie i jak wykorzystać jej potencjał, warto rozważyć konsultację i korzystanie ze wsparcia specjalistów, którzy mają doświadczenie w implementacji witryn WordPress na AWS. To także odpowiednia opcja dla osób, które zarządzają bardziej złożonymi stronami i aplikacjami webowymi. Każdy, kto trzyma rękę na pulsie nowych technologii może pomyśleć, że przy obecnym niedoborze specjalistów IT, szczególnie IT architektów i specjalistów DevOps, to zadanie z kategorii „Easier said than done”. Dodatkowo zrekrutowanie takiego specjalisty IT do projektu może się wiązać ze znacznymi kosztami. Z pomocą przychodzą firmy outsourcingowe, które są czarnym koniem wyścigu o transformację cyfrową w 2020 roku.

webinar BiteIT

Let’s build highly available and fault tolerant WordPress on AWS
Zapraszamy do obejrzenia nagrania devopsowej sesji live poprowadzonej przez Bartosza Komin. 

Zobacz nagranie

Autorem wpisu jest:
DevOps Engineer

Java Developer z ponad 10-letnim doświadczeniem projektowym. Aktualnie zafascynowany ideą DevOps oraz rozwiązaniami chmurowymi.

Dodaj komentarz

Skontaktuj się z nami

Chcesz dowiedzieć się więcej o naszych usługach? Napisz do nas – odpowiemy na każdą wiadomość.

    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
    W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
    2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
    • w celach handlowych,
    • w celach marketingowych,
    • w celach rekrutacyjnych;
    • w celach przyszłych rekrutacji.
    3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
    4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
    5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
    6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
    7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
    8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
    9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
    10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
    W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
    2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
    • w celach handlowych,
    • w celach marketingowych,
    • w celach rekrutacyjnych;
    • w celach przyszłych rekrutacji.
    3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
    4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
    5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
    6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
    7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
    8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
    9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
    10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.