Modernizacja platformy i migracja na Kubernetes

Fotografia / Social Media

K8s

Infrastruktura w GCP

PWA

Wieloplatformowe rozwiązanie mobilne

React

Nowoczesny stack frontend

Przegląd

Shuttout zmagał się z wieloma wyzwaniami technicznymi: starzejącym się frontendem Angular.js, żądaniami natywnych aplikacji mobilnych przy ograniczonym budżecie i infrastrukturą, która nie mogła się skalować. Prowadziłem modernizację całego stacku.

Kontekst biznesowy

Shuttout to platforma konkursów fotograficznych, która polegała na przestarzałym stosie technologicznym zbudowanym na Angular.js i hostowanym na pojedynczym serwerze VPS. Zespół produktowy chciał aplikacji mobilnych, ale budżet nie pozwalał na osobny development natywny. Infrastruktura VPS nie skalowała się podczas szczytów ruchu przy ogłaszaniu zwycięzców konkursów, co powodowało regularne awarie. Startup potrzebował modernizacji technologicznej przy zachowaniu ciągłości biznesu i ograniczonego budżetu.

Wyzwanie

Legacy frontend Angular.js, hosting na pojedynczym VPS i żądania natywnych aplikacji mobilnych. Ograniczony budżet wymagał kreatywnych rozwiązań.

  • Legacy frontend Angular.js trudny w utrzymaniu
  • Żądania aplikacji iOS i Android bez budżetu na natywny development
  • Hosting na pojedynczym VPS niezdolny do obsługi skoków ruchu

Rozwiązanie

Zmodernizowaliśmy cały stack: React dla frontendu, PWA dla mobile i Kubernetes w GCP dla skalowalnej infrastruktury.

  • Migracja frontendu z Angular.js do React
  • Budowa Progressive Web App zamiast natywnych aplikacji mobilnych
  • Migracja z VPS na Kubernetes w GCP

Podejście i metodologia

Priorytetyzowaliśmy modernizację na podstawie wpływu biznesowego. Najpierw zajęliśmy się stabilnością - migracja na Kubernetes ustabilizowała platformę podczas skoków ruchu. Następnie rozwiązaliśmy wyzwanie mobilne używając PWA zamiast natywnych aplikacji - otrzymaliśmy 90% możliwości przy 20% kosztów. Na końcu zmodernizowaliśmy frontend do React, co poprawiło zarówno doświadczenie developerów, jak i wydajność aplikacji. Każda faza dostarczała wartość biznesową zanim zaczęliśmy kolejną.

Szczegóły implementacji

Migracja do React i PWA

Przebudowano frontend w React z możliwościami Progressive Web App, zapewniając natywne doświadczenie na urządzeniach mobilnych bez kosztu osobnych aplikacji iOS i Android.

Infrastruktura Kubernetes

Migracja z pojedynczego VPS na Kubernetes w GCP, umożliwiając auto-skalowanie, wdrożenia bez przestojów i znaczne oszczędności kosztów poprzez efektywne wykorzystanie zasobów.

Kluczowe decyzje

  • PWA zamiast natywnych aplikacji - zaspokaja potrzeby mobilne przy 20% kosztów i utrzymuje jedną bazę kodu
  • GKE zamiast self-managed Kubernetes - pozwoliło skupić się na aplikacji zamiast na operacjach infrastruktury
  • Stopniowa migracja frontendu - nowe funkcje w React, stare stopniowo migrowane podczas regularnej pracy

Stack technologiczny

React Node.js PHP GCP Kubernetes PWA

Powiązane usługi

Poniższe usługi zostały wykorzystane w tym projekcie do osiągnięcia pomyślnych rezultatów.

Wnioski z projektu

  • PWA mogą zastąpić natywne aplikacje w większości przypadków - Service Workers i Web Push dostarczają kluczowe możliwości mobilne
  • Kubernetes się opłaca nawet dla małych zespołów - ustrukturyzowane wdrożenia i skalowanie zmniejszają stress operacyjny
  • Priorytetyzuj według wpływu biznesowego - najpierw napraw co boli użytkowników, potem modernizuj kod wewnętrzny

Informacje o projekcie

Czas realizacji

8 miesięcy (fazowo)

Zespół

1 fullstack + 1 devops (częściowo)

Rezultaty

K8s

Infrastruktura w GCP

PWA

Wieloplatformowe rozwiązanie mobilne

React

Nowoczesny stack frontend

Masz podobne wyzwanie?

Porozmawiajmy, jak mogę pomóc Twojemu projektowi odnieść sukces dzięki sprawdzonym rozwiązaniom architektonicznym i AI.