Привет, Хабр! Меня зовут Антон Черноусов, я куратор хаба Serverless. В этом посте я расскажу, что интересного тут было про бессерверные технологии за год. Разложил их по нескольким группам и выстроил от теории к практике: сначала посты про саму технологию, затем про старт работы, про инструменты, про важные особенности, и в конце сделал подборку интересных кейсов.
Под катом 20+ публикаций про Serverless за 2021 год.
Технология и рынок
В прошлом году я мониторил профильные блоги про бессерверные технологии и находил статьи от зарубежных коллег, в которых они рассказывали, что интересного происходит с этим рынком. Эти статьи дадут общее понимание того, что происходит на рынке Serverless, что можно сделать с помощью этих инструментов и на что нужно обратить внимание тем, кто только знакомится с ними.
Бессерверные вычисления — состояние индустрии
Перевод развёрнутого отчёта о состоянии отрасли и трендах бессерверного ландшафта за 2021 год. Оказывается, функции AWS Lambda вызываются в 3,5 раза чаще, чем два года назад, а Python — самая популярная среда для их исполнения. Эти и другие любопытные данные получены от нескольких тысяч компаний — клиентов Datadog.
Авторы этой публикации предлагают использовать преимущества сразу двух вариантов и объясняют, как заточить обе технологии под свои бизнес-потребности.
Экономика бессерверных вычислений
Авторы оригинального материала провели серьёзную работу, чтобы достоверно определить, когда целесообразнее использовать AWS Lambda, а когда — сервисы AWS EC2, и какие параметры играют роль. Статья отвечает на ряд актуальных вопросов и делает не самые очевидные выводы.
Погружение в Serverless
Здесь я собрал посты, в которых рассказывается об основных понятиях и принципах Serverless. Из этих статей с одной стороны можно узнать, как запускаются функции в облаках Яндекса, каких видов бывают бессерверные БД, как работает API Gateway, а с другой — оценить, в чём риск использования облачных провайдеров.
Погружение в Serverless. Функции как основной элемент системы
Первый пост из серии «Мир бессерверных вычислений»: беседуем с экспертами в разных отраслях Serverless-технологий в непринуждённой атмосфере. Интервью с Глебом Борисовым — человеком, который создаёт инструменты для запуска функций в Yandex.Cloud. О важнейшем элементе бессерверной архитектуры просто и увлекательно.
Гость этого интервью работает на американском рынке больше 10 лет: в бэкенде, фулстеке, был тимлидом. По его мнению, хайп вокруг Serverless привёдет к тому, что мы окажемся в добровольном рабстве у Amazon и Google. Что с этим делать, есть ли какая-то возможность этого избежать?
Бессерверные БД: зачем переводить Stateful-сервис в Serverless
Всё больше проектов обращается к бессерверным базам данных. Предлагаю почитать об особенностях и применении двух типов СУБД: адаптирующих популярные базы данных под бессерверное использование и разработанных под бессерверный режим. В статье описывается опыт компаний в облачной инфраструктуре и в переходе на бессерверные СУБД.
Облачные API Gateway: зачем нужны подобные сервисы и чем они отличаются у разных платформ
API Gateway выполняет, принимает, обрабатывает и распределяет запросы, контролирует трафик, осуществляет мониторинг и контроль доступа. Автор предлагает рассмотреть реализацию API Gateway на облачных платформах. В статье — детальный разбор: что это такое, как и кому упрощает жизнь, где используется.
Инструменты для работы с Serverless
Итак, вы хотите приступить к созданию бессерверной архитектуры, но не знаете, с чего начать? В этом блоке я собрал публикации, посвящённые использованию как проверенных, так и новых инструментов для работы с бессерверными решениями.
Инструменты для Serverless: расширяем возможности работы с бессерверными платформами
В этой статье рассказывается про наиболее интересные и актуальные фреймворки. Какие бывают инструменты, что подобрать под свой проект, какие у них есть возможности, преимущества и недостатки.
Бессерверные контейнеры: куда смотреть, когда обычных функций не хватает
С помощью бессерверных контейнеров можно дополнить стандартные бонусы Serverless-подхода, такие как масштабирование и pay-as-you-go, гибкой настройкой окружения. Что можно реализовать с бессерверными контейнерами, на что обратить внимание.
Frameworkless — бессерверный фреймворк для веб-приложений
Если вы хотите оставаться как можно более ленивыми и максимально использовать облачные сервисы, то вам явно нужен комплект облачной разработки от Amazon — Cloud Development Kit (CDK). Он позволяет писать высокоуровневый код на Python, TypeScript, Java или .NET — и компилировать его в шаблон CloudFormation, описывающий вашу инфраструктуру.
Конвертируй это: с Yandex Message Queue
Автор поста решает задачу по конвертированию видео в GIF с помощью Serverless-стека Yandex.Cloud с использованием сервиса очередей Yandex Message Queue. Как именно такой способ амортизирует нагрузку: теория, практика, выводы.
Calvin: обеспечение принципов ACID для высоконагруженных распределённых систем
Статья о Calvin — подходе, который используется внутри Yandex Database для фиксации транзакций. С помощью этого инструмента можно сохранить принципы ACID в распределённых системах без потери производительности. Calvin хорошо вписывается в целый класс бессерверных СУБД.
Yappa: запускаем Python веб-приложения. Просто. Бессерверно. В Яндекс.Облаке
Твоё Python-приложение доступно в Yandex.Cloud, у него есть свой URL, оно готово к любому наплыву посетителей. А платить надо только за время, затраченное ЦПУ на обработку запросов — pay-as-you-go. Это Yappa — инструмент, который стоит изучить, если хотите себе такое волшебство.
FaaS и Serverless-решения на примере PoC Kubeless-функции
Этот пост о возможностях использования функций и вариантах Serverless-решений на bare metal Kubernetes. Читаем, где можно бесплатно развернуть своё PoC-решение на облачной виртуальной машине, как выбрать Serverless-фреймворк под себя и зачем вам FaaS, если у вас K8s.
Kafka, RabbitMQ или AWS SNS/SQS: какой брокер выбрать?
Как выбрать брокер сообщений? Эта переведённая статья призвана прояснить ситуацию: сравниваем несколько наиболее известных инструментов. Читайте про задачи, под которые они разрабатывались, модели обмена сообщениями и другие критерии выбора.
Strapi сохранение файлов на Yandex Object Storage
Strapi разработало коннектор для бакета Amazon S3. Данный плагин уже включен в стандартный репозиторий Strapi, ранее он фигурировал как плагин, разработанный сообществом. А в этой статье показано, как подключить Yandex Object Storage.
Хитрости Serverless
Лайфхаки, которые облегчат жизнь тем, кто работает с бессерверными функциями.
Борьба с холодным стартом Serverless-функций: «подогрев» среды и оптимизация запуска контейнеров
Основная претензия при работе с Serverless — время холодного старта, которым нельзя управлять из коробки. Если функция стартует впервые за последние 5–25 минут, скорее всего, запуск будет долгим — сотни миллисекунд. Как с этим борются разработчики, что предпринимают провайдеры — читаем в статье.
Руководство по отладке бессерверных приложений
Перевод англоязычного гайда: различные способы выполнения бессерверной отладки — при локальном внедрении и в облаке. Кроме того, в посте приведена подборка наиболее популярных и простых инструментов для отладки бессерверных приложений.
Terraform в AWS: несколько аккаунтов и другие хитрости
Ещё одна переведённая статья: о том, как использовать Terraform от HashiCorp при управлении несколькими аккаунтами AWS. Сейчас так делают всё чаще: из-за размера организации или предпочтений команды DevOps.
Кейсы Serverless
Одно из самых частых применений Serverless-функций — создание ботов на разных языках программирования и разных облачных платформах:
Часто Serverless используют для работы с логами:
Пишем логи из Container Optimized Image в Yandex Cloud Logging при помощи Fluent Bit;
Репликация логов в Object Storage при помощи Yandex Data Streams;
Ещё в прошлом году было опубликовано много примеров работы с бессерверными функциями на Yandex.Cloud:
Если вам интересна экосистема Serverless-сервисов и все, что с этим связано, заходите в наше сообщество в Telegram, где можно обсудить serverless в целом. На этом пока всё. Надеюсь, эта подборка пригодится в вашей работе. До встречи в хабе Serverless!