← Wszystkie realizacje
Realizacja

Transformacja infrastruktury e-commerce Integriser na AWS

Mysterious Code przebudował platformę e-commerce Integriser na AWS Fargate, obsługując czterokrotnie większy ruch przy porównywalnym koszcie i o połowę zmniejszając liczbę typów kontenerów do utrzymania.

większy ruch przy porównywalnym koszcie
50% mniej typów kontenerów do utrzymania
Usługi AWS
  • AWS CloudFormation
  • Amazon ECS
  • AWS Fargate
  • Elastic Load Balancing
  • Amazon CloudFront
  • Amazon Aurora
  • Amazon Simple Queue Service

Aplikacja e-commerce Integriser zmagała się ze skalowalnością i rosnącym zapotrzebowaniem na zasoby w wyniku szybkiego wzrostu. We współpracy z Mysterious Code i AWS firma wdrożyła solidne rozwiązanie oparte na zgodnej z PostgreSQL bazie Amazon Aurora, Amazon CloudFront, Application Load Balancer i AWS Fargate. Takie podejście umożliwiło automatyczne skalowanie, uprościło zarządzanie kontenerami i wprowadziło niezawodny proces testów i wdrożeń. W efekcie Integriser sprawnie obsługuje skoki zapotrzebowania, na przykład w Black Friday, i utrzymuje czterokrotnie większy ruch niż wcześniej, przy porównywalnym koszcie. Rozwiązanie znacząco usprawniło rozwój, ograniczając złożoność i optymalizując wykorzystanie zasobów.

O firmie Integriser

Integriser to system zarządzania zamówieniami, dostarczany w modelu SaaS dla magazynów realizujących wysyłki (fulfilment) i ich klientów e-commerce.

Wyzwanie

System zarządzania zamówieniami Integriser szybko się rozwijał, co prowadziło do wzrostu ruchu i zapotrzebowania na zasoby. Firma potrzebowała infrastruktury, która skaluje się efektywnie, aby obsłużyć nowych klientów i utrzymać wzrost.

Początkowo infrastruktura działała w kontenerach na pojedynczej maszynie wirtualnej hostowanej w Google Cloud Platform (GCP). Taka konfiguracja nie zapewniała jednak skalowalności potrzebnej do obsługi większego ruchu, co mogło ograniczać rozwój firmy i jej zdolność do obsługi większej bazy klientów.

Kontenery Docker aplikacji, zarządzane przez Docker Swarm, nie skalowały się łatwo w zależności od ruchu i obciążenia. Złożone wymagania dotyczące równoważenia obciążenia, oparte na routingu po ścieżkach dla przychodzących żądań, dodatkowo komplikowały zarządzanie kontenerami i ich konfigurację.

Dodatkowo baza danych PostgreSQL hostowana w GCP miała trudności ze skalowaniem do potrzeb aplikacji. Brak powtarzalnego procesu testów i niezawodnej procedury wdrożeń jeszcze bardziej utrudniał programistom wprowadzanie innowacji i sprawne wydawanie zmian w kodzie.

Rozwiązanie

Integriser wybrał AWS i Mysterious Code, by sprostać tym wyzwaniom. Choć aplikacje kontenerowe można hostować na różnych platformach, zgodna z PostgreSQL baza Amazon Aurora oferowała solidne rozwiązanie problemów z bazą danych. Automatyczne skalowanie pamięci i operacji wejścia-wyjścia w Aurora, zależne od liczby zapytań i ilości danych, wraz z wglądem w wydajność, pozwoliło programistom skupić się na rozwoju aplikacji zamiast na infrastrukturze.

Wykorzystując Amazon CloudFront i Application Load Balancer, Mysterious Code uprościł konfigurację kontenerów i wyeliminował potrzebę złożonego routingu po ścieżkach. Hosting kontenerów na AWS Fargate pozwolił Integriserowi skalować każdy komponent aplikacji niezależnie.

Diagram architektury, widok ogólny

Mysterious Code usprawnił proces tworzenia kontenerów, redukując zbędną złożoność. Wprowadziliśmy też niezawodny i powtarzalny proces testów i wdrożeń w oparciu o GitLab Pipelines, dzięki czemu programiści szybko otrzymują informację zwrotną o zmianach i mogą błyskawicznie wdrażać nowe funkcje.

Aplikacja korzysta teraz z AWS CloudFormation do wdrażania wielu usług ECS działających na AWS Fargate, wykorzystując Fargate Spot dla kontenerów roboczych działających w tle, aby obsłużyć rosnące potrzeby przetwarzania danych. Paradygmat infrastruktury jako kodu, zrealizowany przez AWS CloudFormation, ułatwił wdrożenie dodatkowego środowiska przedprodukcyjnego (staging), dającego programistom platformę do testowania i dopracowywania zmian przed wydaniem. Zapewnia to także powtarzalne i przewidywalne wdrożenia, zwiększając niezawodność i bezpieczeństwo aplikacji.

Korzyści

Dzięki wdrożonemu rozwiązaniu Integriser sprawnie obsługuje skoki zapotrzebowania, w tym te wywołane okresami, które bywają problematyczne dla wielu platform e-commerce, takimi jak Black Friday czy święta. Proces rozwoju stał się mniej złożony, a liczba różnych typów kontenerów do utrzymania spadła o połowę. Aplikacja obsługuje teraz czterokrotnie większy ruch niż wcześniej, przy porównywalnym koszcie, dzięki lepszemu doborowi zasobów i wykorzystaniu Fargate Spot.