Wpis z mikrobloga

mirki z #programowanie mam takie pytanie o #aws mianowicie jak wygląda tworzenie aplikacji żeby ją uruchomić w aws? mam aplikację w node i jakąś bazę danych chciałbym to uruchomić w aws czy mogę tam wykupić usługę i mieć skonfigurowany server, domenę, cache, nginx i tak dalej czy dostaje tylko server i wszystko muszę sam instalować i konfigurować? a jak chciabym odpalic kilka instancji aplikacji to wystarczy kupić load balancer? co jeśli chciałbym mieć np 2 lub 3 aplikację ( mikroserwisy ) które ze sobą rozmawiają ( i każdy mikroserwis działa w kilku instancjach ) czy aws udostępnia jakieś narzędzia do zestawienia komunikacji, czy sam muszę zaimplementować jakies rpc, czy inne kolejki ?

I drugie pytanie mogę sobie utworzyć obraz #docker i zdeployować go na jakis przygotowany server w aws? ( tak żebym tylko pisał aplikację i nie zajmował się PaaS'em) , są gdzieś jakieś poradniki jak przygotowac obraz aplikacji i zdeployować na aws ?
  • 13
@mirasKo-Kalwario: To zalezy jak chcesz uruchomić :) możesz to zrobić na kilka sposobów. Jeżeli to prosta appka w node to polecam poczytac o serverless i AWS lambda.
Oczywiście mozesz skorzystać z ECS i po prostu uruchomić swoją instancję i uruchomić docker-compose tam.
W ostateczności możesz na EC2 uruchomić własną instancję i skonfigurować ją od zera.
Jak będziesz potrzebować wiecej info to wołaj, jutro odpowiem
@komw: ogólnie chodzi mi o to że chciałbym uruchomić appkę ale nie myśleć o rzeczach typowo paas'owych tylko programować i uruchamiać dodatkowo chciałbym żeby kilka aplikacji mogło ze sobą rozmawiać ale nie wiem czy aws coś takiego ma out-of-the-box czy trzeba samemu takie coś napisać , i dodatkowo chciałbym móc zarządzać instancjami aplikacji w jakiś łatwy sposób - np odpalam build aplikacji i poprostu dodaje kolejne instancje gdy tego potrzebuje
@mirasKo-Kalwario: Jeżeli uzywasz AWS lambdy i serverlessa w ogóle nie myślisz o instancjach,po prostu wrzucasz kod, i płacisz za czas wykonania skryptu. Na ilu instancjach to sie wykona, na jakich itp, nie interesuje Cie. Jezeli Twoj skrypt był uruchomiony 100s płacisz za 100s, a AWS nie interesuje czy odpaliłeś 100x * 1s czy 1x*100s. Jeżeli interesuje Cie postawienie instancji, zarzadzanie load balancerami do nich, ustawieiem autoskalowania itp. użyj ECS'a. przygotowujesz plik
@komw: ok ale nie wszystko moge cacheować np logowanie uzytkownika, stan konta wiadomości prywatne itd to musi być live, ofc dzięki za rady już wiem o cyzm poczytać, rozumiem że deploy robie robiąc obraz dockera czy jakoś inaczej ?
@mirasKo-Kalwario w przypadku ecsa robisz obrazy dockerowe,wrzucasz?je do repo w aws a potem resetujesz taski zeby odpalily sie z nowymi obrazami. Zljak?uzywasz serverlessa to odplasz jedna komende a ona sama wszystko eobi i wrzuca do aws lambda i przygotowuje api gatewaya
@komw: czyli podsumowywując jak chce cos co chodzi ciągle i ma jakąś logikę której nie mogę cache'ować to używam ec2, do staticów s3 a do różnych cyklicznych i/lub wymagających większej mocy obliczeniowej lambda ? rozumiem że gateway jest jakos powiązany z lambdą?