Ускоряем в X100 раз или как держать веб сервис тепленьким
Ускоряем в X100 раз или как держать веб сервис тепленькимХотел бы написать что Amazon мне не плотит! Но именно сегодня он мне заплатил, точнее вернул деньги за мои эксперименты, с кубернетес и тд которые я описывал тут, после того как я увидел счет за ЕС2 вернулся назад на лямбды и lightsailВот тут я писал как пробовал свой serverless бекенд переписывать на Java, Go, Rust, в итоге остался на python и node.js (если у вас огрессия и зубы скрипят когда видите что сравнивают яблоки с помидорами, то добавлю контекста, сравниваются рантаймы (среды выполнения) а не языки, просто в python стандартный рантайм называется CPython, так как он написан на C и кратко пишут одноименно Pyhon)Так вот, прежде чем я заметил что после холодного старта в 2 секунды Java, на вторые и далее разы отдавал результат намного быстрее в зависимости от задачи 100-500мсЕще я заметил что иногда мой проект открывался 10 секунд, столько дождется конечно тот кто очень хочет, но это не делоОказалось у AWS Amplify под капотом тоже лямбды которые засыпаютВыход для фронтенда, это настроить healthcheck любым способом, один из способов в AWS Route53, где настраиваются домены и тд, можно настр healthcheck кажды 30секунд вашего сайта, в течение месяца, если 3 проверки подряд fail, можно настроить алерт (уведомление), что сайту плохо, стоит это 0.50€ в месяцДля веб сервисов (лямбд) если их много, это будет накладно, в этом случае можно написать своего робота неСпать, положить его на vps, например в AWS Lightsail или еще где, и он будет ходить пр всем сервисам дергать /health ендпоинт чтобы тот незасыпалДа, хорошо сделать каждому вебсервису ендпоинт /tiKakDrujok или /health /healthCheck /health-check который просто будет отдавать ответ 200 «я в порядке»Таким образом лямбды всегда будут «прогреты», и ваш проект ускорить в N раз 🤓#программирование | @andreyposnov