Если вы в индустрии давно, или же просто интересуетесь современными архитектурными подходами, вы вероятнее всего слышали про достаточно новый способ запуска приложений в облачном окружении, называемый Serverless, что можно вольно перевести как "бессерверный".
«Serverless» называют концепцию создания и запуска приложений без необходимости настраивать серверную часть. В рамках этой концепции приложение разбивается на функции, которые помещаются в облачную платформу и там выполняются, масштабируются и оплачиваются в зависимости от текущей нагрузки.
Скрытые расходы Serverless
- Шлюзы API, как правило, являются огромной частью ваших затрат на серверы, когда вы подключаетесь ко многим API.
- Переход на безсерверный режим может не стоить того, если хранение данных и работа в сети - это самые большие расходы вашего приложения.
- Затраты на переход на безсерверный сервис связаны с обслуживанием кода и холодными запусками.
- Оцените стоимость дополнительного обслуживания кода и дополнительного времени, потраченного на переключение на сервер.
- Ищите ценовые преимущества безсерверных провайдеров, которые подходят вам лучше всего.
- Используйте бесплатные уровни от поставщиков. Иногда их будет достаточно для запуска небольших рабочих нагрузок.
Смягчение рисков Serverless
- Подумайте, стоимость блокировки = стоимость миграции - выигрыш от миграции. Максимизируйте возможности и минимизируйте затраты на миграцию.
- Чтобы максимально увеличить возможности, разверните существующие инструменты, такие как безсерверная инфраструктура, apex, claudia.js и будьте настолько "облачными", насколько это возможно, используя серверную службу, предоставляемую вашим поставщиком облачных услуг.
- Чтобы минимизировать затраты на миграцию, выберите язык программирования, поддерживаемый несколькими поставщиками. Отделите домен приложения от платформы и инвестируйте в хороший архитектурный шаблон.
- Избегайте интеграционных тестов, сильно зависящих от поставщика облачных вычислений, и вместо этого подумайте о повторно используемых абстракциях.
- Используйте стандартизированные технологии, такие как HTTP и SQL.
9 Serverless рекомендаций по безопасности
- Составьте карту вашего приложения - учитывайте данные, их ценность и сервисы, которые к ним обращаются.
- Продолжайте использовать свой WAF и API-шлюз, но также применяйте защиту периметра на уровне функций.
- Защитите зависимости приложений, чтобы предотвратить использование новых уязвимых пакетов.
- Обращайте внимание на плохой код, который может вызвать самозваную атаку типа «отказ в обслуживании» из вашего приложения.
- Добавьте тесты для настройки сервиса в CI / CD & PROD.
- Сделайте так, чтобы контейнеры FaaS обновлялись, чтобы ограничить время жизни экземпляров функций.
0 комментариев
Добавить комментарий