SORACOMの構造と、スピードを生み出す開発手法 ーソラコム if-up2017レポート3

ソラコムが開催した技術者のためのIoTカンファレンス、if-up2017レポートの3回目は、ソラコム 最高技術者 安川氏より、ソラコムの内部構造の解説と、短期間で矢継ぎ早にサービスをリリースし、グローバルサービスまで展開しているSORACOMの開発・運用手法について解説がされた。

IoTシステムを構築する際、デバイスの制限やデバイス管理、ネットワークの接続やセキュリティ・・と数々の課題がある。それを解決するのがSORACOMだ。

では、このサービスの中身はどうなっているんだろう。

ソラコム if-up 2017

安川氏によると、SORACOMは、Polaris(パケット転送、帯域制御、アクセス制御、アプリケーションサービス)、Dipper(回線・セッション管理・課金・イベント通知・API・コンソール)、Hubble(監視・デプロイ)の3つの要素からなっているという。

それぞれの要素がAPIで連携されているため、柔軟でスケーラブルな構造になっているのだ。

SORACOMのような、IoTの分野でスケールするプラットフォームを造るためには、幾つもの要素があるのだと安川氏は言う。

Horizontal Scalability Built-in Resilience

AWSを使うことで、システム負荷は大きくなる。一方でサーバを増やすことでキャパシティは増える。

シングルポイント・オブ・フェイラー(あるコンポーネントが異常をきたすと、システム全体が異常な状態になること)もない構成をとっており、障害箇所は可能な限り自動で復旧することができるということだ。

さらに、この考え方は全レイヤーに取り入れているということだ。

Global 前提の設計

すでにグローバルサービスをローンチしているソラコムだが、これらを矢継ぎ早に実現するのには、そもそもグローバル前提で作られているという。

例えば、ユーザが使う、コンソールのグローバル対応を考えると、ユーザ・コンソールからSORACOMを動かすことも、APIで動かしているというのだ。つまり、表示部分とコントロール部分が分離されているため、コンソールは初めからグローバルで使うことができるのだ。

言語も初めから日本語と英語、タイムゾーンはUTCで表現されているというのもグローバルを前提としていることがうかがえる。

アーキテクチャーもレイヤー単位で整理されていて、SORACOM Airを前提にして、すべてのサービスが動いているため、「SORACOM Airをグローバル展開するということは、他のサービスも即時利用可能となる」という設計となっているのだ。

SORACOM if-up2017

「こういったアーキテクチャを当初より考えているため、スムーズな展開が可能となる」と安川氏は言う。

疎結合と非同期

さらに、矢継ぎ早にサービスを提供するには、疎結合と非同期が重要だという。

例えば、データの通信料を課金する流れもこの考え方が使われているという。こうすることで、一ヶ所のモジュールが壊れても全体が止まることはないのだ。

ソラコム if-up 2017

また、それぞれの機能を異なるエンジニアが非同期に開発を行うことができるため、開発のアジリティは向上する。

運用を考えたDevOpsと運用のための開発OpsDev

SORACOMでは、サービスの健康状態を常に公開している。

各コンポーネントには、Primary Ownerと呼ばれるエンジニアがいて、Primary Ownerはその名の通りオーナーシップをもって開発・メンテナンス・運用に携わる。つまり、ソラコムの開発者は全員DevOpsを実践しているのだ。

ありがちなストーリーとしては、開発者がどんどん攻めるけど守りが手薄になる。システムの規模が拡大することで運用者が増えたり、手順書が増えたりするという課題がおきがちだ。

しかし、ソラコムでは、OpsDevエンジニアという、開発者だが運用中心の開発を行う開発者が監視や復旧を専門的に開発をしているということだ。

監視・運用システムとなる「Hubble」は、常にシステムを監視していて、異常を見つけるとエンジニアが見ている「Slack」に警告通知をし、可能な範囲で自動復旧を行うのだ。それでも復旧しないことはアラートをエンジニアにコールすることまで自動的に行っているという。

つまり、DevOpsエンジニアがプログラムを開発したら、OpsDevエンジニアに関し項目や復旧方法を設定するという構成になっているというのだ。

こうやって、IoTのスケールなプラットフォームが実現されているという。

これらの手法は、様々な文書で見る機会は多くても、実際に実践している現場はなかなかないのではないだろうか。一方で、こういうことをキチンと実践することで、SORACOMのようなスピーディーでスケーラブルなシステムは構築可能なのだということがよくわかった。

関連記事:
IoT/AI時代のテクノロジー4つのインパクト ーIDC 鳥巣氏講演
IoTのテクノロジーで潮目が変わる時
SORACOMの構造と、スピードを生み出す開発手法

Previous

IoTのテクノロジーで潮目が変わる時 ーソラコム if-up2017レポート2

ABBとIBM 、産業用AIソリューション開発のため戦略提携を発表

Next