В модели «Платформа как услуга» (PaaS) разработчики, по сути, арендуют все, что им нужно для создания приложения, полагаясь на облачного провайдера для средств разработки, инфраструктуры и операционных систем. Это одна из трех сервисных моделей облачных вычислений. PaaS значительно упрощает разработку веб-приложений; с точки зрения разработчика все управление бэкэндом происходит за кулисами. Хотя PaaS имеет некоторые сходства с безсерверными вычислениями, между ними существует много критических различий.
Каковы три сервисные модели облачных вычислений?
Три модели облачных вычислений – это PaaS, SaaS (программное обеспечение как услуга) и IaaS (инфраструктура как услуга). IaaS относится к инфраструктуре облачных вычислений – серверам, хранилищам и т. д. – управляемым поставщиком облачных вычислений, в то время как SaaS относится к полным приложениям, размещенным в облаке и поддерживаемым поставщиком SaaS.
Если клиент SaaS похож на того, кто арендует дом, то клиент PaaS – это тот, кто арендует все тяжелое оборудование и электроинструменты, необходимые для быстрого строительства дома, если инструменты и оборудование постоянно обслуживались и ремонтировались их владельцем.
Как PaaS сравнивается с внутренними средами разработки?
Доступ к PaaS можно получить через любое интернет-соединение, что позволяет создать целое приложение в веб-браузере. Поскольку среда разработки не размещается локально, разработчики могут работать с приложением из любой точки мира. Это позволяет группам, которые распределены по географическим местам, сотрудничать. Это также означает, что разработчики имеют меньший контроль над средой разработки, хотя это требует гораздо меньших затрат.
Что входит в PaaS?
Основные предложения, включенные поставщиками PaaS:
- Инструменты разработки
- Middleware
- Операционные системы
- Управление базами данных
- Инфраструктура
Различные поставщики могут включать и другие сервисы, но это основные сервисы PaaS.
Инструменты разработки
Поставщики PaaS предлагают различные инструменты, необходимые для разработки программного обеспечения, включая редактор исходного кода, отладчик, компилятор и другие необходимые инструменты. Эти инструменты могут быть предложены вместе в качестве основы. Конкретные инструменты будут зависеть от поставщика, но предложения PaaS должны включать все, что нужно разработчику для создания своего приложения.
Middleware
Платформы, предлагаемые в качестве услуги, обычно включают Middleware программное обеспечение, поэтому разработчикам не нужно создавать его самостоятельно. Middleware программное обеспечение – это программное обеспечение, которое находится между пользовательскими приложениями и операционной системой машины;
Например, Middleware ПО – это то, что позволяет программному обеспечению получать доступ к вводу с клавиатуры и мыши. Промежуточное программное обеспечение необходимо для запуска приложения, но конечные пользователи не взаимодействуют с ним.
Операционные системы
Поставщик PaaS предоставит и поддержит операционную систему, над которой работают разработчики, и приложение будет работать.
Базы данных
Поставщики PaaS администрируют и поддерживают базы данных. Обычно они также предоставляют разработчикам систему управления базами данных.
Инфраструктура
PaaS – это следующий уровень после IaaS в модели сервиса облачных вычислений, и все, что включено в IaaS, также включено в PaaS. Поставщик PaaS либо управляет серверами, хранилищами и физическими центрами обработки данных, либо покупает их у поставщика IaaS.
Почему разработчики используют PaaS?
Более быстрое время выхода на рынок
PaaS используется для создания приложений быстрее, чем это было бы возможно, если бы разработчикам приходилось беспокоиться о создании, настройке и предоставлении собственных платформ и серверной инфраструктуры. С PaaS все, что им нужно сделать, это написать код и протестировать приложение, а вендор выполнит все остальное.
Одна среда от начала до конца
PaaS позволяет разработчикам создавать, тестировать, отлаживать, развертывать, размещать и обновлять свои приложения в одной среде. Это позволяет разработчикам быть уверенными в том, что веб-приложение будет функционировать должным образом как размещенное до его выпуска, и упрощает жизненный цикл разработки приложения.
Цена
PaaS во многих случаях эффективнее, чем использование IaaS. Снижаются накладные расходы, поскольку клиентам PaaS не нужно управлять и предоставлять виртуальные машины. Кроме того, некоторые провайдеры имеют ценовую структуру с оплатой по факту, при которой поставщик взимает плату только за вычислительные ресурсы, используемые приложением, что обычно экономит деньги клиентов. Тем не менее, у каждого поставщика немного другая структура ценообразования, и некоторые провайдеры платформ взимают фиксированную плату в месяц.
Простота лицензирования
Поставщики PaaS обрабатывают все лицензии на операционные системы, средства разработки и все остальное, включенное в их платформу.
Каковы потенциальные недостатки использования PaaS?
Блокировка поставщика
Переключение PaaS-провайдеров может быть затруднено, поскольку приложение создается с использованием инструментов вендора и специально для их платформы. У каждого поставщика могут быть разные требования к архитектуре. Различные поставщики могут не поддерживать одни и те же языки, библиотеки, API-интерфейсы, архитектуру или операционную систему, используемые для создания и запуска приложения. Чтобы сменить поставщиков, разработчикам может потребоваться перестроить или серьезно изменить свое приложение.
Зависимость от поставщика
Усилия и ресурсы, связанные с изменением поставщиков PaaS, могут сделать компании более зависимыми от их текущего поставщика. Небольшое изменение внутренних процессов или инфраструктуры поставщика может оказать огромное влияние на производительность приложения, разработанного для эффективной работы на старой конфигурации. Кроме того, если поставщик изменяет свою модель ценообразования, приложение может внезапно стать более дорогим в эксплуатации.
Проблемы безопасности и соответствия
В архитектуре PaaS внешний поставщик будет хранить большую часть или все данные приложения вместе с размещением его кода. В некоторых случаях поставщик может на самом деле хранить базы данных через еще одну третью сторону, поставщика IaaS. Хотя большинство поставщиков PaaS являются крупными компаниями с надежной защитой, это затрудняет полную оценку и тестирование мер безопасности, защищающих приложение и его данные. Кроме того, для компаний, которые должны соблюдать строгие правила безопасности данных, проверка соответствия дополнительных внешних поставщиков добавит больше препятствий для выхода на рынок.
Чем Платформа как услуга отличается от бессерверных вычислений?
PaaS и бессерверные вычисления схожи в том, что для обоих разработчиков все, о чем нужно беспокоиться, – это написание и загрузка кода, а поставщик обрабатывает все внутренние процессы. Однако масштабирование сильно отличается при использовании двух моделей. Приложения, созданные с использованием бессерверных вычислений или FaaS, будут масштабироваться автоматически, в то время как приложения PaaS не будут работать, если не запрограммированы для этого. Время запуска также сильно различается;
Бессерверные приложения могут быть запущены и работать почти мгновенно, но приложения PaaS больше похожи на традиционные приложения и должны быть запущены большую часть времени или все время, чтобы быть немедленно доступными для пользователей.
Другое отличие состоит в том, что поставщики без серверов не предоставляют инструменты разработки или платформы, как поставщики PaaS. И, наконец, ценообразование разделяет две модели. Биллинг PaaS не так точен, как в случае безсерверных вычислений, в которых сборы делятся на количество секунд или доли секунды при каждом запуске функции.
Оригинал статьи доступен по ссылке