Apache
IoT

ほとんど知られていない、IoTに役立つ10個の最新Apacheプロジェクト - 2018年2月

More than 1 year has passed since last update.

Apache TLP+Incubator 一覧 2018年2月 を作りながら目をつけた、IoTに役立つ10個の最新Apacheプロジェクトを紹介します。まだほとんど日本語解説記事が無いもの(Google日本語力が1,000件未満のもの)を集めました。

筆者はざっと見ただけでまだ使ってはいませんので、解説が不正確かもしれませんし、本当に役立つかは未知数です。まずは、「こんなオープンソースがあるんだ〜」というふうに、本記事が知るキッカケになっていただければ幸いです。

なお、Google日本語力は、Googleにおいて"Apache X"とダブルクォーテーションで囲って日本語検索をした検索件数のことで、「日本で知られている」度合いを表しています。特に、Google日本語力0件となったプロジェクトは、もしかしたら本記事が日本初紹介かもしれません。


1. ほとんど知られていないIoTに役立つ10個のプロジェクト

以下では、Google日本語力が小さい(=知られていない)方から紹介しています。


1.1. Apache PLC4X (Incubator)


  • 2017年12月 Incubator昇格、Google日本語力 0件。

  • 産業用PLC (Programmable Logic Controller)との通信ライブラリ。

  • Modbus、OPC-UA、S7/Profinetをサポート。


1.2. Apache Gossip (Incubator)


  • 2016年4月 Incubator昇格、Google日本語力 0件。

  • ピアツーピアで情報を伝播させるGossipプロトコル(というプロトコルがあるのですね)の実装。

  • 本来は、クラスタの障害検出に使われるようだ。Aapche Cassandraで使われているGossipと同じ?

  • IoTのデバイス同士のピアツーピアの情報交換にも使えるかもしれない。


1.3. Apache iota (Incubator)


  • 2016年1月 Incubator昇格、Google日本語力 0件。

  • Apacheの著名オープンソースを組み合わせたフルスタックのIoTプラットフォーム。同名のブロックチェーン技術とは無関係。

  • iotaとしては、セキュリティサービスを含むデータフロー、マネジメント、暗号化や変換などのマイクロサービスとAPIフレームワークを提供し、デバイスとKafkaとの仲介を行う。


1.4. Apache Twill


  • 2016年6月 TLP昇格、Google日本語力 84件。

  • Hadoop YARNを使ったリソース制御アプリを、Javaスレッドと同様なモデルで開発できる。


1.5. Apache Bahir


  • 2016年5月 TLP昇格、Google日本語力 90件。

  • Spark、Flinkの拡張機構(ストリーミングコネクタやデータソース)を共通化したもの。

  • バハールまたはバヒルと読む?


1.6. Apache Edgent (Incubator)


  • 2016年2月 Incubator昇格、Google日本語力 91件。

  • エッジコンピューティングのためのプログラミングモデルとランタイムを提供。エッジデバイス上でストリーミング分析する上で、一定の条件のもと、バックエンドに限定されたデータを送信する。

  • バックエンドとの通信は、Kafka、MQTT、IBM Watson IoT Platformなどに対応。

  • Java、Android対応。主ターゲットはRaspberry Pi。


1.7. Apache Mynewt


  • 2017年6月 TLP昇格、Google日本語力 120件。

  • 少リソースでも動作する組み込み向けRTOS (RealTime OS)。

  • BLE5、Bluetooth mesh、Wi-Fi、LoRaなどのネットワークスタックを提供する。

  • Arduinoを含むボードマイコン向け。

  • OIC1.1(OCF規格)による集中管理が可能。


1.8. Apache RocketMQ


  • 2017年9月 TLP昇格、Google日本語力 288件。

  • 中国アリババ社が提供する爆速のメッセージングミドルウェア。Kafkaの置き換えを狙う。多重度が高い分散環境において、Kafkaよりも高速らしい。


  • https://rocketmq.apache.org/docs/motivation/ にKafkaとの比較詳細がある。


1.9. Apache PredictionIO


  • 2017年10月 TLP昇格、Google日本語力 672件。

  • Spark上で使える機械学習。


1.10. Apache Samza


  • 2015年1月 TLP昇格。Google日本語力 959件。

  • LinkdIn社がKafkaと親和性が高いように開発したストリーミングエンジン。


2. ある程度知られている〜超有名プロジェクト

ある程度知られているプロジェクトを、比較対象としていくつか紹介します。そうはいっても、Flinkは知らない人も多いのでは。後ろの3つは超有名プロジェクトです。


2.1. Apache Flink


  • 2014/12 TLP昇格、Google日本語力 3,860件。

  • バッチもできるがリアルタイムストリーミングに強い。ストリーミング領域ではSparkを置き換える存在になる可能性あり。

  • フリンクと読む。


2.2. Apache Kafka


  • 2012/11 TLP昇格、Google日本語力 36,400件。

  • メッセージブローカーとしてApacheエコシステムの中核の一部をなす存在。


2.3. Apache Hadoop


  • 2008/1 TLP昇格、Google日本語力 52,200件。

  • 2010年代のApacheビッグデータ関連プロジェクトのエコシステムの中核。


2.4. Apache Spark


  • 2014/2 TLP昇格、Google日本語力 74,400件。

  • バッチ、インタラクティブ、ストリーミングそれぞれに活用可能な高機能・分散ビッグデータクエリエンジン。Apacheエコシステムの中でHadoopのクエリエンジンを置き換える存在になった。


3. おまけ

IoTとは関係は薄いが、面白そうだと思ったプロジェクトを紹介します。


3.1. Apache Royale


  • 2017年9月 TLP昇格、Google日本語力 38件。

  • JavaScriptで、あらゆるデバイス上でのネイティブアプリ開発ができる仮想環境。Cordovaの発展系?


3.2. Apache Fineract


  • 2017年4月 TLP昇格、Google日本語力 80件。

  • 金融業務システムのオープンソース版という珍しい存在。


3.3. Apache OpenWhisk (Incubator)


  • 2016年11月 Incubator昇格、Google日本語力 632件。

  • サーバーレスコンピューティング環境。


3.4. Apache Metron


  • 2017年4月 TLP昇格、Google日本語力 657件。

  • いわゆるSIEM (Security Information and Event Management: セキュリティ情報イベント管理)のオープンソース版。Cisco社寄贈。