Статья в стиле "ссылочная комната" про мир serverless в 2021-ом. Вкусная находка для тех, кто хочет поглубже вникнуть в Serveless подход построения приложений. А для тех, кто впервые слышит - прочитайте сперва эту вводную коротенькую статью, ну или хотя бы текст ниже.
В общем, сеньоры направо, джуны налево 😃
Что такое Serverless?
Если совсем коротко - эволюция использования ресурсов хостинга для ваших приложений. Это как каршеринг - плати только за время проведённое непосредственно за рулём (pay-as-you-go). Удобно и не нужно покупать свой авто.
Если не в двух словах, а в трёх - давайте на выдуманном примере. Вот есть у вас, допустим какой-то скрипт. Допустим новостной. Допустим, он ходит раз в час на сайт news.com, собирает все ссылочки и скидывает вам в Telegram. Ну и попутно ... в базу кладёт. Прекрасно.
А дальше-то что, куда скрипт засунуть? Не будете же вы его запускать на вашем ноуте каждый час, верно? Вам нужен сервер-хостинг. Маленький такой. Но сервер. Ну и базу бы хорошо. Сохранять куда-то же нужно всё это счастье.
Идёте вы на какой-нибудь хостинг, а-ля DigitalOcean, покупаете там самый дешёвый инстанс за 5$. Ну и базу допустим разворачиваете не там же, а на ещё одном инстансе (просто для примера).
Вот у вас работает скрипт, всё хорошо. 24 раза в сутки ходит за новостями. Однако, очевидно, что это не самое рациональное использование ресурсов сервера, т.к. за 24 часа хорошо, если он будет работать в сумме хотя бы полчаса. А скорее всего - минуту-две в день. Всё остальное время сервер простаивает и ждёт следующего цикла запуска. Не супер круто, правда?
Serveless подход как раз про это. Вы шагаете, допустим, в AWS => деплоите свой код на Amazon Lambda => делаете пару магических пассов в виде настройки доступов и cloud watch, который будет дёргать вашу лямбду раз в час. А базу ... юзаете тоже амазоновскую - nosql DynamoDB к примеру. Красота!
Но... зачем? А затем, что теперь вы будете платить ... примерно ничего. Ну или около пары центов в месяц за пример выше. А по факту, это вообще будет бесплатно, т.к. у амазона есть free tier т.е. бесплатные лимиты и скорее всего вы в них уложитесь.
Чем сложнее приложение, тем тут больше нюансов - всё нужно "считать" по итогу, но serverless и правда позволяет сильно сократить затраты для пет-проектов (и не только) и не держать развёрнутую инфраструктуру при отсутствии траффика.
Уже года полтора пользую подобным образом и вам советую. Оно есть не только на амазоне, а во всех "приличных
Так что если до сих пор не в теме - выделите часик-другой и почитайте что за зверь 😉
#habr #авторское