Платформа как услуга ( PaaS ) или платформа приложений как услуга ( aPaaS ) или услуга на основе платформы — это категория услуг облачных вычислений , которая позволяет клиентам предоставлять, создавать экземпляры, запускать и управлять модульным пакетом, включающим вычислительную платформу и один или больше приложений, без необходимости создания и обслуживания инфраструктуры, обычно связанной с разработкой и запуском приложений, и позволяя разработчикам создавать, разрабатывать и упаковывать такие пакеты программного обеспечения . [1] [2]
PaaS может предоставляться тремя способами:
Первой [5] публичной платформой как услугой стала Zimki, запущенная Fotango, лондонской компанией, принадлежащей Canon Europe . Он был разработан в 2005 году, бета-версия была запущена в марте 2006 года, а публичный запуск состоялся на EuroOSCON в 2006 году. [6]
На момент закрытия у Zimki было несколько тысяч аккаунтов разработчиков. Он продемонстрировал техническую жизнеспособность платформы как услуги, но также стал первым примером опасностей зависимости от одного поставщика. [7] Это было подчеркнуто, когда генеральный директор ( Саймон Уордли , известный своими картами Уордли ) объявил на OSCON 2007, что Zimki больше не будет иметь открытый исходный код, и обсудил будущее того, что тогда называлось фреймворком как услуга (позже названное платформа как услуга), отражающая важность рынка поставщиков на основе эталонной модели с открытым исходным кодом. [8]
Первоначальная цель PaaS заключалась в том, чтобы упростить написание кода, при этом инфраструктура и операции будут осуществляться поставщиком PaaS. Первоначально все PaaSe находились в общедоступном облаке. Поскольку многие компании не хотели размещать все в общедоступном облаке, были созданы частные и гибридные варианты PaaS (управляемые внутренними ИТ-отделами). [9]
PaaS предоставляет разработчикам и компаниям среду для создания, размещения и развертывания приложений, избавляя разработчиков от сложностей инфраструктуры (установка, настройка и управление такими элементами, как серверы и базы данных). PaaS может повысить скорость разработки приложения и позволить пользователю сосредоточиться на самом приложении. С помощью PaaS клиент управляет приложениями и данными, в то время как поставщик (в общедоступном PaaS) или ИТ-отдел (в частном PaaS) управляет средой выполнения , промежуточным программным обеспечением , операционной системой , виртуализацией , серверами , хранилищем и сетями . [3] [10] Инструменты разработки, предоставляемые поставщиком, настраиваются в соответствии с потребностями пользователя. [11] Пользователь может выбрать поддержку программного обеспечения или поручить его поддержку поставщику. [3]
Предложения PaaS могут также включать средства для проектирования приложений, разработки приложений, тестирования и развертывания, а также такие услуги, как групповое сотрудничество , интеграция и маршалинг веб-сервисов, интеграция баз данных, безопасность, масштабируемость, хранение, постоянство, управление состоянием, управление версиями приложений. инструментирование приложений и содействие сообществу разработчиков. Помимо аспектов сервисной инженерии, предложения PaaS включают в себя механизмы управления сервисами, такие как мониторинг, управление рабочими процессами, обнаружение и резервирование. [12] [13]
Преимущества PaaS заключаются, прежде всего, в том, что он позволяет программировать более высокий уровень с существенно меньшей сложностью; общая разработка приложения может быть более эффективной, поскольку оно имеет встроенные/самостоятельно расширяемые ресурсы инфраструктуры; Таким образом, упрощается обслуживание и улучшение приложения.
К недостаткам различных провайдеров PaaS, на которые ссылаются их пользователи, относятся повышенные цены в больших масштабах, [14] отсутствие эксплуатационных функций, [15] снижение контроля, [15] и трудности систем маршрутизации трафика. [16]
Существует несколько типов PaaS, включая публичный, частный и гибридный. [9] Первоначально PaaS предназначался для приложений в общедоступных облачных сервисах, а затем был расширен за счет включения частных и гибридных вариантов. [9]
Публичный PaaS является производным от программного обеспечения как услуги (SaaS) [17] и находится в облачных вычислениях между SaaS и инфраструктурой как услугой (IaaS). [1] SaaS — это программное обеспечение, размещенное в облаке, чтобы оно не занимало место на жестком диске компьютеров пользователей. IaaS предоставляет виртуальное оборудование от поставщика с регулируемой масштабируемостью. [1] При использовании IaaS пользователю по-прежнему приходится управлять сервером, тогда как при PaaS управление сервером осуществляется провайдером. [18]
Частный PaaS обычно можно загрузить и установить либо в локальном центре обработки данных компании , либо в общедоступном облаке. После установки программного обеспечения на одну или несколько машин частная PaaS объединяет компоненты приложения и базы данных на единой хостинговой платформе. [19]
Гибридный PaaS обычно представляет собой развертывание, состоящее из общедоступных и частных развертываний.
Коммуникационная платформа как услуга (CPaaS) — это облачная платформа, которая позволяет разработчикам добавлять функции связи в реальном времени (голос, видео и обмен сообщениями) в свои собственные приложения без создания внутренней инфраструктуры и интерфейсов. [20] Кроме того, спецификации CPaaS, а также аппаратного и программного обеспечения специально разработаны для поддержки (теле)коммуникационных приложений. Эти приложения и их использование гораздо более чувствительны к джиттеру, задержкам и потерям пакетов. Хостинговые АТС , сотовые сети и приложения (почти в реальном времени) обычно развертываются на платформах CPaaS.
Программа Mobile PaaS (mPaaS), запущенная в 2012 году, предоставляет дизайнерам и разработчикам мобильных приложений возможности разработки. [21] Yankee Group определила mPaaS как одну из своих тем на 2014 год. [22] [23]
Open PaaS не включает хостинг, но предоставляет программное обеспечение с открытым исходным кодом, позволяющее поставщику PaaS запускать приложения в среде с открытым исходным кодом, например Google App Engine . Некоторые открытые платформы позволяют разработчику использовать любой язык программирования, базу данных, операционную систему или сервер для развертывания своих приложений. [24]
Существуют различные типы поставщиков PaaS. Все они предлагают хостинг приложений и среду развертывания, а также различные интегрированные услуги. Услуги предлагают различные уровни масштабируемости и обслуживания. [25] Разработчики могут написать приложение и загрузить его в PaaS, который поддерживает выбранный ими язык программного обеспечения, и приложение будет работать на этом PaaS. [26]
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка )