food technology
Przebudowa Platformy Technologii Żywnościowej

Przebudowa Platformy Technologii Żywnościowej z Danymi w Jej Centrum

W branży technologii spożywczych, doświadczenia klienta zależą w równym stopniu od platform cyfrowych, co od menu. Restauracje i firmy dostarczające jedzenie konkurują dziś ze sobą zarówno na platformach, jak i w menu. Dlatego niezawodne i łatwe w obsłudze aplikacje są koniecznością.

W tym artykule dzielimy się naszym doświadczeniem we współpracy z klientem, aby sprostać tym wyzwaniom. Zadanie polegało nie tylko na przebudowie platformy, ale na dostarczeniu systemu, który mógłby skalować się wraz z rozwojem firmy klienta, obsługiwać złożone przepływy danych i dostarczać strategicznych informacji.

Architektura Platformy i Projektowanie Usług

Zespół Agiliway przeprojektował platformę składającą się z 17 mikrousług, wykorzystując czystą strukturę (domena, aplikacja, infrastruktura, app) z DAPR do komunikacji międzyusługowej. Dzięki podziałowi podstawowej logiki biznesowej na wyspecjalizowane usługi (zamówienia, program lojalnościowy, płatności, powiadomienia, dostawy, call center itp.), każda usługa może teraz obsługiwać własne obciążenie bez wpływu na pozostałe. 

Skala i Zakres Danych

System zarządza teraz danymi ponad 3 milionów użytkowników, a MongoDB przechowuje szczegółowe historie zamówień, a PostgreSQL obsługuje dane transakcyjne. Wcześniej rozdrobnione dane operacyjne zostały ujednolicone w ustrukturyzowane przepływy, eliminując niespójności spowodowane doraźnym przechowywaniem.

Strategia Bazy Danych i Wyszukiwanie/Indeksowanie

Zastosowano podejście polegające na zachowaniu wielojęzyczności:

  • MongoDB dla historii zamówień
  • PostgreSQL dla danych dotyczących płatności, dostaw, programów lojalnościowych i danych administracyjnych
  • Amazon OpenSearch dla logów, audytów i wyszukiwania

Stworzyliśmy również mapy pokrycia do wizualizacji dystrybucji zamówień i wskaźników wydajności zarówno na poziomie zamówienia, jak i sklepu.

Hosting w Chmurze i Hurtownie Danych

Aby zmniejszyć złożoność i obciążenie związane z integracją, platforma została ujednolicona w AWS. Dane transakcyjne i operacyjne zostały skonsolidowane w Amazon Redshift, co pozwoliło na eliminację silosów i umożliwiło analitykę międzyusługową.

Niezawodna Integracja i Komunikacja

Przepływy zdarzeń między usługami były zarządzane za pomocą AWS Lambda, Dapr i Amazon SQS/SNS, a WebSockets umożliwiały klientom powiadomienia w czasie rzeczywistym o aktualizacjach płatności, statusie dostawy i wydarzeniach na żywo.

Analityka, BI i Personalizacja

Dzięki Amazon QuickSight interesariusze mogą uzyskać dostęp do historii zamówień klientów, pulpitów operacyjnych i generować raporty biznesowe. Wyniki analityczne umożliwiają również personalizację, taką jak oferty urodzinowe, ukierunkowane rabaty i preferencje klientów, co ogólnie poprawia zaangażowanie klientów i zwiększa ich satysfakcję.

Obserwowalność, Śledzenie i Bezpieczeństwo

Zintegrowaliśmy Jaeger do rozproszonego śledzenia, aby wykrywać i powiadamiać o wolnych lub nieudanych zapytaniach do bazy danych i front-endu. DefectDojo służy do ciągłego śledzenia luk w zabezpieczeniach w stosach front-end i back-end, aby uruchamiać aktualizacje i procesy naprawcze, zapewniając w ten sposób stabilność i bezpieczeństwo w całym stosie.

Planowanie Zadań i Synchronizacja

Dzięki HangFire cykliczne zadania w tle i zadania synchronizacji zostały zautomatyzowane, co dodatkowo usprawniło działanie.

Dostawa Front-End i Przepływ Pracy Programistów

Architektura monorepozytorium upraszcza tworzenie oprogramowania w interfejsach webowych, mobilnych i administracyjnych, redukując obciążenie. Dzięki Next.js i Incremental Static Regeneration (ISR) aktualizacje treści są szybsze, a wydajność front-endu znacznie się poprawia.

Modernizacja Platformy

Wszystkie usługi zostały przepisane w .NET, rozwiązując problemy z komunikacją międzyusługową ze starej konfiguracji Python/Go. Procesy biznesowe, które wcześniej opierały się na ręcznych arkuszach kalkulacyjnych lub rozłączonych eksportach, zostały zautomatyzowane i ujednolicone w jeden system.

Podsumowanie

Ulepszona platforma nie tylko rozwiązała problemy techniczne, ale także zmieniła sposób, w jaki klient korzysta ze swoich danych. Po pierwsze, zautomatyzowane procesy i bezpieczne integracje zmniejszyły nakład pracy ręcznej i obciążenie systemu. Po drugie, szybsze, bardziej niezawodne usługi i powiadomienia w czasie rzeczywistym zmniejszyły obciążenie call center i poprawiły zadowolenie użytkowników. Wreszcie, scentralizowane i ustrukturyzowane dane napędzają teraz zaawansowane kampanie marketingowe, ułatwiają podejmowanie trafniejszych decyzji i upraszczają zarządzanie stroną internetową.

Modyfikując tak rozproszone systemy w ujednoliconą platformę opartą na danych, pomogliśmy klientowi zbudować solidniejsze podstawy do rozwoju na wysoce konkurencyjnym rynku. Jeśli Twoja firma potrzebuje wsparcia technicznego, skontaktuj się z naszymi ekspertami, aby dowiedzieć się, jak możesz to zrobić.