Универсальный Angular — AWS Lambda или EC2

хотелось бы услышать мнения относительно хостинга универсального приложения Angular.

Вопрос — EC2 против AWS Lambda

После завершения моего приложения я сначала создал экземпляр t2.micro linux для размещения своего приложения, и был рад увидеть, что сайт набрал 97 баллов в тесте скорости страницы Google.

Впоследствии я наткнулся на AWS lambda, бессерверный способ запуска моего приложения для серверного рендеринга!, поскольку его стоимость зависит от количества запросов (которых на моем веб-сайте крайне мало), и я подумал, что это может быть хорошим способом не платить 10 долларов в месяц.

Единственная проблема заключается в том, что тест скорости Google (с использованием AWS Lambda) набрал печальные 80... с огромным красным флажком на времени отклика сервера. Проведя еще несколько тестов, кажется, что функция стала теплее и достигла 92. Это не 98, но я могу с этим смириться.

Дело в том, что, поскольку я планирую получить около 20-50 запросов в течение всего дня, он останется холодным, поэтому с точки зрения SEO я останусь на веб-сайте с 80 баллами вместо 98.

Есть что-то, что мне не хватает? Как бы удобно это ни было, должен ли я просто придерживаться EC2 для своих нужд?

Спасибо за чтение <3

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
3
0
1 401
2

Ответы 2

20-50 запросов в день - это определенно немного, поэтому ваши функции Lambda действительно в какой-то момент будут остывать (обычно они остывают через 5 минут).

Одним из вариантов здесь является создание события CloudWatch, которое запускается каждые 4 минуты и запускает вашу функцию Lambda.

Имейте в виду, что это раскрутит только один контейнер. Если вы ожидаете пиков, допустим, что 10 из 50 запросов являются одновременными, тогда вам нужно, чтобы ваша Lambda запускала другой экземпляр той же функции 10 раз, чтобы вам не пришлось слишком беспокоиться о холодных запусках. . Однако, поскольку это может быстро привести к путанице, я предлагаю, чтобы ваше событие CloudWatch вызывало Lambda, единственной обязанностью которого является разогрев реальной Lambda (т. е. вызов реальной Lambda 10 раз одновременно), которую вы собираетесь использовать.

Я предлагаю вам прочитать статью статья героя сообщества AWS Яна Цуя, где он подробно рассказывает о том, как работают холодные запуски Lambda и как их избежать.

Ну... наличие события CloudWatch, которое запускает лямбду 10 раз каждые 5 минут, означает, что я преодолею ограничение в 1 миллион бесплатных запросов... если это так, мне кажется, что мне лучше просто запустить его на сервере и платить 10 долларов в месяц и быть уверенным в максимальной производительности все время? ... ты!

Ben 25.03.2019 17:23

@Ben Если вы все еще смотрите на цены на лямбда, это все еще меньше aws.amazon.com/лямбда/цены

amittn 25.03.2019 17:27

@amittn хорошее замечание, ха-ха, я настрою подогреватель лямбда и через несколько часов проверю, как это работает, когда я запрошу тест скорости Google. ты

Ben 25.03.2019 17:49

@ Бен, даже если вы запускаете его 10 раз каждые 5 минут, вы не превысите 1 миллион бесплатных запросов: 5 * 10 * 12 * 24 * 30 = 432 КБ в месяц. 43% от вашей месячной квоты. Но это с учетом того, что вы можете получить 10 одновременных запросов, что, я думаю, не так. Прогрев каждые 5 минут должен помочь.

Thales Minussi 25.03.2019 17:59

Объяснение моей формулы: 5 = минуты / 10 = одновременные запросы / 12 = вызовы в час / 24 = часы в день / 30 = дни в месяц

Thales Minussi 25.03.2019 18:00

Правда, просчитался. Делаю выстрел с более теплым, теперь скрестив пальцы, который всегда будет держать счет на уровне 90+. Тай

Ben 25.03.2019 18:04

Я увидел в ваших комментариях, что это просто статическое приложение. Рассматривали ли вы статический хостинг s3?

Thales Minussi 25.03.2019 18:30

О, это не настоящее статическое приложение, это рендеринг на стороне сервера. поэтому статический хостинг s3 здесь не подойдет. ты :)

Ben 25.03.2019 19:06
  • Если это просто тест скорости Google, который отвлекает вас от использования aws lambda (я бы предложил использовать синтетическую транзакцию, также известную как активный мониторинг или упреждающий мониторинг или использование «пинга» CloudWatch Events), это поможет вам сохранить лямбда-червя.
  • Пока вы ежемесячно участвуете в 1 миллионе бесплатных вызовов, это не будет стоить вам ни копейки.
  • Это также зависит от трафика, который вы видите / ожидаете на своем сайте, потому что это будет направляющей силой для выбора метода, как вы хотите реализовать бит поддержания тепла (синтатическая транзакция или пинг события cloudwatch).
  • надеюсь, что эта ссылка поможет в том, что она просто говорит о методе ping для наблюдения за облаком, но охватывает методы одиночного параллелизма и множественного параллелизма https://www.jeremydaly.com/lambda-warmer-optimize-aws-lambda-function-cold-starts/
  • И синтетическая транзакция — это не что иное, как полное путешествие пользователя по вашему сайту, например, каждые 10 минут, но это больше мониторинг, чем поддержание лямбды в тепле.

Чтобы ответить на ваш вопрос «Если это просто тест скорости Google, который тянет вас назад» Да!, это всего лишь тест скорости Google. и все же кажется, что решение того не стоит. как я могу пройти бесплатное ограничение и рискнуть не иметь 100% производительности за все время? вы все еще считаете, что я должен использовать его для своих нужд или просто запустить его на экземпляре Linux?

Ben 25.03.2019 17:23

@Ben Все зависит от того, к чему вы стремитесь и что делает ваше приложение 1) Если это бронзовый сервис, и вам все равно, работает ли приложение немного медленно из-за проблем с задержкой (я бы попробовал для по крайней мере, в месяц) 2) Если вы планируете запускать приложение в течение следующих нескольких лет, я бы подумал о переходе на зарезервированный экземпляр и соответственно снизил стоимость, а затем сравнил долгосрочные преимущества.

amittn 25.03.2019 17:53

Меня не так волнует пользовательский опыт ... потому что даже когда холодно, это не так уж плохо, поскольку в конце концов это просто статический веб-сайт. Моя проблема в том, что мне сказали, что SEO будет намного лучше, имея 97 баллов в тесте скорости Google по сравнению с 75-85.

Ben 25.03.2019 18:04

Другие вопросы по теме