Интересное о Serverless: хабрастатьи о применении, инструментах, кейсах и инструкциях для первого свидания

    Привет, Хабр! Меня зовут Антон. Примерно год назад я начал работать с Serverless — и был покорён этим подходом к разработке приложений. Несмотря на определённые недостатки и ограничения, потенциал бессерверных вычислений огромен, за ними большое будущее. Очень приятно, что честь стать первым куратором хаба Serverless выпала именно мне. Мои задачи — находить интересные материалы, показывать новые возможности и помогать тем, кто интересуется этой архитектурой. В первом посте я собрал статьи разных авторов с Хабра, которые знакомят с идеей Serverless-подхода и помогают разобраться, для чего её лучше всего применять.

    Что необходимо знать перед тем, как начать работать с Serverless

    В этом разделе я собрал статьи об основах Serverless: какие технология даёт преимущества, для каких задач применяется, что для этого надо, как не переплатить провайдеру. Раздел поможет новичкам систематизировать знания и избежать основных ошибок.

    Советы и источники информации для создания бессерверных приложений

    Для чего нужна бессерверность в принципе, в каких ситуациях она особенно хороша. Знакомимся с самыми распространёнными заблуждениями и мифами о Serverless. Автор рассказывает о выборе инструментов и вендора, управлении расходами и мониторинге, особенностях цикла разработки и методиках сборки бессерверных приложений.

    Serverless по стоечкам

    Рассмотрим преимущества и недостатки технологии с разных точек зрения — разработчика и провайдера. Разбираемся, как устроен процесс разработки Serverless-приложений и почему они выгодны для интенсивной, но не слишком частой обработки большого количества запросов.

    Как защититься от неожиданных счетов за AWS

    Как рассчитать бюджет при работе с Serverless: на примере AWS учимся избегать сюрпризов с оплатой. Автор объясняет, как бессерверные решения масштабируются в зависимости от поступающего трафика и почему однажды вместо привычных 20 центов в месяц можно выложить 2–3 тысячи долларов.

    Как можно использовать эту технологию

    Как снижать затраты, увеличивать производительность, масштабировать проекты, работать с большими данными и фронтендом.

    Что такое бессерверный SQL? И как использовать его для анализа данных?

    Как работает бессерверный SQL: быстрый запрос из любых баз данных без необходимости администрировать серверы. Вместе с автором разбираем сценарий разведочного анализа на примере исследования данных нью-йоркского такси из открытого источника.

    Почему разработчики не дружат с Serverless

    Аргументы Serverless-скептиков: любая технология не лишена недостатков и ограничений. Бессерверные вычисления тоже не идеальны, это отнюдь не панацея.

    Как повысить производительность, используя бессерверную архитектуру

    Как сделать бессерверную архитектуру инструментом масштабирования и снизить с её помощью нагрузку на собственное железо. Статья рассказывает о том, как перенести процесс предварительной обработки изображений с сервера приложений на Serverless-архитектуру.

    Serverless и React 2: ловкость рук и никакого мошенничества

    Шаг за шагом рендерим React/Redux-приложение в Serverless-архитектуре, обсуждаем плюсы и минусы решения. Автор популярно объясняет — практически разжёвывает — нюансы использования бессерверных подходов во фронтенд-разработке. Много картинок и кода.

    Инструменты и подходы для Serverless

    Разбираемся с прикладными инструментами, которые помогают в работе с Serverless. Kotlin Serverless Framework упрощает создание Serverless-приложений путём анализа кода на Kotlin. OpenFaaS создаёт Serverless-функции поверх контейнеров. В разделе есть статьи, описывающие подходы к автоматизации процесса релиза для Serverless-функций через их обновление из Git-репозитория, и преимущества Serverless с точки зрения DevOps, а также — с точки зрения безопасности работы с бэкендом приложения.

    Простой путь к Serverless-вычислениям

    Гайд от одного из разработчиков инструмента Kotlin Serverless Framework. Автор упрощает создание Serverless-приложений путём анализа кода приложения — по сути, делает всё необходимое для развёртывания текущего приложения в облаке. 

    Представляя функции как сервис — OpenFaaS

    OpenFaaS — фреймворк для создания Serverless-функций поверх контейнеров. У FaaS есть привязки для родного API у Docker Swarm и Kubernetes, с его помощью каждый процесс может стать Serverless-функцией с помощью компонента watchdog и контейнера Docker. Читают все, кого интересует тема Serverless под Kubernetes. Бонус: автор не только презентует свой инструмент, но и приводит приличный список альтернатив.

    Автоматический деплой Serverless-функций из Git

    Один из подходов к практической бессерверной разработке. В материале объясняется, как автоматизировать процесс релиза для Serverless-функций через их автоматическое обновление из Git-репозитория. Например, добавлять исполнителя в зависимости от тегов, двигать задачу на определённый milestone или просто закрывать противные баги.

    Некоторые неочевидные преимущества Serverless для DevOps

    Очевидные и не очень преимущества Serverless с точки зрения DevOps, а также — с точки зрения безопасности работы с бэкендом приложения. Подход не лишён недостатков, да и переход на бессерверную схему связан с определёнными заморочками. Но когда мы с ними разберёмся, то уже не будем терять время на промежуточные варианты в виде докера, а сразу выйдем на следующий уровень.

    Готовые инструкции по созданию бессерверных приложений

    Личный опыт и примеры, которые можно использовать. Используя эти гайды, вы сможете написать приложение для сбора данных пульсовой оксиметрии, их отслеживания и обмена ими, создать простого Serverless-бота и подключить его к базе данных, интегрировать Slack в качестве Serverless-бэкенда или даже построить собственный бесплатный Serverless на основе Fn.

    Serverless-телеграм-бот с использованием «Яндекс.Облака»

    Создаём простого Serverless-бота как заготовку для различных модификаций с использованием Yandex Cloud Functions. Подробный туториал, всё расписано максимально просто для совсем начинающих Python-программистов. 

    Подключение Yandex Database к Serverless-телеграм-боту

    Как подключить Serverless-бота к базе данных. Шаг за шагом: как подготовить базу к подключению, установить зависимости, добавить таблицу для хранения пользователя, сохранить информацию о входящем пользователе в сообщении «Телеграма», а затем получить информацию и отправить её пользователю из базы данных.

    Создание трекера пульсоксиметрии с использованием Serverless

    Гайд по созданию решения для сбора данных пульсовой оксиметрии, отслеживания этих данных и обмена ими — и всё это для нескольких пользователей. Бессерверный бэкэнд обрабатывает пользовательские данные и управление общим доступом. Код написан на Python для обработки бизнес-логики взаимодействия с базой данных Amazon DynamoDB. Serverless-подход в данном случае обеспечивает надёжную масштабируемость и безопасность.

    Создаём бессерверное приложение с помощью Azure Functions и Go

    Интегрируем Slack в качестве Serverless-бэкенда. Получаем общее представление о пользовательских обработчиках (Custom Handlers) в Azure Functions благодаря разбору кода. Логика бэкенд-функции написана на Go (код доступен на GitHub).

    Строим собственный Serverless на основе Fn

    Как использовать бесплатные альтернативы с открытым исходным кодом для организации бессерверных вычислений. Разбираемся с Fn — одним из таких решений.

    И ещё немного кейсов от читателей Хабра

    Как хабровчане применяют Serverless на практике. Здесь вы прочитаете о том, как использовать бессерверность для работы с Big Data, ускорить разработку приложений — на примере сервиса для загрузки видео — и свести расходы на использование Serverless к минимуму.

    Serverless-подход для быстрой разработки рабочего видеосервиса

    Кейс с выводами о преимуществах Serverless-подхода и его недостатках. Автору нужно было за месяц разработать промосервис, где пользователи загружают от одного до четырёх видео длительностью от одной до четырёх секунд, которые потом встраиваются в оригинальный видеоряд. Бессерверные технологии помогли, хотя не всё прошло гладко.

    Архитектура и стоимость простого бессерверного веб-приложения AWS

    Как создать Serverless-инструмент, позволяющий реализовывать практически любые фантазии за 59 центов в месяц. В описанном приложении автор не платит ни за что, кроме таблицы DynamoDB.

    Snowflake, Anchor Model, ELT и как с этим жить

    Serverless-подход к работе с большими данными: как отойти от скучных классических OLAP-решений в виде Vertica или Exasol и попробовать редкую, но вполне эффективную облачную DWaaS (Data Warehouse as a Service) Snowflake в качестве основы для хранилища.


    На этом пока всё. Предлагайте следующие темы, задавайте вопросы в комментариях к подборке или пишите в наше телеграм-сообщество Yandex Serverless Ecosystem, где можно задать вопросы по Serverless-архитектуре и пообщаться с разработчиками Yandex.Cloud по сервисам нашей экосистемы.

    Комментарии 9

      +4
      Идея — благая, но выбор статей — странный. Околонулевой ценности статьи корп блога и не упоминание интересной статьи, снижают значимость публикации. Вы куратор, вам виднее…
        +3
        Конкретно эту пропустил +) и здорово что она появилась в комментариях.
        0
        Благодарен за статью. Для первичного погружения — самое то.
          0
          Serverless больше как маркетинг. Дополнительный уровень абстракции для избавления вас от «головной боли» ваших денег. Экономически оправданное решение для Hello World.
            0
            я бы сказал что это зонтичный термин объединяющий набор сервисов для реализации приложений в event based идеологии, конечно, основанный на дополнительной абстракции исключающей взаимодействие с серверами на прямую.
            +1
            Маркетинговые статьи такие маркетинговые. На бумажке выглядит все очень неплохо и интересно.
            Прикидываем, считаем… новое серверлесс решение в теории должно быть на 2 порядка дешевле.
            Тратим полгода на POC. И…
            Не бывает бесплатного сыра. Оказывается, что есть куча AWS service limits. Eventbridge может терять сообщения, у лямбд есть тротлинг и тд тп.
              0
              Но Вы ведь в курсе, что и обычные облачные серверы после определенных лимитов начинают проигрывать собственному «железу» в экономической эффективности? Вопрос лишь в качестве проработки архитектуры решения и способности прогнозировать (и вообще считать) затраты «на берегу».
              +1
              Спасибо за материал. Serverless интересен. Хотелось бы больше статей про возможности serverless для e-commerce и web. Стоит ли с ними туда идти.
                +1
                Крутая подборка! Спасибо) Вот еще прикольный юзеркейс с serverless-функциями: habr.com/ru/company/selectel/blog/521038

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое