Migracja serwisu edukacyjnego EduNect do chmury AWS

12 października 2020

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

diagram_edunect

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