Платформа как услуга (PaaS) – это модель облачных вычислений, при которой сторонний поставщик предоставляет пользователям аппаратные и программные инструменты через Интернет. Обычно эти инструменты нужны для разработки приложений. Поставщик PaaS размещает оборудование и программное обеспечение в своей собственной инфраструктуре. В результате PaaS освобождает разработчиков от необходимости устанавливать собственное оборудование и программное обеспечение для разработки или запуска нового приложения.

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

Как работает PaaS?

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

Другие услуги PaaS включают:

  • Сотрудничество команды разработчиков
  • Дизайн и разработка приложений
  • Тестирование и развертывание приложений
  • Интеграция веб-сервисов
  • Информационная безопасность
  • Интеграция с базой данных

Обычно пользователи должны платить за PaaS за фактическое использование. Однако некоторые поставщики взимают фиксированную ежемесячную плату за доступ к платформе и ее приложениям.

В чем разница между PaaS, IaaS и SaaS?

PaaS – одна из трех основных категорий служб облачных вычислений. Два других – это программное обеспечение как услуга (SaaS) и инфраструктура как услуга (IaaS).

  • С помощью IaaS поставщик предоставляет базовый компьютер, хранилище и сетевую инфраструктуру вместе с гипервизором – уровнем виртуализации. Затем пользователи должны создавать виртуальные машины, устанавливать операционные системы, поддерживать приложения и данные, а также выполнять всю настройку и управление, связанные с этими задачами. Примерами сервисов IaaS являются DigitalOcean, Amazon Web Services и Google Compute Engine (GCE).
  • С PaaS поставщик предлагает больше стека приложений, чем решения IaaS, добавляя операционные системы, промежуточное программное обеспечение (например, базы данных) и другие среды выполнения в облачную среду. Продукты PaaS включают AWS Elastic Beanstalk и Google App Engine.
  • С SaaS поставщик предлагает полный стек приложений. Пользователи просто входят в систему и используют приложение, которое полностью работает в инфраструктуре провайдера. Обычно приложения SaaS полностью доступны через веб-браузер. Поставщики SaaS управляют всеми IT-ресурсами. Примерами SaaS являются Salesforce, Dropbox и Google Workspace.

Преимущества и недостатки PaaS

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

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

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

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

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

Архитектура PaaS скрывает свою базовую инфраструктуру от разработчиков и других пользователей. В результате модель аналогична бессерверным вычислениям и архитектурам «Функция как услуга» – это означает, что поставщик облачных услуг управляет сервером и запускает его, а также контролирует распределение ресурсов.

Типы PaaS

В настоящее время разработчикам доступны различные типы PaaS. Вот они:

  • Публичный PaaS
  • Частный PaaS
  • Гибридный PaaS
  • Коммуникационный PaaS
  • Мобильный PaaS
  • OpenPaaS

Публичный PaaS

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

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

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

Частный PaaS

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

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

Гибридный PaaS

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

Коммуникационный PaaS

Коммуникационный PaaS (CPaaS) – это облачная платформа, которая позволяет разработчикам добавлять в свои приложения средства связи в реальном времени без внутренней инфраструктуры и интерфейсов. Обычно обмен данными в реальном времени происходит в приложениях, созданных специально для этих функций. Примерами являются Skype, FaceTime, WhatsApp и традиционный телефон.

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

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

Мобильный PaaS

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

MPaaS обычно предоставляет объектно-ориентированный интерфейс перетаскивания, который позволяет пользователям упростить разработку HTML5 или собственных приложений за счет прямого доступа к таким функциям, как GPS устройства, датчики, камеры и микрофон. Часто поддерживает различные мобильные ОС.

Компании часто используют mPaaS для создания приложений, которые будут использоваться как для внутренних нужд, так и для клиентов. Эта реализация может продвигать среду BYOD и приложения для повышения производительности без требований разработчиков мобильных приложений или дополнительной IT-поддержки.

OpenPaaS

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

Использование PaaS

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

Еще одно применение PaaS – инструменты DevOps. PaaS предоставляет функции управления жизненным циклом приложений, а также специальные функции, соответствующие методологиям разработки продуктов компании. Модель также позволяет командам DevOps вставлять облачные инструменты непрерывной интеграции, которые добавляют обновления без простоев. Кроме того, компании, которые следуют модели Waterfall, могут развернуть обновление, используя ту же консоль, которую они используют для повседневного управления.

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

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

Примеры PaaS: продукты и поставщики

Существует множество примеров поставщиков и продуктов PaaS, которые предоставляют инструменты и услуги, необходимые для создания корпоративных приложений в облаке. Среди ведущих провайдеров:

  • Google
  • Microsoft
  • Amazon Web Services (AWS)
  • IBM
  • Red Hat
  • Pivotal
  • Oracle
  • Heroku
  • Mendix
  • Engine Yard

Google App Engine поддерживает распределенные веб-приложения с использованием Java, Python, PHP и Go. Red Hat OpenShift – это предложение PaaS для создания приложений с открытым исходным кодом с использованием большого количества языков, баз данных и компонентов. Heroku PaaS предлагает экземпляры контейнерных вычислений в стиле Unix, которые запускают процессы в изолированных средах, при этом поддерживая такие языки, как Ruby, Python, Java, Scala, Clojure и Node.js.

Microsoft Azure поддерживает разработку приложений на .NET, Node.js, PHP, Python, Java и Ruby и позволяет разработчикам использовать комплекты разработчика программного обеспечения и Azure DevOps для создания и развертывания приложений.

AWS Elastic Beanstalk позволяет пользователям создавать, развертывать и масштабировать веб-приложения и сервисы, разработанные с помощью Java, .NET, PHP, Node.js, Python, Ruby, Go и Docker, на общих серверах, таких как Apache, Nginx, Passenger и IIS.

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

Что входит в платформу как услугу?

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

  • Инфраструктура. PaaS включает все, что включает IaaS. Это означает, что поставщики PaaS будут управлять серверами, хранилищами, дата-центрами и сетевыми ресурсами.
  • Инструменты для проектирования, тестирования и разработки приложений. PaaS предоставляет клиентам все необходимое для создания приложений и управления ими. Доступ к этим инструментам можно получить через Интернет через браузер, независимо от физического местонахождения. Конкретные инструменты разработки программного обеспечения часто включают отладчик, редактор исходного кода и компилятор, но не ограничиваются ими.
  • Промежуточное ПО. PaaS также обычно включает промежуточное ПО – программное обеспечение, которое устраняет разрыв между операционными системами и приложениями конечных пользователей. Следовательно, клиентам поставщиков PaaS не нужно выделять собственных разработчиков и ресурсы для создания промежуточного программного обеспечения.
  • Операционные системы. Операционные системы для приложений, на которых будут запускаться, а также для разработчиков, из которых будут созданы приложения, предоставляются поставщиком PaaS.
  • Базы данных. Поставщики PaaS часто обслуживают базы данных, а также предоставляют разработчикам организации-заказчика инструменты для управления базами данных.

Что такое iPaaS?

Хотя PaaS и интеграционная платформа как услуга (iPaaS) имеют похожие названия, они поддерживаются разными технологиями, и две облачные службы имеют разные цели.

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

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