Разница между IaaS, CaaS, PaaS, FaaS, SaaS

Разница между IaaS, CaaS, PaaS, FaaS, SaaS

IaaS, CaaS, PaaS, FaaS и SaaS – это разные виды облачных сервисов. Все они помогают освободить ИТ-подразделения от необходимости управления ресурсами сети, хранилища, виртуализации, контейнерными технологиями и т.д. Благодаря облачным сервисам, компании значительно снижают CAPEX, а в долгосрочной перспективе позволяют экономить на ИТ в целом, одновременно повышая гибкость, скорость разработки и сроки вывода продуктов на рынок.

Рассмотрим подробнее каждую категорию и примеры их использования.

IaaS – Инфраструктура как услуга

Есть два способа взглянуть на IaaS – с точки зрения бизнес-модели и в качестве онлайн-сервиса.

IaaS как бизнес-модель

В отличии от традиционной покупки оборудования («Мой сервер в моем подвале»), IaaS позволяет взять инфраструктуру в аренду. Провайдер отвечает за сеть, хранилища, сервера и виртуализацию, в то время как клиент несет ответственность только за реальное приложение, его данные, время выполнения, контейнерные технологии и операционную систему.

Наиболее важными особенностями использования этого подхода являются:

  • Сглаживание пиковых нагрузок.

  • Быстрое масштабирование.

  • Возможность высвободить неиспользованные мощности.

  • Отсутствие необходимости в поддержке дополнительной инфраструктуры для редко выполняемых приложений.

  • Возможность проводить тестирование программного обеспечения на разных платформах.

Iaas как онлайн-сервис

Можно рассматривать IaaS как online-сервисы с определенными технологиями облачной оркестровки для управления созданием ВМ, выбора гипервизора, выделения объема хранилища и т.д. Технология оркестровки, используемая в большинстве публичных облаков, является проприетарной, но существует несколько решений с открытым исходным кодом (OpenStack, Apache CloudStack и т.д.), доступных также и для native clouds.

Следует отметить, что VM – не единственная инфраструктурная система, доступная в качестве управляемого сервиса. Существуют и другие ресурсы, например, блочное, файловое или объектное хранилище, брандмауэры, балансировщики нагрузки, IP-адреса, виртуальные локальные сети (VLAN) и др.

Модель оплаты – в Cloud4y вы можете арендовать виртуальный сервер на VMware по модели pay-as-you-go.

CaaS – Контейнер как услуга

Что такое контейнеры?

Контейнеры являются альтернативой гипервизорам и используют ряд концепций из мира Unix (Control groups, Union Filesystem, Namespaces and Processes) для безопасного запуска приложений. Контейнеры запускаются в изолированных разделах одного ядра Linux, запущенного непосредственно на физическом аппаратном обеспечении. Linux cgroups (Control Groups) и пространства имен – это технологии, лежащие в основе ядра Linux, используемые для изоляции, защиты и управления контейнерами. Контейнеризация обеспечивает более высокую производительность, чем виртуализация/гипервизоры, потому что нет накладных расходов на гипервизоры. Кроме того, емкость контейнеров динамически изменяется с вычислительной нагрузкой, что устраняет проблему избыточного обеспечения и позволяет оплачивать услугу на основе данных о потреблении.

Что такое CaaS?

Container-as-a-Service (CaaS) – облачный сервис, который позволяет развертывать и управлять контейнерными приложениями с помощью виртуализации на основе контейнеров. CaaS упрощает выполнение одноконтейнерных развертываний, в частности, для запуска простых микросервисов, либо предоставляет полноценную платформу контейнерной оркестровки, такую как Kubernetes, для запуска более сложных многоконтейнерных развертываний.

Платформы контейнерной оркестровки включают такие услуги, как обнаружение сервисов, планирование контейнеров, сетевое взаимодействие контейнеров, мониторинг и т.д.

Модель оплаты – за ресурсы, используемые для организации контейнерного кластера (например, за ВМ, балансировщики нагрузки, блочные хранилища). Хотя некоторые провайдеры также взимают плату за управление кластером.

PaaS – Платформа как услуга

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

Большинство из этих платформ обладают следующими возможностями:

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

  • Подключения к различным другим платформам PaaS, SaaS и облачному DBaaS.

  • Встроенная интеграция с DevOps Services.

Модель оплаты – PaaS-вендоры имеют определенные типы экземпляров, за каждый из которых взимается почасовая оплата.

FaaS – Функция как услуга

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

Важными особенностями FaaS-приложений являются:

  • Клиент реализует в функциях только бизнес-логику.

  • Приложения, реализованные с помощью FaaS, являются stateless (без сохранения состояния).

  • Ориентированный на события и оперативно реагирующие: При использовании FaaS серверный процесс не выполняется. Вместо этого при срабатывании триггерного события происходит вызов функции, например, HTTP-вызов.

  • Не нужно беспокоиться о планировании пропускной способности, параллелизации и масштабировании – об этом позаботится поставщик FaaS.

  • Для обеспечения непрерывности необходимо использовать внешний сервер базы данных или сетевую файловую систему (из-за асимметричности приложения).

Модель оплаты – продукты FaaS в основном тарифицируются в зависимости от объема и используемого vCPU. Некоторые провайдеры также взимают плату за вызов функций в случае превышения лимита бесплатных вызовов.

SaaS - Программное обеспечение как услуга

SaaS – это бизнес-модель, в рамках которой программное обеспечение становится доступным в качестве услуги. Например, облачный Office 365.

ПО лицензируется по подписке и централизованно размещается у поставщика. Подавляющее большинство SaaS-решений базируется на многопользовательской архитектуре. При такой модели для всех клиентов (арендаторов) устанавливается единая версия приложения с единой конфигурацией (аппаратное обеспечение, сеть, операционная система).

SaaS дает бизнесу возможность снизить операционные расходы на ИТ за счет аутсорсинга обслуживания и поддержки аппаратного и программного обеспечения. SaaS-приложения чаще обновляются, чем обычные (еженедельно или ежемесячно). Это обусловлено несколькими факторами:

  • Централизованный хостинг – приложения обновляет провайдер, а не клиент.

  • Приложение имеет единую конфигурацию, что ускоряет процесс тестирования.

  • Провайдеру не нужно тратить ресурсы на обновление и поддержку фоновых версий ПО.

  • Провайдер имеет доступ ко всем данным заказчика, что ускоряет разработку и регрессивное тестирование.

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

 

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

Независимо от того, какой вариант вы выберете, миграция в облако – это будущее бизнеса и технологий.

Вверх!