Migracja e-commerce do AWS w jeden dzień

8 października 2020 Łukasz Maczułajtys

30 września 2020, eksperci z Pretius wzięli udział w AWS Migration GameDay. Jest to wirtualna impreza organizowana przez AWS Polska, podczas której dwuosobowe zespoły rywalizują ze sobą, przy okazji ucząc się dobrych praktyk w AWS. Zwycięska drużyna musiała jak najszybciej przenieść z on-premises do AWS produkcyjny system e-commerce. Oceniana była także jakość rozwiązania.

Jeden z naszych zespołów wykonał zadanie w czasie poniżej sześciu godzin, zajmując drugie miejsce na podium. W artykule zaprezentujemy case study wykorzystane podczas wydarzenia oraz w jaki sposób nasi architekci poradzili sobie z wyzwaniem.

Wyzwanie

Unicorn.Rentals logo

Fikcyjna firma – Unicorn.Rentals, jest liderem rynku wynajmu baśniowych postaci. Ich klienci zamawiają swoim dzieciom jednorożce poprzez stronę zbudowaną w WordPress i WooCommerce.

Firma szybko rośnie i chce rozszerzyć swoją działalność na rynki w innych państwach. Ich aplikacja powinna skalować się dostosowując do aktualnego ruchu w serwisie. Każda przerwa w działaniu strony, powoduje straty finansowe wynikające z nie złożonych zamówień. Docelowe rozwiązanie powinno być efektywne kosztowo. Ponieważ powyższe zadania są trudne w realizacji on-premises, firma zdecydowała się na migrację do chmury.

Migracja do AWS

Baza danych MySQL została przeniesiona do Amazon Aurora – kompatybilnej z MySQL, relacyjnej bazy danych z automatycznymi aktualizacjami oprogramowania, kopiami bezpieczeństwa, monitoringiem i autoskalowaniem. Migracja danych została przeprowadzona przy pomocy Database Migration Service. Narzędzie umożliwiło zapewnienie replikacji danych z on-premises do AWS w czasie rzeczywistym. Dzięki temu rozwiązaniu, użytkownicy serwisu nie doświadczyli żadnych przerw w działaniu serwisu.

Instancja WordPressa została skopiowana do Amazon EC2. W tym celu zastosowano CloudEndure – narzędzie potrafiące zmigrować do AWS maszynę wirtualną w kilkanaście minut. Rozwiązania można także użyć do ciągłej replikacji dowolnej liczby maszyn na potrzeby utrzymania środowiska Disaster Recovery.

Usługa CloudWatch zapewniła pełen monitoring środowiska wraz z alertami. Aplikacja była gotowa na przełączenie ruchu użytkowników.

Architecture
Architektura

Czas na usprawnienia

System musiał być gotowy na zwiększenie ruchu w przyszłości. AWS daje tu wiele możliwości. Instancje EC2 mogą być automatycznie duplikowane dzięki Auto Scaling Groups. Obsługą ruchu pomiędzy instancjami może zająć się Elastic Load Balancing.

Ostatecznie zdecydowaliśmy się na przeniesienie WordPressa z maszyn wirtualnych do kontenerów dockerowych obsługiwanych przez serverlessową platformę AWS Fargate. Dzięki temu, odpadła konieczność zarządzania systemem operacyjnym na maszynach wirtualnych. Każdemu kontenerowi została przypisana dokładna ilość zasobów obliczeniowych co pomogło uniknąć overprovisioningu, a co za tym idzie, obniżyć koszty.

Improved architecture
Architektura po usprawnieniach

Możliwa optymalizacja

Czas na rywalizację się skończył. Natomiast zmigrowana aplikacja mogła by zostać zoptymalizowana jeszcze bardziej.

  • Czas ładowania strony można skrócić wykorzystując Amazon CloudFront – Content Delivery Network z ponad 220 punktami dostępowymi na całym świecie. Większość statycznych treści strony pretius.com jest ładowana właśnie z CloudFront.
  • Dla poprawy bezpieczeństwa można zastosować AWS Web Application Firewall oraz Amazon GuardDuty – inteligentny system detekcji zagrożeń.

Nowe możliwości dzięki migracji do AWS

Dzięki migracji do AWS, Unicorn.Rentals poprawił niezawodność i dostępność swojego serwisu. Dzięki redukcji zadań związanych z utrzymaniem systemu, zespół IT klienta będzie mógł skupić się bardziej na rozwoju serwisu.

Na przykład, serwis mógłby zostać rozszerzony o system rekomendacji zbudowany w oparciu o Amazon Personalize. Można by także zautomatyzować obsługę kampanii marketingowych przy wykorzystaniu Amazon Pinpoint.

Skontaktuj się z nami aby porozmawiać o możliwościach oferowanych przez chmurę. Nasi architekci pomogą Ci w wyborze dostawcy chmury spełniającego najlepiej Twoje wymagania. Zajmiemy się analizą, zaplanujemy oraz przeprowadzimy całą migrację. Doradzimy także w temacie dalszego rozwoju w oparciu o chmurę.

Więcej o migracjach do AWS przeprowadzonych przez Pretius można przeczytać w artykule: Migracja aplikacji Oracle APEX do AWS.

Zapraszamy do kontaktu!

Pretius jest firmą tworząca oprogramowanie wspierające biznes.
Tworzymy aplikacje webowe wykorzystując: Java, Oracle DB, Oracle Apex, AngularJS.
Skontaktuj się z nami, aby porozmawiać o tym jak możemy pomóc w realizacji Twojego projektu!