Apache Kafka в облаках: краткий обзор управляемых сервисов

Автор Категория ,
Apache Kafka в облаках: краткий обзор управляемых сервисов

В свете импортозамещения сегодня рассмотрим российские альтернативы облачных управляемых сервисов для развертывания Apache Kafka. Сравнение отечественных Yandex Managed Service for Apache Kafka и VK Cloud Solutions Big Data с зарубежным Confluent Cloud.

Облачная Apache Kafka от Confluent и не только

Пожалуй, самым популярным облачным сервисом Apache Kafka во всем мире является Confluent Cloud – отказоустойчивая масштабируемая служба потоковой передачи данных, предоставляемая как полностью управляемая служба. Confluent Cloud имеет веб-интерфейс и локальный интерфейс командной строки. Управлять ресурсами кластера, настройками и биллингом можно с помощью веб-интерфейса, а для создания топиков и управления ими использовать командную строку (CLI, Command Line Interface). Развернуть Confluent Cloud с Apache Kafka можно в AWS, Microsoft Azure и Google Cloud Platform. В качестве российских альтернатив этим зарубежным облачным сервисам и платформам можно рассмотреть решения Яндекса и VK Cloud Solutions.

Начнем с VK Cloud Solutions: для работы с большими данными корпорация 4 конфигурации: Hadoop, Spark, Airflow и DataFlow, в состав которого и входит Apache Kafka. Кроме Kafka, в VK DataFlow также включены Apache Zookeeper, NiFi, Storm, Solr и Ambari Metrics System для мониторинга системных метрик в облачных кластерах. Также Apache Kafka используется в качестве шины данных в интеграционных решениях VK Cloud Solutions Big Data. Хотя такой комплексный подход удобен в некоторых сценариях, такое предоставление Apache Kafka нельзя рассматривать как полностью управляемый сервис. Поэтому в плане масштабируемости и гибкости настроек более интересным кажется другой российский продукт – Yandex Managed Service for Apache Kafka, который мы рассмотрим далее.

Управляемый сервис от Яндекса

Yandex Managed Service for Apache Kafka представляет собой полностью управляемый сервис для создания и управления кластерами Apache Kafka в инфраструктуре Yandex Cloud. Его набор функций практически аналогичен зарубежному Confluent Cloud, однако развертывание ориентировано только на инфраструктурную платформу облака Яндекс. Облачный провайдер берет на себя заботы по развёртыванию виртуальных машин, настройки сети, установке операционных систем и необходимого программного обеспечения. Также в области ответственности Yandex Cloud находятся обновление брокеров, обеспечение безопасности хранилища данных и оборудования. Удобство использования обеспечивается наглядными инструментами мониторинга в веб-интерфейсе общей консоли управления, CLI, DevOps-системы управления инфраструктурой Terraform или API.

Безопасность обеспечивается TLS-шифрованием соединений, ACL-аутентификацией пользователей с механизмом SASL. Сервис соответствует требованиям 152-ФЗ, GDPR и PCI DSS. За непосредственное разграничение доступа к данным отвечает клиент рассматриваемого Яндекс-сервиса. Поскольку работа идет в рамках единой инфраструктуры, для назначения разрешений применяется Yandex Identity and Access Management (IAM) – сервис идентификации и контроля доступа, который помогает централизованно управлять правами доступа пользователей к ресурсам Яндекс Облака. IAM контролирует, чтобы все операции над ресурсами выполнялись только пользователями с необходимыми правами. Поэтому для управления доступом к облачным кластерам Kafka, топикам и разделам необходимо назначить соответствующую роль на ресурс.

Возвращаясь к сравнению управляемых Kafka-сервисов от Яндекса и Confluent, отметим, что оба решения поддерживают платформу Connect для интеграции с другими источниками или потребителями данных, репликацию топиков между кластерами с помощь MirrorMaker 2.0 и ksqlDB для потоковой обработки сообщений из топиков. Дополнительными преимуществами отечественного предложения является бесшовная интеграция с другими приложениями Яндекса, например, сервиса визуализации и BI-анализа данных DataLens, о котором мы поговорим в следующий раз.

Что касается стоимости использования, то затраты на Managed Service for Apache Kafka зависят от выбранных типов хоста и хранилища данных, вычислительных ресурсов, а также объема исходящего трафика из Yandex Cloud. Стоимость хоста начисляется за каждый час работы согласно выделенным вычислительным ресурсам. А месячные затраты на хранение данных на SSD-дисках тарифицируются по ГБ в минуту. Несмотря на анонсированное повышение цен с 13.04.2022 года, это обойдется российским пользователям дешевле Confluent Cloud в AWS, Azure или Google Cloud Platform, а также будет намного надежнее с точки зрения импортозамещения.

Читайте в нашей новой статье, как маркетплейс KazanExpress реализовал на управляемых облачных сервисах Яндекса полноценную BI-систему. 

Все подробности администрирования и использования Apache Kafka для потоковой аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков больших данных в Москве:

  1. https://www.confluent.io/confluent-cloud/
  2. https://mcs.mail.ru/docs/ru/base/bigdata/bigdata-info/dataflow-info
  3. https://cloud.yandex.ru/docs/managed-kafka/