Где учить Apache Kafka в 2022-м (и в 2023-м)
С каждым годом Кафка все шире распространяется: уже в 2016-м работа с этим инструментом вошла в топ-10 самых востребованных (и хорошо оплачиваемых) навыков на рынке труда в ИТ. На HH. ru только за последний месяц можно найти больше 3000 вакансий, где требуется знание Кафки.
Сейчас Apache Kafka используют крупнейшие международные компании: Adidas, Cisco, Airbnb, The New York Times, Netflix, PayPal, Twitter, Uber и далее по списку. А автор вот этой статьи, без ложной скромности называющий себя «проповедником технологий», рассказывает о том, как инструмент применяют автомобильные гиганты наподобие Tesla, BMW и Porsche.
В США и Европе даже проводится ежегодная ИТ-конференция Kafka Summit, на которую с удовольствием ездят ребята с Reddit. Событие идет с 2016 года и собирает архитекторов, инженеров, разработчиков и специалистов по эксплуатации со всей планеты для масштабного взаимовыгодного обмена информацией и опытом в сфере потоковой передачи данных. Само собой, сейчас на конференции обсуждают уже не только Кафку, но само название KAFKA Summit многое говорит о ее популярности.
Мы оценили растущую востребованность Apache Kafka и решили внести свой скромный вклад в развитие комьюнити. Собрали для вас книги и курсы, по которым можно и нужно изучать Кафку в 2022 году.
База
Наиболее простой способ – учить Кафку по официальной документации. В сети можно найти вагон и маленькую тележку ресурсов, туториалов, статей и приложений для самостоятельного усвоения материала. Мы советуем брать информацию из первоисточников. На английском, зато можно быть точно уверенными в качестве и актуальности данных. Да и когда это нас останавливало?
Официальный сайт Apache Kafka. Полный пакет документации прилагается.
Блог Confluent, компании от бывших сотрудников LinkedIn, где Кафка, собственно, и была разработана. Можно найти много полезного, например:
Apache Kafka: Getting Started. Дельная статья о начале работы с инструментом.
Внимание! В случае с Кафкой «просто» ≠ «эффективно». Поэтому…
Книги
Effective Kafka: A Hands-on Guide to Building Robust and Scalable Event-Driven Applications. Автор: Эмиль Кутанов (Emil Koutanov).
Руководство-справочник по Apache Kafka от а до я (читай: «от a до z», книга на английском). Солидный талмуд на 500 страниц, который дает максимально полное представление о работе с инструментом и подходит для специалистов любого уровня. У автора отличный слог, поэтому читать эту книгу – одно удовольствие. Официального издания Effective Kafka на русском языке пока нет. Увы.
Кстати, Эмиль Кутанов написал еще и статью, которая дает базовое представление о принципах работы с Кафкой и о некоторых важных функциях. Статью стоит прочитать хотя бы для того, чтобы познакомиться с авторской манерой изложения материала перед покупкой полноценной книги.
Apache Kafka. Потоковая обработка и анализ данных (в оригинале – Kafka: The Definitive Guide. Real-Time Data and Stream Processing at Scale). Авторы: Ния Нархид, Гвен Шапира, Тодд Паллино.
Классика от самих разработчиков Кафки, ни больше ни меньше. Вся необходимая информация для общего изучения инструмента в компактном формате. Продается на Озоне, ЛитРесе и много, где еще. Ценители английского запросто найдут The Definitive Guide на Амазоне. Книге почти 5 лет, а она по сей день не теряет актуальности. Однако в силу возраста здесь не разобраны некоторые новые функции и технологии.
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Автор: Мартин Клеппман (Martin Kleppmann).
«Книжка с кабанчиком». Отличный экземпляр с массой ценных идей и рекомендаций. А теперь шок-контент: эта книга не об Apache Kafka.
Здесь рассказывается в целом про распределенные системы. Само собой, Кафка упоминается то тут, то там. Без нее – что за распределенная система, в самом-то деле? В книге можно найти много полезного: например, про консенсусы и устройство баз данных. Труд Мартина на самом деле основополагающий, так как в современном IT без распределенных систем не обходится. Вообще. Никак. А грамотно их проектировать сложно, так как нужно учитывать кучу всяких нюансов. Об этом в этой книге очень подробно и написано. Так что — must read.
Streaming Architecture. New Designs Using Apache Kafka and MapR Streams. Авторы: Тед Даннинг (Ted Dunning), Эллен Фридман (Ellen Friedman).
Альтернативный взгляд на Apache Kafka. Авторы сосредоточились на сценариях использования инструмента в потоковой обработке и дополнительной технологии MapR Streams. Нишевая литература, но просто маст-рид для тех, кто работает с потоковой обработкой. Компактный объем книги является и преимуществом, и недостатком: прочесть можно быстро, но полноценного погружения в Кафку не выйдет.
Мы все здесь люди занятые, время на обстоятельное изучение литературы не всегда бывает. Реквесты сами себя не обработают, знаете ли. Поэтому есть неплохая альтернатива: курсы, вебинары и интенсивны по Кафке. Времени и сил экономят приличное количество.
Курсы
Apache Kafka База. Обстоятельный 6-недельный онлайн-курс от Слёрма для системных администраторов, разработчков и архитекторов. Кафка от К до а, со всеми вытекающими: настройка отказоустойчивого кластера, отслеживание метрики, равномерное распределение нагрузки.
Чему обучат: Apache Kafka, базовые примитивы (брокеры, топики, партиции, оффсеты, retention, коннекторы и фреймворки), Topic Retention, producer, consumer и consumer groups, транзакции, exactly-once processing, SLI & SLO.
Навыки для прохождения курса: базовые навыки администрирования Linux, начальные знания любого языка программирования, лучше – Java. Пригодится опыт работы с системами передачи сообщений (очередей).
Ближайшие даты: видеокурс доступен всегда, обучение в онлайн-группе с 16 января. Первые 3 темы можно пройти бесплатно.
Apache Kafka для разработчиков. Продвинутый 3-дневный онлайн-интенсив от Слёрма для разработчиков (см. название) и архитекторов. Будет много практики на Java или Golang с работой на платформе Spring+Docker+Postgres.
Чему обучат: базовые термины, Zookeeper, Only once, Distributed transactions / Sagas, event sourcing, создание fifo очередей. Ожидается блок про архитектуру, а это уже редкость для подобных курсов.
Навыки для прохождения курса: знание Java (CompletableFuture, база ThreadPool, CountDownLatch) или Go (Channels, goroutine, WaitGroup, понимание модульности).
Администрирование кластера Kafka. Экспресс-онлайн-курс от Big Data School для системных администраторов, разработчиков Big Data систем и DevOps-инженеров. За 3 дня проходят установку, настройку и администрирование Apache Kafka.
Чему обучат: Apache Kafka, Zookeeper, обработка потоков событий, настройки безопасности (SSL, SASL, Kerberos), NiFi, Hadoop, Spark, GreenPlum, Flume.
Навыки для прохождения курса: уверенное знание базовых команд Linux (командная строка, файловая система, POSIX, текстовые редакторы vi и nano).
Apache Kafka для инженеров данных. 4-дневный ускоренный онлайн-курс от Big Data School для программистов и разработчиков Big Data. Дают практические навыки использования Apache Kafka для программирования обработки потоков событий.
Чему обучат: работа с распределенным журналом Kafka, обработка потоков событий, Pub/Sub, Message Queue, Producer API, Consumer API, Streams API, Kafka Connect, exactly once semantics, Kafka DSL.
Навыки для прохождения курса: базовый опыт работы в Unix и программирования на Java, желательно – навыки работы с Hadoop Distributed File System.
Основы Apache Kafka. Очный курс на 24 академических часа от учебного центра при МГТУ им. Н. Э. Баумана для разработчиков, архитекторов и даже руководителей проектов. Обещают получение и систематизацию знаний по использованию Кафки для интеграции приложений. И уважение работодателей, естественно.
Чему обучат: Apache Kafka, создание распределенных приложений, Kafka Streams API, языку DSL.
Навыки для прохождения курса: оконченный курс «Java. Уровень 2. Разработка клиент — серверных приложений» в этом же заведении или эквивалент.
Apache Kafka Certification Training Course. 5-недельный онлайн-курс на английском языке от edureka! для разработчиков Big Data систем, тестировщиков, архитекторов, системных администраторов и руководителей проектов. Намекают, что курс включает базовые и продвинутые инструменты, а всех участников ждет бесплатный доступ к курсу Java Essentials.
Чему обучат: Apache Kafka, Hadoop, Storm, Spark, Kafka Stream APIs, Twitter Streaming при помощи Apache Kafka.
Навыки для прохождения курса: английский язык, базовые знания Java. Для отечественных ИТ-специалистов недавно добавилось еще одно базовое требование: умение оплатить иностранный онлайн-курс из России.
Конец. Всем хорошего дня и каждому продюсеру по консьюмеру!