[Перевод] Реальные примеры применения Kafka в автопроме

Apache Kafka широко используется в самых разных сферах автопрома. В этой статье мы рассмотрим реальные примеры развёртывания в разных контекстах, включая подключенные транспортные средства, умное производство и инновационные услуги перевозок, и в разных компаниях, включая автопроизводителей, вроде Audi, BMW, Porsche и Tesla, и провайдеров сервисов мобильности — Uber, Lyft и Here Technologies.

1b4e67b63a0b74364113a1cc75dbf929.png

BMW — умные цеха и Индустрия 4.0

На Kafka Summit 2021 Феликс Бём (Felix Böhm), ответственный за цифровизацию заводов и облачную трансформацию в BMW, рассказал, как они применяют данные в движении при производстве. Здесь приводятся основные моменты его выступления. Если интересно, посмотрите интервью целиком на Youtube.

Разделение данных IoT и производства

У BMW есть критичные рабочие нагрузки на границе сети (на заводах) и в публичном облаке. Kafka обеспечивает разделение, прозрачность и инновации, , а Confluent добавляет стабильности с помощью своих продуктов и опыта. Без стабильности на производстве не обойтись — каждая минута простоя обходится в целое состояние. Прочтите статью Apache Kafka as Data Historian — an IIoT / Industry 4.0 Real-Time Data Lake, чтобы узнать, как Kafka повышает коэффициент общей эффективности оборудования (OEE) на производстве.

Логистика и цепочка поставок на заводах по всему миру

Это пример того, как можно оптимизировать управление цепочкой поставок в реальном времени.

Решение предоставляет информацию о запасах, как физически, так и в системах ERP, вроде SAP. Just-in-Time и Just-in-Sequence — это ключевые принципы для многих критичных применений.

Преимущества решения для BMW:

  • Данные IoT не смешиваются с остальными данными и доставляются в нужное место.

  • Данные собираются один раз, обрабатываются, а затем используются многократно (разными консьюмерами, в разное время и разными способами — в реальном времени, пакетами, по запросу).

  • Легко масштабируемая обработка данных в реальном времени позволяет сократить время вывода новых продуктов на рынок.

Настоящее разделение между разными интерфейсами — это уникальное преимущество Kafka по сравнению с другими платформами для обмена сообщениями, такими как IBM MQ, Rabbit MQ или MQTT-брокерами. Если интересно, можно почитать об этом в статье о предметно-ориентированном программировании с Kafka.

BMW — машинное обучение и обработка естественного языка (NLP)

Ещё один потрясающий проект, не связанный с предыдущим, — BMW создали платформу сервисов NLP промышленного класса на базе Kafka. В основе решения лежит экосистема Kafka как уровень оркестрации и обработки в различных сервисах NLP:

c905edb3fff7c61cdc0e159b31a8b399.png

Приложения Kafka Streams отвечают за предварительную обработку,  чтобы можно было консолидировать и обогащать входящие текстовые и речевые наборы данных. Различные платформы и технологии машинного обучения и глубокого обучения потребляют события для обработки языка,  например, для преобразования речи в текст.

Это похоже на то, что делают другие компании. Универсального решения по машинному обучению не существует. Для разных вариантов применения, даже в рамках NLP, нужны разные технологии. Модель нужно не только обучить, но и развернуть, а затем отслеживать. Python решает не все задачи в сфере Data Science. В статье Apache Kafka + ksqlDB + TensorFlow for Data Scientists via Python + Jupyter Notebook я рассуждаю о том, как решить проблему impedance mismatch между дата-сайентистами и разработчиками.

BMW использует платформу NLP для разных нужд, в том числе для анализа цифровых контрактов, разработки подходящих инструментов для работы, машинного перевода и автоматизации техподдержки.

См. выступление представителей BMW на Kafka Summit об использовании Kafka с глубоким обучением и NLP.

Audi — подключенные автомобили

Audi создают инфраструктуру для подключённых автомобилей с помощью Apache Kafka. См. их выступление на Kafka Summit:

5dea875cf1d793de8131782861b37944.png

Варианты применения: анализ данных в реальном времени, роевой интеллект, совместная работа с партнерами и прогнозирующий ИИ.

Это идеальный пример модных «цифровых двойников»:  все данные с сенсоров на подключённых автомобилях обрабатываются в реальном времени и сохраняются для последующего анализа и отчетности. Узнайте больше о Kafka для архитектуры цифровых двойников.

Архитектура с кластерами Kafka называется Audi Data Collector:

37757fb69ef12b59c4795e719d4611ec.png

Tesla — подключено всё — промышленный IoT, автомобили, энергетика

Tesla делает не только машины, но и инновационный софт. Они создают энергетическую инфраструктуру для автомобилей, строя станции Telsa Supercharger, производя солнечную энергию на гигафабриках и так далее. Они обрабатывают и анализируют данные с автомобилей, из умных электросетей и заводов и интегрируют их с остальными бэкенд-сервисами в реальном времени.

Tesla создали инфраструктуру платформы данных на основе Kafka для обработки триллионов значений с миллионов устройств в день. Tesla рассказали об истории и эволюции своего применения Kafka на Kafka Summit в 2019 году:

c72c7f4a98dab21be44fb9f894a61541.png

Почему Tesla использует Kafka?

Telsa используют Kafka, потому что она удовлетворяет их требованиям (цитата с выступления на Kafka Summit):

  • «Просто работает».

  • Гибкое использование пакетов.

  • Один поток, одно приложение.

  • Разные уровни свободы при масштабировании.

Это ещё одно доказательство того, что Kafka — испытанное и надёжное решение для объёмных рабочих нагрузок IoT, которое подходит для разных отраслей и разных вариантов применения.

Porsche — анализ клиентов и персонализированное обслуживание

My Porsche — это инновационная и современная омниканальная цифровая платформа от Porsche для повышения лояльности клиентов. Вот что говорят в Porsche:

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

b41381541958c543b6e6f8b3b373d8bb.png

Разработчики из Porsche Dev опубликовали несколько крайне интересных статей о своей архитектуре. Вот хорошая схема:

99f39e62f60237937302b75cac9bcf25.png

Kafka обеспечивает реальное разделение приложений, а потому де факто становится стандартом для микросервисов и предметно-ориентированного программирования. С её помощью можно создавать независимые, слабо связанные, хорошо масштабируемые, высокодоступные и надёжные приложения.

Вот как в Porsche описывают применение компанией Apache Kafka в цепочке поставок:

«Тренд на потоковую передачу данных открывает новые возможности для аналитики в реальном времени. В Porsche технологии потоковой передачи данных всё чаще применяются в самых разных контекстах, например, для гарантийного обслуживания и продаж, в производстве и цепочке поставок, в подключённых автомобилях и на станциях зарядки» — рассказывает Сридар Мамелла (Sridhar Mamella) (директор по потоковой передаче данных Porsche).

Как видно на схеме архитектуры выше, не нужно спорить, что лучше — REST / HTTP или потоковая обработка событий/Kafka. Я уже писал о том, что для большинства архитектур микросервисов требуется Apache Kafka и API Management для REST. HTTP и Kafka прекрасно дополняют друг друга.

Porsche — централизованная платформа в основе data-driven компании

Porsche разработали стратегию централизованной платформы в ЦОД, облаках и регионах (очень крутая штука под названием Streamzilla), чтобы стать data-driven компанией. В выступлении на Kafka Summit они подробно рассказывают об этой платформе:

ecc1e407ee2048a73b6657dc57be434b.png

Например, у них есть интересное решение на базе Apache Kafka для OTA-обновлений для послепродажного обслуживания и других сценариев:

b04adcff9e70edbf6a48f090f7b260ee.png

Очень советую послушать подкаст, в котором ребята из Porsche рассказывают, как создали Streamzilla для быстрой передачи данных.

DriveCentric — CRM для автодилеров 

Не только автопроизводители любят Apache Kafka. Поставщики и сторонние разработчики тоже используют её для создания инноваций. Один из примеров — DriveCentric, масштабируемая CRM в реальном времени для автодилеров.

Это решение для комплексного клиентского опыта и взаимодействия по всем каналам. Некоторые преимущества: вовлечённость увеличивается, циклы продаж сокращаются, бизнес растёт. Это, кстати, ещё одно доказательство того, что Kafka стала стандартом для разделённых микросервисов и омниканального взаимодействия.

DriveCentric хотели сосредоточиться на бизнесе, а не на инфраструктуре, поэтому начали с Confluent Cloud — (единственного) по-настоящему бессерверного предложения для Kafka. Если вы ещё не понимаете разницу между частично управляемой и полностью управляемой Kafka, почитайте обсуждение бессерверных предложений Kafka на облачном рынкеили общее сравнение вендоров Kafka.

Uber / Lyft / Otonomo / Here Technologies — инновационные сервисы мобильности

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

  • Uber использует Kafka для триллионов сообщений и нескольких петабайт данных в день, чтобы создавать транспортную инфраструктуру в реальном времени по всему миру.

  • Lyft тоже использует Kafka везде, например, для потоковой аналитики, чтобы реализовывать сопоставление с картой, а также рассчитывать предполагаемое время прибытия и стоимость в реальном времени.

  • Компания Here Technologies, принадлежащая консорциуму немецких автопроизводителей (Audi,  BMW,  Daimler) и Intel,  собирает данные геолокации, например, о дорогах, зданиях, парках и схемах дорожного движения. Их открытый API предоставляет нативный интерфейс Kafka вместо немасштабируемого REST/HTTP. Поэтому потоковая передача с API Management для Kafka становится всё более актуальной.

  • Otonomo — это открытая платформа API для данных с автомобилей, которая ускоряет вывод новых сервисов на рынок.Kafka входит в их центральную инфраструктуру и отвечает за интеграцию и обработку больших объёмов данных с автомобилей.

FREE NOW (ранее — mytaxi) — это совместное предприятие BMW и Daimler Mobility и провайдер MaaS (мобильность как услуга). Что-то вроде европейской версии Uber.

FREE NOW — потоковая аналитика в реальном времени в облаке

Сценарий FREE NOW очень похож на другие приложения заказа такси:  требуется корреляция огромных объёмов данных из разных источников в реальном времени, без перерывов. Идеальный вариант для экосистемы Kafka. В примере ниже показано, как они используют потоковую обработку для расчёта стоимости поездки в зависимости от спроса на месте в реальном времени:

0490eee8a02acdf453662ad83faeee30.png

Интересные выдержки из выступления FREE NOW на Kafka Summit:

  • Stateful потоковая обработка с помощью Confluent Cloud, Kafka Connect, Kafka Streams, Schema Registry.

  • Эластичность и масштабируемость нативных облачных приложений с использованием возможностей Kafka и Kubernetes.

  • Динамическое ценообразование, выявление мошенничества, аналитика в реальном времени для маркетинговых кампаний и т. д.

  • Информация о поездке, расположении и эффективности бизнеса.

Для каких сценариев Kafka не подходит

Многочисленные реальные примеры доказывают, как хорошо Kafka и её экосистема подходят для автопрома. А в каких сценариях Kafka не вариант?

  • ИТ-системы автомобиля жёсткого реального времени и критичные для безопасности. В Kafka бывают пики задержки и используется недетерминированная сеть (как в большинстве ИТ-фреймворков). Kafka работает в мягком реальном времени, с задержкой более 10 мс. Этого достаточно для большинства вариантов использования, если речь не идёт о критичности для безопасности. Apache Kafka не работает в жёстком реальном времени, но используется повсюду в автопроме и промышленном IoT. 

  • Интеграция на «последней миле». Kafka интегрируется с ОТ-средой (станки, ПЛК, сенсоры и т. д.). Фреймворки, вроде PLC4X, предлагают коннектор Kafka Connect. Некоторые клиенты используют Eclipse Kura для интеграции с IoT. Confluent REST Proxy и другие шлюзы могут подключаться к умным устройствам и мобильным приложениям. При этом в большинстве случаев интеграция на «последней миле» реализуется с помощью специальных платформ IoT или HTTP-прокси. Сама по себе Kafka не может подключаться к сотням тысяч устройств и не поддерживает низкоуровневые проприетарные legacy-протоколы. Кроме того, Kafka не очень хорошо работает в ненадёжных сетях. Я писал об этом несколько статей, в том числе об интеграции PLC4X,  интеграции MQTT,  архивации данных с помощью Kafka и т. д.

Видео с презентацией: Apache Kafka in the Automotive Industry.

Мода на данные в движении в автопроме

Apache Kafka стала центральной нервной системой многих приложений в разных сферах автопрома. Мы рассмотрели реальные примеры развёртывания в разных контекстах, включая подключенные автомобили, умное производство и инновационные сервисы мобильности, и в разных компаниях, включая автопроизводителей вроде Audi, BMW, Porsche и Tesla, и провайдеров MaaS — Uber, Lyft и Here Technologies.

Изучение Kafka со Слёрмом

— Курс «Apache Kafka База»: познакомимся с технологией, научимся настраивать распределённый отказоустойчивый кластер, отслеживать метрики, равномерно распределять нагрузку.

— Интенсив «Apache Kafka для разработчиков». Это углублённый интенсив с практикой на Java или Golang и платформой Spring+Docker+Postgres. Интенсив даёт понимание, как организовать работу микросервисов и повысить общую надежность системы. Сейчас записи интенсива доступны со скидкой в 45%.

— Есть бесплатные видеоуроки.

© Habrahabr.ru