Nowa infrastruktura w AWS dla Omnipack z użyciem IaC

23 września 2020

Nowa infrastruktura w AWS 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.

 

Schemat infrastruktury

nowa infrastruktura w aws z użyciem iac

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