4月20日、( 株)ソラコム主催のIoTに関する技術イベント「IoT Technology Conference if-up 2017」が開催されました。ここではその基調講演、およびユーザグループセッション模様をレポートします。
SORACOMのシステムを支えるしくみ
基調講演は、( 株)ソラコム CTOの安川健太氏によるSORACOMのシステムを支えるしくみについてのセッションです。安川氏はセッションの冒頭、SORACOMのサービスについて「IoTシステムを構築する際にはさまざまな課題に直面するもの。そうした際にも、皆さんにはアプリに集中してもらいたいということでソラコムは事業を展開している」と紹介しました。
いろいろなサービスの構築を迅速に実現することができるSORACOMのサービス(図1 ) 、安川氏のセッションではその中心部分の中身はどうなっているのか、についての解説でした。
図1 SORACOMのサービス(今回取り上げるのは図中央下の「SORACOM」と書かれた雲の部分)
SORACOMプラットフォームはDipper、Polaris、Hubbleという3つの要素で構成されています(図2 ) 。Dipperは回線・セッション管理、認証、課金といった機能のマイクロサービス。それぞれがAPIで連携するという特徴をもちます。このアーキテクチャはローンチ以来、変わっていません。
図2 SORACOMプラットフォームの構成要素
SORACOMにおけるIoTスケールなプラットフォームを実現するためのコンポーネント設計のポイントとして、「 Horizontal
ScalabilityとBuilt-in Resilience」「 Global前提の設計とLayeredアーキテクチャ」「 疎結合化と非同期化」「 運用を考えた開発DevOpsと運用のための開発OpsDevの両輪」という4点を挙げることができます(図3 ) 。以下、この4点それぞれの説明がありました。
図3 IoTスケールなプラットフォームを実現するために
1.Horizontal ScalabilityとBuilt-in Resilience
負荷に応じてサーバ台数を増やすしくみがHorizontal Scalability、SPOF(Single Point of Failure)のない構成、障害箇所を自動で置き換えを実現するのがBuilt-in Resilienceです(図4 ) 。SORACOMのマイクロサービスはそれぞれをHorizontalにスケールさせることができます。
図4 Horizontal Scalability
2.Global前提の設計とLayeredアーキテクチャ
SORACOMはグローバル展開が前提の設計になっています。これによって、2016年11月にUSでSORACOM SIMの発売を開始し、翌2017年2月にはSORACOM Air for LoRaWANを発表、さらに3月にはヨーロッパでSORACOMをローンチするなど、矢継ぎ早の展開が可能となりました。
またSORACOMのシステムはLayerdアーキテクチャで構成されており、インタフェース、アプリケーションインテグレーション、ネットワーク、データコミュニケーション等のLayerから成ります(図5 ) 。これにより、たとえばSORACOM Airは日本ではセルラーネットワークから始めましたが、グローバル展開に際しては海外キャリアに差し替えることができます。あるいはセルラーでなくLoRaWANに差し替えることも可能。技術的なカバレッジの確保が可能になっている点が特徴的です。
図5 Layerdアーキテクチャ
3.疎結合化と非同期化
SORACOM FunnelはAmazon S3に投げ込むためのクラウドリソースアダプタで、認証情報とリソース指定だけでクラウド連携を実現します。これはバックでサービスアダプタとしてAWS Lambdaが働いており、Lambdaで実装されたアダプタを追加することができるようになっています(図6 ) 。
図6 疎結合化と非同期化の例
4.運用を考えた開発DevOpsと運用のための開発OpsDevの両輪
最後のポイントは「運用を考えた開発DevOpsと運用のための開発OpsDevの両輪」 。SORACOMの開発と運用の基本原則では、各コンポーネントにはPrimary Ownerを設定し、Primary OwnerはOwnershipをもって、開発・メンテナンス・運用に携わっています。これによってソラコムの開発社は全員DevOpsを実践していることになります。
一方、DevOpsの現場ではありがちなストーリーとして、開発者がどんどん攻める一方で、運用の守りが手薄になるといったことが起きやすいと言えます。SORACOMでは「OpsDevエンジニア」を導入し、運用中心のエンジニアが運用作業省力化のための開発を行っています。具体的には監視・復旧や繰り返し作業の自動化などに携ります。これによって実現されているのがHubbleにおける監視・デプロイのしくみです。OpsDevエンジニアは、たとえばインスタンスがなぜ落ちたのかを調べて、想定していない落ち方をしていたなら、それが起きないようにするためにツールの拡張をするといった仕事をしています。
グローバルにさまざまなサービスを展開しているソラコムのサービスが矢継ぎ早に提供され、さらに多様なサービスを安定的に提供できるソラコムの強みが感じられるセッションでした。
ナイトセッション「エンジニアとしてIoTで生き残るには」
「IoT Technology Conference if-up 2017」のナイトイベントとして「SORACOM User Group」のセッションが開催されました。ソラコムエバンジェリスAlexis Susset氏による「ヨーロッパにおけるLPWA」 、「 IoTエンジニア養成読本発売記念パネルディスカッション」 、SORACOM Interstellerの裏側、ユーザグループの支部紹介LTなどが開催され、参加者はドリンクを片手に大いに盛り上がりました。ここではその中から、『 IoTエンジニア養成読本』発売記念パネルディスカッションの模様をお届けします。
パネルディスカッションは、『IoTエンジニア養成読本』 (技術評論社刊)の著者陣が参加し、さまざまなお題に答えていく形で進みました。進行はソラコムプリンシパルソフトウェアエンジニアの片山 暁雄氏。登壇したのは、アクロクエストテクノロジー株式会社鈴木 貴典氏、株式会社ソラコム松下 享平氏、クラスメソッド株式会社の大瀧 隆太氏、ウフル株式会社の竹之下 航洋氏。
ディスカッションのテーマは「エンジニアとしてIoTで生き残るには」 。松下氏はセンサ&デバイス、鈴木氏はアプリケーション、大瀧氏はクラウド/バックエンド、竹之下氏はセキュリティの観点からIoTに携わっており、書籍でもそれらのテーマについて執筆しています。以下、パネルディスカッションでのお題ごとに紹介しましょう。
( 株) ソラコム 片山暁雄氏
自分のまわりのIoT案件、実際どうですか?
鈴木: これまでとは異なる会社さんからの問い合わせが増えました。でも、案件としては、お客さんが何をやったらよいかわからないという状況のケースも多いです。予算も明確になっていないような場合は気をつけたほうがいい。
竹之下: メーカさんが多いです。けっこう幅広い業界からの相談があります。ただ、先方が切羽詰まっていないと検討して終わりということも多い。「 ( IoTで)何かできませんか?」という状態だと進まない。「 やらないと死ぬ」くらいの切迫感のある会社は早いです。
片山: (松下氏のプロフィールコメントに「幻滅期到来中」とあるのを見て)「 これは?」
松下: IoT、IoTといって期待値が高かったけど、できるのは実際はこれだけ、というケースは多いかなと。
アクロクエストテクノロジー( 株) 鈴木貴典氏
IoT案件、今までの仕事と違う点は?
大瀧: 従来型のシステム開発だと、ユーザが手を動かさないことが多いですが、IoTはそのやり方だとうまく成果が上がらないケースが多いと思います。発注側のエンジニアが一緒にインテグレーションしてくれる、試してもらえるとうまくいきやすい。最初から完成形ができあがるわけではないので、スピード感をもって開発するためには、ユーザ担当者も一緒に手を動かすというのがよいと思います。
竹之下: 技術もビジネスも幅が要求されると思います。その意味では学際領域を知っている人は適性があると思います。自分はロボティックスを(研究で)やっていましたが、これもいろいろな領域が重なる学際領域でした。幅広く、はじめはよくわからなくてもやってみるというスタンスがよいと思います。
松下: IoTはたとえて言うと高校受験の出題範囲のようなものだと思います。いままでの(知識の)集大成で、分数の足し算から証明までさせられる。総力戦で、前提知識がいろいろといるものだと思います。
( 株) ソラコム 松下享平氏
あなたにとってデバイス、ネットワーク、クラウドとは?
片山: これはほかの領域が自分からどう見えるかということですね。
鈴木: アプリの視点でいうと、デバイスは、ハードはすぐに変更できないからということで、アプリ側で変更を依頼されがちですね。仕様書どおりに作っても、だいたい変わる(笑) 。
竹之下: ネットワークは、「 頼むから安定してくれ」 。クラウドは「ちょっと落ち着け」( 笑) 。今日もソラコムからAWS関連の発表がありましたが、ちょっと落ち着けというのはあるかな。デバイスはそう変わらないですが、クラウドは変更が早すぎる。
大瀧: クラウドの会社からすると、腰を落ち着けると負けちゃいます。デバイスとは、「 有限のリソースに無弁の可能性を秘める小人のような存在」 、ネットワークとは「有限のリソースに無限の可能性を秘める妖精のような存在、クラウドは「リソースが無限の迷宮のような存在」でしょうか。
クラスメソッド( 株) 大瀧隆太氏
あなたにとってIoTとは
大瀧: クラウドを実生活に直結させるためのゲートウェイ。薄暗いデータセンターからのハードパワーを実感できる存在です。
鈴木: 玉石混交だけど、確実に次のICT時代には不可欠なもの。
竹之下: 乗るしかない。PC普及、Webの普及にに次ぐ波だと思います。私より前のエンジニアはコンピュータの普及とかWebの普及と一緒の世代でした。今、IoTができあがっていくのと同じ流れの中にいられるのはとてもよいことだと思います。
松下: 「なっていくもの」ではないかと思います。『 〈インターネット〉の次に来るもの 未来を決める12の法則』という本があって、これからどのようになっていくということが書いてあって、そこでは当たり前のことがこれからも続いていき、その中でじわじわといつの間にか変わるので、普通の人は気づかないと書かれています。スマホも、いつのまにかみんなが持っている存在になりました。IoTもそういう「なっていくもの」だと思います。
ウフル( 株) 竹之下航洋氏
参加者からの質問:IoTは対応する領域が広すぎると感じています。新人を教育するにはどうするのがよいと思いますか。
竹之下: 昨年の新人には多少の技術の基礎を教えたあと、LoRaWANモジュール使ってみろと言いました。LoRaWAN情報が昨年はググっても出てこない状態で、1年触ったらけっこうできるようになって、今では社内で一番詳しくなりました。がけから突き落とす作戦ですね。
大瀧: 自分は以前にITの研修講師をしていた経験がありますが、社会人になって最初は、プログラミングをやるのがよいのではないかと思います。言語はなんでもよくて、今ならJavaとか。本当はCをやっておくとよいかも。あとは、ぜひ『IoTエンジニア養成読本』をその新人さんに!
パネルディスカッションに登壇の著者陣
最後に一言
竹之下: 今回発売された「IoTエンジニア養成読本」は非常に幅広い内容を網羅していてIoTに関してまず何が必要かわかると思います。最後にRaspberry Piのハンズオンも掲載されているのでそれから初めてみるのもいいと思います。
鈴木: 今回の書籍を書いてみて、同じレイヤの人同士で集まる傾向はありますが、違うレイヤで集まるのはあまりないのでよい経験でした。新人さんには正直難しい部分があるかもしれないですが、幅広い人たちに読んでいただきたいと思います。
大瀧: クラウドを試すのであれば、ノートPCとクレジットカードがあればできます。デバイスを試すのもPCで簡単にできます。クラウドで作ったリソースを消し忘れないのは重要です! ( クレジットカードの)明細の確認を忘れずに。
松下: デバイスはなかなかドライブしにくいと思ってる方が多いと思いますが、デバイスというのは、プラスとマイナスを反対につなぐと本当に火が出ます。こういうことも体験したほうが実体験として理解できると思います。