PaaS-сервисы для пользователей и администраторов
PaaS‑сервисы для пользователей и администраторов

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

PaaS (Platform as a Service) — это модель предоставления услуг, а её реализация может несколько отличаться от одного поставщика облачных услуг к другому. При разработке решений мы в Cloud X придерживаемся концепции, что платформенный сервис, с одной стороны, должен быть средством получения полноценных, не требующих дополнительных «ручных» настроек платформ — систем управления базами данных, брокеров сообщений, средств оркестрации контейнеров и так далее, а с другой — быть простым и удобным инструментом адаптации этих платформ под нужды клиента.

PaaS‑сервис и Control plane

Используемые обычно для описания особенностей логических слоёв управления в сетевых технологиях, термины Сontrol plane и Data plane, как показывает опыт, могут быть естественным образом расширены и на другие системы. Control plane называют слой программного обеспечения, задачами которого являются конфигурирование, мониторинг и управление некоторым объектом. Работа Control plane направлена на формирование таких условий, при которых компоненты системы могут функционировать эффективно и безопасно.

Data plane не решает задачи управления и контроля, но именно там реализована основная функциональность всей системы.
Data plane не решает задачи управления и контроля, но именно там реализована основная функциональность всей системы.

То есть администратор СУБД обычно работает с Control plane, так как этот уровень управления позволяет ему обеспечить эффективную работу кластера, а пользователи баз данных обращаются к функциям Data plane для решения своих задач.

И именно функции Control plane берут на себя управляемые сервисы, упрощая тем самым жизнь администраторам платформ. При этом работа на уровне Data plane для пользователя остаётся прежней: запись и чтение в PostgreSQL, отправка сообщений в очереди RabbitMQ — все эти функции выполняются стандартными средствами и утилитами для работы с указанной платформой. Возникает вопрос: является ли управляемый сервис в таком случае лишь обёрткой Control plane платформы, которую предоставляет? Что же, давайте разберёмся в этом.

Если вы начнете изучать возможности PaaS‑сервисов, то практически у любого провайдера найдете следующие возможности:

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

  • Управление запуском и остановкой экземпляра (для сокращения затрат на инфраструктуру за счёт того, что выключенные ресурсы не тарифицируются);

  • Просмотр данных аудита и журнала операций любого экземпляра;

  • Мониторинг широкого набора параметров экземпляра: от загруженности процессора до специфичных для платформы параметров (например, величина offset для Kafka или счётчик заблокированных таблиц в БД PostgreSQL).

Вместе эти функции составляют «джентльменский» набор, которым должен обладать сервис, предоставляющий услуги по модели PaaS: пользователь получает готовую платформу для разработки и развёртывания приложений, избавляясь от необходимости администрирования системного ПО, от забот о непрерывной работе сетевого оборудования и хранилищ, от обеспечения безопасности и наблюдаемости — всю рутину, связанную именно с взаимодействием с Control plane управляемого сервиса, принимает на себя облачный провайдер.

От базовой функциональности и дополнительной ценности

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

Пирамида возможностей платформенного сервиса
Пирамида возможностей платформенного сервиса

В число дополнительных можно, например, включить следующие функции:

  • Изменение состава экземпляра:

    • увеличение числа серверов;

    • прирост вычислительной мощности за счёт повышения числа vCPU и объёма оперативной памяти серверов;

    • расширение ёмкости диска;

    • изменение установленной версии платформы.

  • Работа с системными настройками платформы: это и задание времени хранения файлов сегментов лога для Kafka, и управление максимумом числа подключений к PostgreSQL — параметры специфичны для платформы и их значения должны варьироваться клиентом в зависимости от задач, от особенностей использования каждого экземпляра.

  • Управление пользовательскими учётными записями: создание «учёток» для подключения к платформе, назначение и отзыв у них прав на работу с объектами платформы (с топиками, с базами данных).

  • Управление объектами хранения: теми самыми БД и топиками, права на использование которых я только что упоминала.

  • Управление резервными копиями: настройка расписания создания бэкапов и их параметров (полный или инкрементальный), восстановление данных из копии на выбранный момент времени.

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

Нетрудно заметить, что в этом перечне основной вектор развития управляемых сервисов направлен на расширение возможностей взаимодействия с платформой Control plane (я имею в виду первые 4 пункта), но не ограничивается им.

Например, ни управление резервными копиями, ни установка и запуск плагинов не являются функциями Control plane платформы, так как требуют дополнительного программного обеспечения, которое в состав платформы не входит. Управляемые же сервисы избавляют администраторов не только от установки этого дополнительного ПО, но и даже от его выбора, ведь средств создания резервных копий на рынке много. Но в случае PaaS‑сервиса расширенной функциональности мы, как облачный провайдер, уже сделали выбор и берём на себя ответственность за него.

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

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

Для владельцев информационных систем и платформ (СУБД, брокеры), которые могут быть перенесены в облако как экземпляры под управлением PaaS‑сервисов, существует целый ряд плюсов.

Скорость. Использовать функции управляемого сервиса для обслуживания экземпляра платформы в разы проще и быстрее, чем производить эти действия вручную. Например, расширение СУБД MySQL от инсталляции, состоящей из 1 сервера, до кластера из 3 серверов с настроенной репликацией, требует 3 нажатий на элементы управления консоли облака Cloud X (и около 15 минут на принятие изменений). Да, переход в кластерный режим — далеко не самая частая операция для администратора СУБД, но и рядовое создание базы данных с назначением прав «учёткам» на работу с ней достигается при использовании управляемого сервиса парой кликов, причём нет опасности, что администратор допустит опечатку в написании команды или какую‑то другую оплошность.

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

Прозрачность. Платформы, доступные пользователям по модели PaaS, уже «из коробки» интегрированы с системой мониторинга. А это значит, владелец может отследить на доступных дашбордах состояние используемой им системы, не заботясь о создании собственной подсистемы мониторинга, что, конечно, дорого и по времени, и по финансовым затратам. Кроме того, на основе полученных от мониторинга данных владелец платформы может скорректировать параметры для оптимизации своих затрат (стоимость владения платформой пропорциональна её мощности и производительности).

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

Вместо вывода

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

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

Комментарии (0)