Универсальный угловой - AWS Lambda или EC2 - PullRequest
2 голосов
/ 25 марта 2019

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

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

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

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

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

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

Есть что-то, что я пропускаю? Насколько мне удобно использовать только EC2?

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

Ответы [ 2 ]

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

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

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

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

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

...