WebAssembly rewolucją w rozwiązaniach serwerless
American Express, jeden z globalnych liderów branży finansowej, zdecydował się na implementację WebAssembly (Wasm) jako podstawy swojej wewnętrznej platformy Function as a Service (FaaS). To jedno z największych i najbardziej znaczących zastosowań WebAssembly w komercyjnych projektach, pokazujące potencjał tej technologii jako realnej alternatywy dla tradycyjnych kontenerów.
Dlaczego WebAssembly?
American Express postawiło na WebAssembly z kilku kluczowych powodów. Przede wszystkim technologia ta oferuje znacznie lepsze metryki wydajnościowe w porównaniu do kontenerów. Dzięki temu możliwe jest stworzenie środowiska, które jest zarówno lekkie, jak i bezpieczne. WebAssembly pozwala na izolację funkcji wykonywalnych w tzw. piaskownicy, co minimalizuje zagrożenie dla systemu w przypadku potencjalnych ataków.
Inżynier platformy w American Express, Ritesh Rai, przyznał, że celem było odciążenie programistów odpowiedzialnych wyłącznie za logikę biznesową. Cała reszta—zarządzanie środowiskiem, bezpieczeństwem i wydajnością—jest obsługiwana przez platformę opartą na WebAssembly.
Platforma wspierana przez wasmCloud
Do budowy swojej platformy FaaS American Express wykorzystało wasmCloud, projekt wspierany przez fundację CNCF (Cloud Native Computing Foundation). wasmCloud dostarcza szereg funkcji, takich jak zarządzanie tajemnicami, obsługa modułów oraz łatwy dostęp do interfejsów pozwalających na szybkie uruchamianie funkcji.
Dzięki wasmCloud, American Express mogło stworzyć elastyczne środowisko, w którym kod funkcji może współdziałać z komponentami natywnymi. Na przykład, w scenariuszach wymagających dużej wydajności podczas interakcji z relacyjnymi bazami danych, funkcje mogą być napisane jako binaria natywne. Jednak WebAssembly pozwala na płynną integrację tych binariów z kodem funkcji, co zapewnia optymalizację dla różnych potrzeb operacyjnych.
Zalety podejścia Wasm w praktyce
Platforma American Express wspierana przez WebAssembly zapewnia szereg korzyści technologicznych. Przede wszystkim redukuje obciążenie związane z zarządzaniem połączeniami z bazami danych i innymi źródłami danych. Dzięki temu możliwe jest zwiększenie gęstości funkcji, co w rezultacie prowadzi do bardziej efektywnej obsługi większej liczby instancji.
„Podjęto decyzję o budowie środowiska FaaS na wasmCloud, co pozwala na utrzymanie pojedynczego środowiska uruchomieniowego z wyższą gęstością, zapewniając jednocześnie pełną izolację funkcji,” podkreśla Rai. Podejście to pozwala również na skalowanie poszczególnych komponentów niezależnie, co znacząco wspiera obsługę różnorodnych i wymagających źródeł danych.
Przyszłość WebAssembly
Wykorzystanie WebAssembly przez American Express otwiera nowe możliwości dla tej technologii. Poprzez nieustanne wsparcie i rozwój otwartoźródłowego projektu wasmCloud oraz własne innowacje, firma pokazuje, jak WebAssembly może zmienić krajobraz serwerless. Wasm, ze swoim potencjałem do zastąpienia kontenerów dla aplikacji serwerless, wydaje się być technologią przyszłości.
Wykorzystując WebAssembly, American Express dołącza do liderów rynku, takich jak Adobe czy Akamai, którzy również wdrażają rozwiązania oparte na Wasm. Dzięki temu świat technologii serwerless staje się nie tylko bardziej efektywny, ale i bezpieczny, co jest kluczowe dla firm działających w obszarze finansowym i technologicznym.