Kipinä to międzynarodowa platforma komunikacji między szkołą, nauczycielami i rodzicami. To także system, który pomaga nadzorować postępy dziecka.
Największym wyzwaniem była poprawa stabilności i wydajności. Wystąpił problem z szybką dostępnością funkcji i ich poprawnym działaniem, co skutkowało utratą użytkowników. Do tego niestabilna baza danych, która uniemożliwiała właściwe zarządzanie zasobami szkół.
Na potrzeby frontendowej części projektu (aplikacji mobilnej) fireup.pro przygotował i wdrożył wysoce skalowalną, niezawodną architekturę opartą na Amazon Web Services. Chcieliśmy, aby nasi programiści skupili się na tworzeniu aplikacji, dlatego użyliśmy AWS Fargate, bezserwerowego silnika obliczeniowego dla kontenerów Docker, który współpracuje z Amazon Elastic Container Service (ECS). Rozwiązanie to eliminuje potrzebę zarządzania serwerami, jest przyjazne kosztowo (klient płaci tylko za wykorzystane zasoby) oraz poprawia bezpieczeństwo poprzez izolację aplikacji na etapie projektowania. fireup.pro uruchomił usługę ECS z elastycznym równoważeniem obciążenia, która przygotowuje na zwiększony ruch aplikacji i pozwala utrzymać wysoką dostępność zasobów (HA).
Naszym drugim wyzwaniem w tym projekcie było stworzenie usługi VOD dla aplikacji mobilnej Kipinä, skierowanej do odbiorców na całym świecie. Aby osiągnąć ten cel, wykorzystaliśmy kilka rozwiązań AWS Cloud. Do przechowywania i archiwizowania plików wideo wykorzystaliśmy Amazon Simple Storage Service (Amazon S3), AWS Elemental MediaConvert do transkodowania i optymalizacji plików, Amazon CloudFront do globalnej dystrybucji transkodowanej treści oraz AWS Step Functions do zorganizowania całego procesu (pobierania, przetwarzania i publikowania przepływu pracy).
AWS
React
Node.js
NestJS
TypeScript
React Native
Efektem wdrożenia aplikacji do AWS jest skalowalność i szybka dostępność niezależnie od lokalizacji użytkownika. Po wdrożeniu tego rozwiązania czas potrzebny na odtworzenie wideo zmniejszył się z 30s do około 5s, niezależnie od lokalizacji.
Poprawiliśmy również warstwy wizualne aplikacji mobilnych i dostosowaliśmy widoki w celu zwiększenia przejrzystości i uzyskania efektywniejszego UX.
Dzięki optymalizacji zapytań na backendzie, serwer zwraca odpowiedzi w dużo krótszym czasie.
”
Dzięki pracy z dedykowanym zespołem, w każdym momencie trwania projektu mogliśmy mieć pewność, że realizacja projektu idzie w kierunku zgodnym z naszymi oczekiwaniami.
[email protected]