WItam. Mam sobie napisany backend jako monolith i chciałbym go wysawić na AWS na elasticbeanstalk. Musiałem tam postawić Load Balancer, bo się łatwiej stawia https wtedy.
Mam kilka pytań o infrastrukturę, ponieważ mam trochę problem ze zrozumieniem pewnych rzeczy.
-
Czy powinienem korzystać z narzędzi AWSowych czy springowych czy jeszcze jakiś innych ? Wiem, że do logowania najlepiej użyć stacka ELK, a co z monitoringiem ? Co powinienem monitorować ? To co bym chciał to czas odpowiedzi poszczególnych endpointów oraz czas zapytań do bazy danych. Czy powinienem coś jeszcze ? EC2 pokazuje mi zużycie CPU, ale to mało.
Czytałem, że Spring Boot ma jakieś wsparcie do monitoringu ? Albo, że jest coś takiego jak prometheus. Pewnie najlepiej to zintegrować z grafaną ? -
Czy potrzebuję API GATEWAY ? Z tego co rozumiem, to mimo, że mam monolit to powinienem postawić API GATEWAY chociażby po to, żeby móc postawić kilka instancji monolitu w razie dużego ruchu ? Czy API GATEWAY stawia się na aws jako element infrastruktury czy jak to wygląda? Bo słyszałem, jeszcze o czymś takim jak kong i nie bardzo rozumiem jak to działa.
-
Czy mikroserwisy wymagają dużo więcej infrastruktury niż monolit ? Nie chciałbym robić overengeeneringu. Po prostu chcę to tak postawić jako monolith, żeby było skalowalne, monitorowane w stopniu wystarczającym na wcześnym etapie projektu, łatwo wdrażalne i po prostu zrobione dobrze.