Модели облачных услуг PaaS vs. IaaS

Модели облачных услуг PaaS vs. IaaS

Рынок облачных сервисов продолжает стремительный рост. Согласно Gartner, в 2019 г. сегмент SaaS составил почти $100 млрд., IaaS $40,3 млрд, и PaaS - $32,2 млрд. По данным IDC, в 2019 году компании ежегодно расходовали более $3,5 млн на поддержку и развитие облачных инфраструктур. По прогнозам аналитиков, в дальнейшем эта цифра будет только расти.

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

Cloud-Native и Cloud-Ready приложения

Что такое Cloud-Ready приложения?

Приложение является cloud-ready, если его можно развернуть как в публичном, так и в частном облаке. То есть, приложение должно быть разработано таким образом, чтобы оно могло «воспользоваться» возможностями, предоставляемыми уровнем Platform-as-a-Service (PaaS), на котором оно работает.

Что такое Cloud-Native приложения?

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

Infrastructure-as-a-Service – IaaS

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

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

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

Плюсы

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

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

  • Оплата только за использованные ресурсы по модели Pay-as-you-go.

Минусы

  • Обеспечение отказоустойчивости облачного сервера полностью зависит от провайдера.

  • Отсутствие полной гарантии безопасности.

 

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

Platform-as-a-Service предоставляет пользователям платформу и среду для разработки, управления и запуска приложений через Интернет. Сервис облегчает разработчикам задачи, связанные с созданием и обслуживанием инфраструктуры, необходимой для разработки и запуска приложений. Проще говоря, PaaS включает платформу и операционные системы, управляемые провайдером. Это своего рода промежуточный вариант между IaaS и SaaS, заточенный специально под разработку ПО.

Роль контейнеризации в PaaS

Контейнеризация приложений представляет собой метод виртуализации на уровне ОС, используемый для развертывания и исполнения распределенных приложений без запуска целой виртуальной машины (ВМ) для каждого приложения. Контейнеризация наиболее применима в архитектуре микросервисов, что вызвало рост Docker и Kubernetes.

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

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

Плюсы

  • Возможность программировать на высоком уровне, упрощая управление и обслуживание приложением.

  • Возможность автомасштабирования, что в целом делает разработку более эффективной.

Минусы

  • Общая стоимость приложения возрастает, так как оно может быть в значительной степени масштабировано.

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

IaaS или PaaS — что выбрать?

Platform-as-a-Service или Infrastructure-as-a-Service – каждый из этих облачных сервисов имеет свои особенности и функциональность, а делать выбор нужно исходя из конкретных требований бизнеса.

Если важен контроль над облаком, лучше выбрать IaaS. В этом случае компания полностью контролирует виртуальные вычислительные ресурсы. Однако это требует определенных знаний и навыков для управления инфраструктурой.

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