IaaS, PaaS, SaaS, или как правильно «летать» в облаках
Написал(а): Kamila Bakieva Март 17, 2020, 9 д.п. в Технологии
Облачные технологии гибче и оперативнее в сравнении с традиционными, требующими на начальном этапе значительных вложений в собственные сервера, дата-центры и высококвалифицированный персонал, который умеет работать с подобным непростым оборудованием. Весь спектр облачных решений можно уместить в три категории: IaaS, PaaS и SaaS. Что они означают и в каких случаях эти модели применяются?
Добро пожаловать в … кинотеатр
Чтобы понять разницу между этими аббревиатурами, давайте проясним сначала кратко суть, затем разберем их на понятной бытовой аналогии и потом посмотрим, в каких случаях имеет смысл обращаться к тому или иному решению.
Если вкратце, то при IaaS (Infrastructure as a Service) компания арендует у поставщика IT-услуг «железо», размещенное в его дата-центрах, а также предлагаемые им операционные системы, базы данных и пр.
При PaaS (Platform as a Service) арендуется платформа с операционными системами, серверами, системами хранения, управления базами данных, средствами разработки. Клиент самостоятельно использует все программное обеспечение для разработки своих приложений и расходует тот объем ресурсов, который ему нужен для выполнения задач. При необходимости этот объем может быть оперативно увеличен или сокращен.
При SaaS (Software as a Service) клиент получает в удаленном режиме доступ к конкретным программам (например онлайн crm система), сам ничего не администрирует и вообще не вникает в то, что происходит «по ту сторону» монитора, только пользуется сервисом.
Доступнее всего понять разницу между этими подходами можно на примере визита в кинотеатр.
Представьте, что вы приходите посмотреть кино в пустой зал, в котором есть все – кресла, экран, разные кинопроекторы и колонки, но все это свалено в одном углу. Вы все расставляете как надо, выбираете кинопроекторы и колонки с нужными характеристиками и подключаете. После этого настраиваете изображение и звук, выбираете фильм, загружаете его и смотрите. Иными словами, делаете все, что касается содержания, получая от поставщика услуг, то есть владельца кинотеатра, лишь форму помещения и набор необходимых устройств с различными характеристиками. Это – вариант IaaS.
Теперь посмотрим на иной подход. Помимо стен и правильно установленного экрана и кресел уже есть преднастроенные проектор и колонки с определенными характеристиками. Все это работает, вам остается занять место в кресле, слегка подстроить резкость и звук, выбрать фильм. Такой подход характерен для PaaS. При этом владелец кинотеатра в ряде моментов может вам предоставить готовые дополнительные сервисы, скажем, сделать изображение черно-белым, вырезать ненужные кадры.
Ну и то, что нам всем знакомо лучше всего: мы пришли в кино на конкретный выбранный нами фильм, сели в кресло – и все, остальное сделали за нас. Это – SaaS.
IaaS – как заставить слона танцевать
К схеме IaaS обычно прибегают большие корпорации, которым для бесперебойной работы нужны значительные компьютерные мощности в разных регионах и в различные промежутки времени. У них есть штат администраторов и программистов, которые в состоянии наладить функционирование IT-инфраструктуры, провести перенос систем при необходимости и т.п.
В качестве примера возьмем авиакомпанию, осуществляющую перевозки между многими странами, а то и по всему земному шару. Зимой, в низкий сезон, спрос на услуги авиаперевозчика незначительный. Летом, в высокий туристический сезон, он вырастает в несколько раз. Нагрузка на сервера скачет, оставляя компанию перед выбором: либо держать избыточные мощности зимой, либо сталкиваться с перегрузками и отказом оборудования летом. Первое экономически невыгодно, второе – чревато для доходной части и репутации. Прибавьте к этому офисы в разных странах, которые обрабатывают значительные объемы данных. Их, разумеется, можно замкнуть на центральный сервер в штаб-квартире, но здесь возникает риск глобального сбоя всей системы, если в центре, условно говоря, что-то «коротнуло»; во-вторых, создает нагрузку на каналы связи.
IaaS позволяет нашему перевозчику арендовать в текущий момент ровно столько вычислительной мощности, сколько ему требуется, не переплачивая за «отдыхающую» оперативную память и мощности процессора и не опасаясь сбоев. При необходимости он может легко и быстро масштабировать хранилища (чего не скажешь о ситуации с собственными серверами и дата-центром). Кроме того, поставщик инфраструктуры позаботится о том, чтобы информация была доступна и сохранна: распределяя операции клиента по множеству серверов, он убирает «единую точку отказа». Если «завис» один сервер, операции тут же переводятся на другой.
PaaS: освободите время для творчества
PaaS чем-то напоминает кружок рисования, в котором помимо ватмана и красок художнику при необходимости выдается целый набор советов, как создать то или иное произведение, и готовые комбинации инструментов для этого. Ну а что получится в итоге – зависит только от самого художника, в нашем случае от клиента.
Американская компания MLB Advanced Media специализируется на анализе спортивных игр, сборе статистики отдельных игроков, ее обработке и представлении в наглядном виде. Перед ней встала задача разработать систему слежения за игроками, которая позволяла бы выдавать информацию об их игре в режиме реального времени и дополнять ею, допустим, телевизионную картинку в прямом эфире. Очевидно, что это должна быть серьезная программа из тысяч строк кода и столь же серьезной инфраструктурой – серверами, API, протоколами, по которым данные будут передаваться с сервера в адрес той же телевизионной станции и пр.
Однако MLB Advanced Media – не софтверная компания, и инфраструктуры для разработки у нее нет, а создавать ее на отдельный, пусть и большой, проект бессмысленно. Как нет смысла основывать строительный трест для возведения единственного дома.
На помощь в подобных случаях и приходит PaaS – платформа, которая, собственно, и является той самой инфраструктурой со всеми необходимыми инструментами для создания программы, ее хранения и распространения. Единственное, что требуется от клиента, – дать доступ к этим инструментам своим программистам, которые, используя, в том числе для экономии времени, какие-то готовые шаблонные решения, напишут необходимый софт. О сохранности софта, преемственности его различных версий и о совместимости с внешними «приемниками», заботится владелец платформы, освобождая клиента от рутины и прочих операций, не связанных непосредственно с созданием продукта.
В настоящее время PaaS уже широко применяется крупными и средними корпорациями, а также относительно небольшими компаниями, которые не хотят тратиться или вникать в вопросы IT-инфраструктуры, но у которых есть потребность в создании приложений.
Так, корпорация News UK, издающая известные газеты The Times, The Sun и другие, сначала попробовала перенести в облако систему, которая регулировала доступ подписчиков газет к онлайн-контенту. Перенос операции на внешнюю платформу оказался эффективным, и теперь News UK управляет через PaaS ключевыми бизнес-процессами, пользуясь инструментами для создания новых услуг и сервисов и переложив заботу о сохранности информации на плечи провайдера.
SaaS: просто оформите заказ
Для управления бизнесом требуется достаточно много дорогостоящего программного обеспечения: для управления отношений с клиентами (CRM), системы учета (ERP), электронная почта и другие корпоративные приложения.
SaaS позволяет пользоваться нужными программами удаленно, без необходимости их разворачивания на собственной инфраструктуре, а также нести расходы, на которые пришлось бы пойти при «традиционном» варианте. Важный момент: технология SaaS позволяет в любой момент быстро увеличить или сократить количество сотрудников, которые имеют доступ к той или иной программе.
Именно удобство, масштабируемость и определенная экономия и послужили основными причинами, по которым модель SaaS резко набирает популярность в последние годы среди предприятий любого размера.
Разумеется, в отличие от IaaS и PaaS при подобном подходе не получится написать программу под индивидуальные нужды компании. В то же время некоторые платформы, например, флэксби, позволяют модифицировать программу таким образом, чтобы она максимально соответствовала целям и задачам пользователя.