Webmecanik header
User Hierarchy People

+ 2 000 klientów biznesowych

 

user_person-happy

+ 8 000 użytkowników

email

+ 250 milionów e-maili wysyłanych miesięcznie w ramach kampanii targetowanych

W skrócie

Webmecanik to innowacyjny producent oprogramowanie specjalizujący się w automatyzacji marketingu i systemach CRM. Oferuje wydajne i intuicyjne narzędzia, które umożliwiają firmom skuteczne zarządzanie kampaniami marketingowymi oraz dostosowanie całego procesu zakupowego do potrzeb klientów - nawet przy dużej liczbie odbiorców.

Dzięki silnemu zaangażowaniu w CSR, Webmecanik pozycjonuje się jako europejski lider w dziedzinie automatyzacji marketingu, wykorzystując technologię do wspierania ludzi i zrównoważonego rozwoju. Jako aktywny uczestnik społeczności open source, Webmecanik wnosi też istotny wkład w rozwój projektu Mautic.

Wyzwanie

Celem było zapewnienie wysokiej dostępności usług zgodnie z najlepszymi praktykami. Konieczne było przy tym utrzymanie wysokiej wydajności podczas uruchamiania środowisk dla klientów korporacyjnych, którzy przetwarzają miliony transakcji dziennie, takich jak wysyłka e-maili, wizyty na stronie internetowej czy wyświetlanie formularzy. Wszystkie te działania były początkowo czasochłonne i obciążające, głównie ze względu na wykorzystanie fizycznych serwerów.

Aby zagwarantować stały dostęp i ciągłość działania w tym modelu, zasoby musiały być przydzielane indywidualnie, klient po kliencie. Należało przy tym uwzględniać szczytowe obciążenia oraz sezonowość, co sprawiało, że cały proces był mało opłacalny i mało efektywny.

Kolejnym wyzwaniem była konieczność przygotowania infrastruktury przed jej przekazaniem klientowi. Obsługa serwerów Bare Metal wymagała co najmniej podstawowej konfiguracji - przygotowania systemu operacyjnego, sieci publicznej oraz prywatnej sieci vRack. Etap przygotowania fizycznego serwera przed uruchomieniem środowiska produkcyjnego dla klienta końcowego był często czasochłonny.

Rozwiązanie

Webmecanik diagram

Infrastruktura została migrowana do Kubernetesa - zarówno ze względu na łatwość skalowania i wdrażania środowisk dla nowych klientów, jak i możliwość przenoszenia całej architektury do różnych lokalizacji. Z technicznego punktu widzenia oznaczało to odejście od architektury monolitycznej na rzecz modelu rozproszonego. Architekturę opartą na fizycznych serwerach dedykowanych zastąpiono rozwiązaniami zwirtualizowanymi i kontenerami, co pozwoliło na pełną automatyzację środowiska.

Dzięki Kubernetesowi można wdrażać tę samą infrastrukturę i usługi biznesowe w ramach klastra - z wykorzystaniem tzw. blueprintów, czyli standaryzowanych plików konfiguracyjnych opisujących docelową architekturę - niezależnie od lokalizacji geograficznej czy dostawcy. niezależnie od lokalizacji geograficznej czy dostawcy.

Refaktoryzacja przeprowadzona w 2022 roku otworzyła drogę do nowych stref geograficznych i ekspansji na nowe rynki (w Kanadzie, Stanach Zjednoczonych oraz regionie Azja-Pacyfik). Jednocześnie umożliwiła znacznie lepszą kontrolę nad komponentami w momentach intensywnego wzrostu obciążenia. Warstwa danych, przede wszystkim bazy danych, nadal działa na serwerach dedykowanych. Aplikacja uruchamiana w środowisku Kubernetes została zaprojektowana zgodnie z zasadą stateless, co oznacza, że dane produkcyjne nie są przechowywane w klastrze. Rozwiązanie to ma na celu zapewnienie wysokiej wydajności oraz zgodności z dobrymi praktykami i założeniami architektury cloud native.

Taki podział pozwala na wprowadzanie zmian lokalnie (np. jedna osoba zostaje przypisana do konkretnego namespace), bez wpływu na całą platformę. Dzięki temu każdy klient może korzystać z indywidualnie dopasowanego środowiska.

Kubernetes pozwala nam zarządzać ogromną liczbą podów i ich dystrybucją w klastrach.

David Coutelle, dyrektor techniczny Webmecanik

Platforma Webmecanik jest elastyczna i bezpieczna dzięki izolacji sieciowej vRack. Infrastruktura oparta na rozwiązaniu Managed Kubernetes Service może działać w pełni prywatnie, bez dostępu z Internetu, co pozwala na bezpieczną wymianę danych między aplikacjami. Dotyczy to również serwerów dedykowanych.

 

Korzyści

Przeniesienie infrastruktury do środowiska Kubernetes przyniosło szereg korzyści:

  • Proces uruchamiania środowisk dla klientów, niezależnie od ich wielkości i lokalizacji, przebiega znacznie sprawniej.
  • Zespoły developerskie mogą skupić się na działaniach o większej wartości dodanej. Są one również szybsze dzięki łatwemu wdrażaniu środowisk preprodukcyjnych, co pozwala sprawniej wykrywać i usuwać błędy.
  • Przejrzysty model rozliczeń, bez ukrytych kosztów, ułatwia planowanie budżetu i przewidywanie wydatków, zarówno bieżących, jak i przyszłych.

Dzięki Kubernetesowi możliwe jest dynamiczne zwiększanie liczby kontenerów i skalowanie tylko tych części aplikacji, które tego wymagają. Umożliwia to budowę architektury mikroserwisów i wykorzystanie pełnego potencjału technologii. Dużym atutem jest również mechanizm samonaprawy - restartowanie nieprawidłowo działających elementów, np. podów, pozwala zespołom operacyjnym utrzymać wysoką dostępność usług.

To samo można osiągnąć dzięki serwerom dedykowanym, ale jest to o wiele bardziej skomplikowane z technicznego punktu widzenia. Kubernetes zapewnia elastyczność, szybsze wdrażanie oraz możliwość tymczasowego skalowania zasobów.

Dziś, dzięki Kubernetesowi, obsługujemy klientów wysyłających nawet 15 milionów e-maili dziennie i monitorujemy skuteczność tych kampanii. Dzięki połączeniu Argo CD z Kubernetesem byliśmy w stanie stworzyć inteligentną i skalowalną strategię aktualizacji aplikacji w ramach naszej platformy.

David Coutelle, dyrektor techniczny Webmecanik