Nowa infrastruktura w AWS dla Omnipack z użyciem IaC
Dla firmy Omnipack, zajmującej się fulfillmentem dla e-commerce, przygotowaliśmy nową infrastrukturę w Amazon Web Services, wykorzystując podejście Infrastructure as a Code oraz konteneryzację.
Wprowadzenie
Omnipack to lider fulfillmentu dla małych i średnich sklepów internetowych. Firma zajmuje się pełną obsługą logistyczną - magazynowaniem, pakowaniem, wysyłką, obsługą zwrotów oraz szeregiem usług dodatkowych. Dostarcza stabilne i elastyczne rozwiązania, dzięki połączeniu najwyższej jakości operacji oraz własnej technologii, zapewniając logistykę na poziomie światowych gigantów. Koncentruje się na branży eCommerce, w której wspiera ponad 100 firm z całej Europy. Do grona klientów Omnipack należą między innymi: Motorola, Wish, Bizuu, Muscat, Gepetto czy 9design.
Ich typowe zamówienie przychodzi od partnera sklepowego poprzez integratora. Następnie automatycznie weryfikowany jest stan magazynowy, następuje zbiórka produktów przy optymalizacji ścieżek pickingowych, a zamówienie jest kompletowane i pakowane według wymagań klienta. Kolejny krok to wydruk listu przewozowego, potwierdzenie realizacji i przekazanie paczki do odpowiedniego kuriera, która od tamtej pory może być na bieżąco śledzona przez klienta. Omnipack wspiera swoich klientów przez cały rok, jednak największą ilość zamówień obsługuje w czwartym kwartale , podczas promocji na Black Friday oraz w okresie świątecznych zakupów.
Problem
Omnipack posiadał tradycyjną infrastrukturę, opartą na serwerach VPS. Nowym wyzwaniem okazała się kwestia skalowania, stąd też klient zwrócił się do nas z prośbą o zaproponowanie odpowiedniego rozwiązania, które uwzględniałoby także Kubernetesa oraz Kafkę. Jako Hostersi i AWS Advanced Consulting Partner, przekonaliśmy klienta do Amazon Web Services.
Wdrożenie
Dla naszego klienta, zaprojektowaliśmy od podstaw infrastrukturę w Amazon Web Services, uwzględniającą jego bieżące potrzeby. Aby zautomatyzować część zadań, zdecydowaliśmy się zaprojektować środowisko w AWS zgodnie z podejściem Infrastructure as a Code. Pozwoliło to na definiowanie konfiguracji infrastruktury aplikacji w postaci szablonu konfiguracyjnego oraz łatwe uruchamianie i zarządzanie usługami AWS.
Infrastruktura w całości znajduje się w jednym regionie (eu-central-1 - Frankfurt). Sieć została podzielona na podsieci według warstw: publiczna, prywatna, bazodanowa. Każda z nich ma swój odpowiednik w każdej z trzech stref dostępności (AZ). Nowe środowisko w większości jest bezstanowe - wszystkie krytyczne elementy zostały zmigrowane do kontenerów. Jako Hostersi, zajmujemy się również utrzymaniem środowiska, opartego o Kubernetesa.
Projekt wykorzystuje następujące usług AWS:
Amazon EKS - warstwa, na której w całości opiera się aplikacja - zarządza serwerami wirtualnymi z kontenerami (docker), dostępem do aplikacji (Loadbalancer ELB, kierowanie ruchem do wnętrza klastra - Traefik v2)
Amazon RDS for MySQL - baza danych - zapewnia dostęp do danych aplikacji
Amazon RDS for PostgreSQL - baza danych - zapewnia dostęp do danych aplikacji
Amazon S3 - buckety zawierające pliki statyczne, pliki klientów, backupy
Amazon MSK - klaster Kafka, wykorzystywany przez aplikacje
Amazon CloudWatch – narzędzie do monitoringu infrastruktury
AWS Command Line Interface – narzędzie do zarządzania usługami AWS z poziomu wiersza poleceń
AWS CloudFormation – do automatycznego uruchamiania i zarządzania zbiorami usług AWS, zgodnie z podejściem IaC
Amazon ElastiCache - umożliwia łatwe wykorzystanie w pełni skalowalnej pamięci podręcznej.
Zewnętrzne usługi:
Kubectl - narzędzie bezpośredniego dostępu do klastra k8s
Terraform - narzędzie służące do zarządzania infrastrukturą
Helm - zarządzanie pakietami w k8s
Terraform Switcher - przełącza automatycznie na odpowiednią wersję Terraforma
Rezultaty
Omnipack zyskał nową, skalowalną, łatwo zarządzaną i nowoczesną infrastrukturę w oparciu o Amazon Web Services. Podejście IaC z wykorzystaniem AWS CloudFormation automatyzuje wiele procesów, a wykorzystanie kontenerów i Terraform pozwala na szybsze zmiany w aplikacji i dostarczanie jej nowych wersji 2 x szybciej, co może być kluczowe dla osiągnięcia przewagi konkurencyjnej na rynku ecommerce. Czas na zbudowanie nowego środowiska został skrócony z kilku tygodni do kilku godzin. Takie rozwiązanie docenią także klienci Omnipack, którzy mogą mieć pewność, że udostępniony przez operatora software jest stabilny, skalowalny i rozwijany w oparciu o zaawansowane i nowoczesne rozwiązania.
PYTANIA? SKONTAKTUJ SIĘ Z NAMI
Zobacz również:
Infrastruktura hybrydowa dla Open’er Festival
Cyfrowa transformacja Modento z użyciem AWS w celu spełnienia wymagań HIPAA
Infrastruktura chmurowa i wsparcie DevOps dla Medonetu na czas pandemii COVID-19