ТОП-7 сходств и различий между Apache Kafka Streams и Spark Streaming

Kafka, Big Data, Большие данные, архитектура, обработка данных, Spark

Сегодня мы рассмотрим популярные Big Data инструменты обработки потоковых данных: Apache Kafka Streams и Spark Streaming: чем они похожи и чем отличаются. Стоит сказать, что Спарк Стриминг и Кафка Стримс – возможно, наиболее популярные, но не единственные средства обработки информационных потоков Big Data. Для этой цели существует еще множество альтернатив, например, Flink, Storm, Samza, сравнению которых посвящена наша отдельная статья. Что общего между Apache Kafka Streams и Spark Streaming Прежде всего перечислим следующие сходства Кафка Стримс и Спарк Стриминг: надежность и отказоустойчивость – оба инструмента широко используются на практике в качестве инструментов потоковой обработки Big Data в реальных высоконагруженных проектах; распределенная архитектура, которая обеспечивает масштабируемость и высокую скорость обработки потоковых данных, позволяя выполнять код с помощью параллельных задач, распределенных по узлам Далее …

5 достоинств и пара недостатков Apache Kafka Streams API для DevOps-инженера Big Data систем

Kafka, Big Data, Большие данные, архитектура, обработка данных, DevOps

Мы уже рассказывали про Apache Kafka Streams API. В продолжение этой темы, сегодня отметим ключевые преимущества этой технологии, особенно важные для DevOps-инженера и разработчика Big Data систем, а также поговорим про некоторые недостатки и возможные альтернативы Кафка Стримс API. 5 главных достоинств Apache Kafka Streams API Для DevOps-инженера Big Data систем наиболее значимыми являются следующие преимущества Apache Kafka Streams API [1]: Мощность масштабируемость, эластичность и отказоустойчивость распределенных приложений; поддержка семантики однократной обработки (exactly-once); обработка с сохранением (statefull) и без сохранения состояний (stateless); обработка событий во времени с использованием окон, объединений, агрегаций; поддержка интерактивных запросов для объединения потоков и баз данных; сочетание максимального контроля и гибкости: наличие декларативного и функционального API высокого уровня (DSL, Domain Specific Language, похожего на разработку в Далее …

Как Apache Kafka Streams API помогает DevOps-инженеру Big Data систем

Kafka, Big Data, Большие данные, архитектура, обработка данных, Spark, IoT, Internet Of Things, интернет вещей, DevOps

Продолжая разговор про Apache Kafka Streams, сегодня мы расскажем, как API этой мощной библиотеки упрощает жизнь DevOps-инженеру и разработчику Big Data систем. Читайте в нашей статье, как Kafka Streams API эффективно обрабатывать большие данные из топиков Кафка на лету без использования Apache Spark, а также быстро создавать и развертывать распределенные приложения с привычными DevOps-инструментами без дополнительных кластеров. Что такое Apache Kafka Streams API Apache Kafka Streams API – это интерфейс программирования, который позволяет распределенным приложениям в режиме реального времени обрабатывать данные, хранящиеся в Кафка, реализуя стандартные классы этой платформы потоковой обработки без развертывания отдельных кластеров. Благодаря этому инструменту можно организовать потоковую обработку данных прямо внутри кластера Кафка, без привлечения дополнительных технологий, таких как, например, Apache Spark или Storm. В частности, Далее …

Повышаем скорость обработки потоков Big Data с помощью Apache Kafka Streams

Apache Kafka Streams, Кафка Стримс

Читайте в нашей сегодняшней статье, как Apache Kafka Streams помогает быстро создавать приложения для обработки потоков Big Data без кластера Кафка, работать с состояниями распределенных программ без базы данных, эффективно тестировать и разворачивать потоковые микросервисы согласно DevOps-подходу, а также реальные кейсы практического применения этой технологии. Что такое Apache Kafka Streams и зачем она нужна Apache Kafka Streams – это клиентская библиотека для разработки приложений и микросервисов, в которых входные и выходные данные хранятся в кластерах Кафка. Она сочетает в себе простоту написания и развертывания типовых приложений Java и Scala на стороне клиента с преимуществами кластерной технологии Kafka на стороне сервера [1] в соответствии с DevOps-подходом. Подробнее о том, как API-интерфейс Кафка Стримс помогает DevOps-Инженеру и разработчику Big Data систем, читайте Далее …

DevOps для потоков Big Data: Apache Kafka в кластере Kubernetes

Kafka, Big Data, Большие данные, архитектура, DevOps, Kubernetes

Для высоконагруженных Big Data систем и платформ интернета вещей (Internet of Things, IoT) с непрерывными информационными потоками Apache Kafka, практически, стала стандартом де факто для обмена сообщениями и управления очередями. Аналогичную популярность среди DevOps-инструментов завоевал Kubernetes (K8s) как наиболее мощное средство для автоматизации развертывания и управления контейнеризованными приложениями. В этой статье мы поговорим, как использовать эти технологии вместе и насколько это эффективно. Зачем разворачивать Apache Kafka на Kubernetes Одна из главных выгод применения Kubernetes с точки зрения DevOps – это стандартизация процессов развертывания и масштабирования распределенных приложений. Можно значительно ускорить наращивание кластера, рассматривая брокер Кафка как приложение в рамках одного пода (pod) K8s – добавление новых брокеров выполняется с помощью пары kubectl-команд или нескольких строк в ​​файле конфигурации. Также изменения, Далее …

Роль Apache Kafka в Big Data и DevOps: краткий ликбез и практические кейсы

Kafka, Big Data, Большие данные, интернет вещей, IoT, Internet Of Things, DevOps, архитектура, администрирование, обработка данных

Мы уже упоминали Apache Kafka в статье про промышленный интернет вещей (Industrial Internet Of Things, IIoT). Сегодня поговорим о том, где и для чего еще в Big Data проектах используется эта распределённая, горизонтально масштабируемая система обработки сообщений. Как работает Apache Kafka Apache Kafka позволяет в режиме онлайн обеспечить сбор и обработку следующих данных: поведение пользователя на сайте; потоки информации с множества конечных устройств IoT и IIoT («сырые данные»); агрегация журналов работы приложений; агрегация статистики из распределенных приложений для корпоративных витрин данных (ETL-хранилищ); журналирование событий. Яркий пример использования Apache Kafka – непрерывная передача информации со smart-периферии (конечных устройств) в IoT-платформу, когда данные не только передаются, но и обрабатываются множеством клиентов, которые называются подписчиками (consumers). В роли подписчиков выступают приложения и программные Далее …

Как защитить Big Data в кластере Kubernetes: лучшие практики, инструменты и приемы DevOps-инженера

DevOps, Kubernetes, администрирование, контейнеризация, безопасность, Security, защита информации, Big Data

Проанализировав самые критичные уязвимости Kubernetes за последние 2 года и ключевые факторы их возникновения, сегодня мы поговорим, как DevOps-инженеру и администратору обеспечить информационную безопасность в контейнерах Kubernetes для их эффективного применения в Big Data системах. Лучшие практики cybersecurity для Kubernetes Комплексную безопасность кластера Kubernetes и больших данных, которые там хранятся и обрабатываются, можно обеспечить совокупностью следующих инструментов: правильная настройка опций cybersecurity на всех ключевых элементах K8s-инфраструктуры; приемы системного и сетевого администрирования; использование специализированных средств для аудита, мониторинга, контроля и управления уровнем безопасности. Из специфических опций cybersecurity для кубенетис стоит отметить следующие: регулярное обновление Kubernetes до последней версии позволит избежать проблем с вновь обнаруженными уязвимостями, а также использовать новые возможности в области обеспечения cybersecurity; правильная настройка политик управления доступом на основе Далее …

Информационная безопасность для DevOps-инженера в Big Data: ТОП-5 проблем cybersecurity Kubernetes и Docker

DevOps, Kubernetes, администрирование, контейнеризация, безопасность, Security, защита информации

Мы уже рассказывали про самые критичные уязвимости Kubernetes за последние 2 года. Продолжая тему информационной безопасности в контейнерах Big Data систем, сегодня мы поговорим, почему популярнейшая DevOps-технология так чувствительна к хакерским атакам. Читайте в нашей статье об основных факторах нарушения cybersecurity в DevOps-инфраструктуре на примере Kubernetes и Docker. Основные векторы атак на Kubernetes Kubernetes – это многокомпонентная система со сложной архитектурой, каждый элемент которой может быть подвергнут хакерской атаке [1]: Узлы – рабочие серверы (Worker Node), где запускаются контейнеры приложений и другие компоненты Kubernetes (агенты, прокси-серверы и пр.), а также главный мастер-сервер, который управляет всем кластером рабочих узлов (подов) и развертыванием модулей на этих узлах (Master Node); Поды (pods) – элементарные единицы развертывания и адресации в K8s, содержащие один или несколько Далее …

7 самых критичных уязвимостей Kubernetes за последние 2 года

Kubernetes, контейнеризация, информационная безопасность, уязвимости, атаки

В продолжении темы контейнеризации приложений и применения этой технологии в Big Data системах, сегодня мы поговорим, действительно она абсолютно безопасна. А также насколько популярнейшая DevOps-технология, Kubernetes, «великий кормчий» среди систем оркестрации контейнеров, соответствует своему визуальному образу «неуязвимого» океанического лайнера. Спойлер: на самом деле нет, K8s, как и любые другие технологии Big Data, подвержен хакерским атакам. Читайте подробности в нашей статье. Крупнейшие уязвимости Kubernetes в 2018 году В 2018 году было сразу несколько ярких инцидентов с нарушением информационной безопасности K8s, которые доставили немало волнений DevOps-инженерам и специалистам по cybersecurity Big Data систем. В частности, некорректная конфигурация панели управления Kubernetes и отсутствие на ней пароля для авторизации позволили злоумышленникам получить доступ к одному из pod’ов с учётной записью с возможностью обращения к Далее …

Упакуем все: зачем нужны контейнеры и как с ними работать в Big Data

Big Data, контейнеры, Kubernetes, Docker

Мы уже рассказывали про достоинства и недостатки самой популярной DevOps-технологии 2019 года – платформы управления контейнерами Kubernetes для Big Data систем. Сегодня поговорим, зачем вообще нужны контейнеры, чем они отличаются от виртуальных машин, каковы их плюсы и минусы, а также для чего нужна их оркестрация. Что такое контейнеризация приложений и как это работает Контейнеризация (виртуализация на уровне операционной системы, контейнерная или зонная виртуализация) – это метод виртуализации, при котором ядро операционной системы поддерживает несколько изолированных экземпляров пространства пользователя вместо одного. С точки зрения пользователя эти экземпляры (контейнеры или зоны) полностью идентичны отдельной операционной системе. Ядро обеспечивает полную изолированность контейнеров, поэтому приложения из разных контейнеров не могут воздействовать друг на друга [1]. В неработающем состоянии контейнер – это файл (набор файлов) Далее …