Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Serverless

Зачем

  • Редко выполняемые операции; задания, выполняемые по таймеру; stateless-операции, требующие создания отдельного экземпляра; обработка файлов и видео
  • HTTP- и CronJob-триггеры и др способы вызова функций

arch

Плюсы-минусы

  • Плюсы
    • Не надо думать о инфраструктуре
    • Более низкая стоимость
    • Более высокая скорость разработки
    • Возможность разрабатывать сервисы различными командами одновременно
    • Повышенная отказоустойчивость и как правило, лучшая масштабируемость
    • Версионирование
  • Минусы
    • Vendor lock in cloud
    • Док-я нужна
    • Безопасность
    • На короткие действия заточено

Faas (function-as-a-service)

  • Kubernetes-based installable serverless platform
    • Не требуется облачный провайдер AWS, Azure и тп
  • Функция поднимает pod для выполнения
  • Экономия ресурсов k8s на container, если кодовая база довольно невелика
  • Способы запустить функцию
    • HTTP–триггеры - требуют конфигурации ingress и выполняют функцию после запроса, отправленного на определённый URL
    • CronJob-триггеры - будут запускать функцию по расписанию.
    • webhooks
    • триггеры очереди

Бессерверные контейнеры

  • так же, как и бессерверные функции, позиционируются для событийно-ориентированной архитектуры
    • выгода начинается, когда рабочие нагрузки носят кратковременный характер и большую часть времени ничего не происходит, но внезапно вам нужно выполнить какие-то запросы.
    • бессерверные контейнеры требуют меньшей переработки приложения, к ним легче перейти с уже существующим приложением, тогда как функции – это вариант для создания нового приложения или сервиса, и они имеют ограничения на используемый язык программирования

Паттерны

Технологии

  • serverless-фреймворки on-premise
    • Kubeless
    • Openwhisk
    • Knative