Potrzebne toolsy do zdeployowanej apki na AWS

Potrzebne toolsy do zdeployowanej apki na AWS
Bambo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 779
0

Hej, skończyłem backend i klienta androidowego swojej aplikacji. Klienta wrzuciłem na google play w wersji alfa do testów dla znajomych, backend zdeployowałem na ec2.
Backend u mnie to zwykły monolit - apka nie jest super duża, chociaż dłubałem ją powoli z rok. Serwisy z jakich korzystam to mongo cloud jako db, cloudinary jako chmura do zdj, image rekognition amazona do weryfikacji zdj. Nie skupiałem się na razie na CI/CD, więc napisałem sobie po prostu shellowy scrypt i deployuję ją na ec2 z inteliija.
Nigdy za bardzo nie interesowałem się tymi wszystkimi devopsowymi rzeczami, no ale chyba w końcu trzeba. Wiem, że apka na razie nie jest publiczna i na razie są to testy, ale o co muszę zadbać przed wrzuceniem tego normalnie na proda ?

Na pewno https pewnie muszę skonfigurować na AWS ? Czy jakieś API Gateway typu Kong będzie mi niezbędny ? Monitoring ? Nie orientuję się za bardzo jak sprawa wygląda z autoskalowalnością na AWS. Chciałbym po prostu wiedzieć w razie co, że ec2 już nie wyrabia z ilością userów i albo postawić mocniejszy albo kolejną instancję. To się na AWS dzieję jakoś samo czy muszę to monitorować ? Na razie mam ten free tier. O co jeszcze muszę zadbać ? Logi na razie zapisuje po prostu tylko errory do pliku.

Ze wszelkimi politykami prywatności itd udam się zapewne do radcy prawnego.

Pozdrawiam serdecznie

Charles_Ray
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1910
2

Nie mam doświadczenia z AWS, ale zacząłbym od https://aws.amazon.com/elasticloadbalancing/ i ustawienia limitów kasowych, żeby nie popłynąć w kosztach :) Agregator logów i metryk, to niezależnie od środowiska zawsze trzeba mieć, żeby wiedzieć co się dzieje.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
3
  1. AWS ma swoje ELBy i ALBy, nie musisz stawiać nic sam. Podobnie DNSy możesz ogarnąć przez AWSa i tam też ogarnąć certyfikaty do https.
  2. Wygodnie mieć aplikacje na więcej niż 1 node, bo raz że redundancja, a dwa że można robić deploy bez downtime -> wyrzucasz jedną instancje z load balancera, deploujesz nową wersje, wrzucasz do load balancera, wyrzucasz tą drugą i deploy na drugiej
  3. Jakaś grafana z metrykami plus icinga mogą się przydać
  4. Autoscaling można skonfigurować w EC2
  5. Logi do pliku, spoko, a co jak się zeskalujesz na 10 albo 100 instancji? ;) Wtedy można pomyśleć o jakimś ELK-stacku.

Tylko pamiętaj, że to wszystko to koszty.

Bambo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 779
0

Dzięki serdecznie za odp !
A jest jakiś lżejszy sposób niż ELK stack ? Nie wiem czy potrzebuję stawiać aż taką machinę.Może jakiś prosty system do zbierania logów z plików z wielu instancji i pokazywania ich po prostu gdzieś na UI ? :D

Charles_Ray
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1910

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.