HiveMQ Cloudの目的は、MQTTを使用してデバイス外部にデータをストリームするIoTアプリケーションに対して、フルマネージドなプラットフォームを提供することだ。月額固定の料金で、自動スケーラビリティとユーザ専用のインフラストラクチャを備えている。
HiveMQによれば、HiveMQ Cloudを使用する最大のメリットは、MQTT 5を含むMQTT実装に完全準拠していることにある。これは、プロトコルの一部のみを実装するAmazonやGoogle、Microsoftなど他のIoTプラットフォームのプロバイダとは対照的だ。不完全な標準であることには、ベンダが提供する特定の実装に対して、IoTデバイスがある面でロックインされるデメリットがある、とHiveMQは言う。
IoTデバイスは企業外に配置されるのが一般的である上に、製品のライフサイクルが長く、配置されるデバイスの数が極めて多いことが少なくないため、IoTアプリケーションにとってベンダロックインのリスクは通常より大きなものになる。
遠隔測定の負荷に伴うスケールアップとスケールダウン機能に加えて、HiveMQ Cloudでは、3つのAWSデータセンタ内に独自のインフラストラクチャが用意されるため、他の企業が同じインフラストラクチャを共有することを防止すると同時に、想定されたパフォーマンスを保証する。
HiveMQのCTOであるDominik Obermaier氏に詳細を聞いた。
InfoQ: HiveMQ Cloudのスケーラビリティとリライアビリティの実装に関して、詳しく説明して頂けますか?
Obermeier: 当社のHiveMQ Cloudは、高度な可用性とスケーラビリティを必要とするビジネスクリティカルなIoTアプリケーションアプリケーションを、実運用に移行したいと考えるユーザのために開発されたものです。この理由から、ユーザ毎に専用のEC 2インスタンスを使用したインフラストラクチャを用意しています。3つの異なるアベイラビリティゾーンで動作するAWSリージョン内に、3つのHiveMQブローカクラスタを立ち上げました。インフラストラクチャにはEC 2インスタンス上で動作する2つの専用ロードバランサも含まれていて、高可用性を保証しています。同様のアーキテクチャをMS AzureやGCP上でも提供する予定です。
HiveMQのアーキテクチャアーキテクチャはマスタレス(masterless)アーキテクチャを基本としているため、エンドユーザのレイテンシに影響を与えずにMQTTクライアント接続を共有可能な、自律的なクラスタの構築が可能になっています。例えば、クラスタ内のひとつのブローカがダウンすると、MQTTクライアント接続は自動的に別のブローカノードに再設定されます。MQTTクライアントが他のブローカインスタンスと再接続のネゴシエーションを行う必要はありません。HiveMQブローカクラスタのより詳しい情報は、当社のWebサイトにあります。
InfoQ: 価格に関して、極めてシンプルで予算の立てやすいものであることは事実ですが、一部のユーザや低予算プロジェクトにとっては固定的過ぎると思われるかも知れません。もっとフレキシブルな選択肢を導入する予定はありますか?
Obermeier: HiveMQ Cloudの最初のリリースでは、高度なリライアビリティとスケーラビリティを必要とする企業の運用展開に重きを置いています。この内容は、大規模なHiveMQユーザと共同作業した時の、当社の経験をベースとしています。近いうちに、高可用性のための専用インフラストラクチャを必要としない企業向けのHiveMQ Cloudを提供する予定です。運用システムを移行する前に、開発者がコンセプトの証明を行えるような、無償のトライアルも提供したいと考えています。
InfoQ: デバイスからストリーミングされるデータを利用するための有効な方法として、他のサービスとの統合があります。HiveMQ Clusterでは、他システムとの統合を提供するための機能として、どのようなものを提供しているのか、説明して頂けますか?
Obermeier: IoT産業に必要なのは、IoTデータとさまざまな企業システムをもっと簡単に統合できるようにすることだ、と当社は確信しています。IoTデバイスとKafkaやMongoDB、InfluxDB、マシンラーニングサービスなどとの間で、双方向のデータ移動を行うための自由な流れが必要なのです。このようなデータの自由な流れを可能にするためには、さまざまなクラウドサービスとHiveMQ Cloudを簡単に統合できるようにしなければなりません。当社の計画では、まずはConfluent CloudやMongoDB Atlas、InfluxDB Cloudなど、いくつかの最高レベルのサービスに焦点を絞ります。AWSやAzure、GCP上のもっとポピュラーなサービスとも統合する予定です。
ユーザがHiveMQ Extension SDKを使って、独自の機能統合を開発できるようにもしたいと思っています。ユーザが自分たちのIoTデータをさまざまなクラウドサービス間で移動することのできるような、統合に関するエコシステムが生まれることでしょう。
HiveMQ Cloudを一通り見てみたいのであれば、紹介ビデオをぜひ見てほしい。