Migracja serwisu edukacyjnego EduNect do chmury AWS
Migracja serwisu edukacyjnego EduNect do chmury AWS umożliwiła obsłużenie rosnącej liczby użytkowników w okresie pandemii oraz wzbogaciła platformę o funkcjonalność zamiany tekstu na mowę, za co odpowiada deep learningowa usługa Amazon Polly.
Wprowadzenie
EduNect.pl to platforma do nauki online dla klas 1-8 szkół podstawowych. EduNect.pl jest uwielbianym przez uczniów systemem edukacyjnym do powtórek, sprawdzianów, konkursów oraz samodzielnej nauki. I jak pokazał okres pandemii – również do pracy zdalnej.
Problem
W trakcie pandemii ruch użytkowników wzrósł zdecydowanie, a dotychczasowa infrastruktura nie była przygotowana na obsłużenie tak dużego obciążenia. Aby utrzymać podstawowe funkcjonowanie platformy ograniczono ruch dla nowych użytkowników, co nie było zgodne z modelem biznesowym projektu. Infrastruktura, w ramach której był uruchomiony serwis nie zapewniała automatycznego zwiększenia zasobów, a więc nie zapewniała skalowania zasobów.
Wdrożenie
Analizując problem zaproponowaliśmy Klientowi infrastrukturę w grupie autoskalującej. Z uwagi na planowany ciągły i intensywny rozwój aplikacji zasugerowaliśmy deployment aplikacji przez serwis AWS CodeDeploy, a infrastruktura jest napisana jako kod i deployowana terraformem. W trakcie spotkań zespołu deweloperskiego z naszym zespołem DevOps rozpoczęliśmy proces wdrażania usługi Polly, która umożliwia zamianę tekstu na naturalnie brzmiącą mowę, co jest bardzo istotne dla grupy odbiorców serwisu, a są nim uczniowie i ich nauczyciele języków obcych oraz uczniowie z edukacji wczesnoszkolnej. Parametry systemu oraz aplikacji są bezpiecznie przechowywane w dedykowanym do tego celu serwisie Systems Manager Parameter Store.
Serwisy
Load Balancer – przekazywanie żądań do odpowiednich instancji.
CloudFront - wykorzystywany do cachowania treści oraz do skuteczniej ochrony aplikacji przed atakami typu DDOS.
Amazon Simple Email Service (SES) - poczta wychodząca z aplikacji obsługiwana jest przez SES.
Amazon EC2 Systems Manager Parameter Store – przechowuje dane konfiguracyjne środowiska dockerowego.
Amazon S3 – do przechowywania statycznych elementów aplikacji.
CodeBuild – do przygotowania, synchronizacji oraz umieszczenia plików w S3.
CodeDeploy - wdrażanie kolejnych wersji aplikacji.
CodePipeline – wspiera automatyzację wdrażania kolejnych wersji aplikacji.
Amazon RDS for MySQL - baza danych - zapewnia dostęp do danych aplikacji.
Amazon CloudWatch – narzędzie do monitoringu infrastruktury.
Amazon Simple Notification Service (SNS) – zapewnia wysyłanie notyfikacji o zdarzeniach w systemie.
Amazon Polly – która umożliwia zamianę tekstu na mowę.
Zewnętrzne usługi:
Terraform - narzędzie służące do zarządzania infrastrukturą
Diagram
Korzyści biznesowe
Zaproponowaliśmy chmurę AWS nie tylko ze względu na skalowalność, ale też ze względu na zaawansowane technologicznie usługi umożliwiające rozwój nowych funkcjonalności systemu w przyszłości.
EduNect zyskał nową stabilną i skalowalną infrastrukturę, która umożliwia obsłużenie praktycznie nieograniczonego ruchu generowanego przez klientów serwisu i samą aplikację. Poprzez wdrożenie deploymentu w oparciu o AWS CodeDeploy i terraform nastąpiło przyśpieszenie wdrażania kolejnych wersji aplikacji.
PYTANIA? SKONTAKTUJ SIĘ Z NAMI
Zobacz również:
Nowa infrastruktura w AWS dla Omnipack z użyciem IaC
Cyfrowa transformacja Modento z użyciem AWS w celu spełnienia wymagań HIPAA
Infrastruktura chmurowa i wsparcie DevOps dla Medonetu na czas pandemii COVID-19