NEW LAUNCH! Introducing AWS Greengrass を聞いてきたよ <re:Invent 2016>

よかった、またメソられてない模様！ (12/1現在)

日時・場所
--------

11/30(Day1) 12:30- Motnetgo D/Mirage
Jon Turow / Prinsipal Product Manager AWS IoT Device Services

概要
----
re:Invent 2016 Day 1 Keynoteで発表された AWS Greengrass
例のごとく、NEW LAUNCH!としてセッションが増えました

["Run IoT applications seamlessly across the AWS cloud and local devices using AWS Lambda and AWS IoT."](https://aws.amazon.com/jp/greengrass/)と紹介されている AWS Greengrass セッションのレポートです

概ねの話はWebからでもわかると思うので、できること／できないこと・コーディング環境・デプロイなどの運用面を確認していきます

総括
----
* AWS GreengrassはAWS IoTとAWS Lambdaの実行環境を搭載した、インストール型ソフトウェア
* ゲートウェイやデバイスのいわばファームウェアとして機能するもので、オフラインファースト＆エッジコンピューティングを実現
* サポートしていない事
    * センサー等とのI/Oは別途コードを書く必要あり。あくまでも「エンベデッド向け言語でクラウドとか使うのしんどいしょ？そこは何とかするよ」というもの

※弊社的にはPD Emitter+Node-RED(からGUIを差っ引いた)AWS特化版

セッション内容
------------

※実際のセッションでの紹介順序とは前後を入れ替えています

### "AWS onto Your devices!" (AWSをあなたのデバイスに) ###

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLY0sxWXR3VmJWVjA)


### AWSではIoTのシステム構成を３つの柱に分類 ###

* Things (センサーやデバイス等)
* Cloud (いわゆるデータ配信)
* Intelligence (ビジュアライズやML等)

そのうちAWS Greengrasは、従来AWS IoTとその他AWSサービスを使ったパターンをローカルデバイス無いに再現する

※上記の外側の枠はデバイス。その中にAWS IoTのRule engineやAWS Lambdaが入ってます

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLV3B3SHZMTzc0cDQ)


### AWS Greengrassが解決すること ###

* 即応性(UX)向上 (ローカル処理可能だから)
* オフラインファースト (不安定な通信環境下でも無問題)
* アプリ開発をより簡単に (AWS Lambda(Python)で書けるから)

これらにより、IoTアプリケーション開発のスピード向上とコスト削減を目的とする

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLVmdaX19uSlI4aEU)

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLWHotYWdiS3Bnc3c)

### すでにLaunchパートナーがいる ###

注目はAWS Snowballも "Device" としてAWS Greengrassのテクノロジが入っている

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLQ0RucEthZHc3aTQ)

### 価格はActiveデバイス数 ###

3デバイスまではフリー
（アクティブの定義、未確認）

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLTVNTdmdReDBDRE0)

### AWS Greengrassの構成要素

* AWS Greengrass Core (GGC)
* IoT Device SDK (AWS IoT Device SDKとの違い、未確認)

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLYnFEYkRKY2xXVnM)

### AWS Greengrass(GG) Coreの動作環境 ###

Single core, 1GHz / 128MB
ターゲットOSはUbuntu or Amazon Linux
※とはいえ、Amazon Linuxをrawに動かす人っているの？

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLd0FYbXhmUUhqYUU)

### サポート言語はPython 2.7 ###

※Python 2.7って書いてあるスライドはありませんでした。が、Jonはそう言ってた

AWS Lambdaのfunctionを書けば、localにdeployできる(Local Lambda) (方法は未確認)

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLM25QSVRWT2ozdDA)

Local Lambdaのユースケースはコマンドのコントロール、オフライン時の処理、クラウドとの通信前の処理といった、いわゆるエッジコンピューティングで考えられている事そのもの

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLSGpaWlJXbjl2eTg)

AWS GGCにはMQTT brokerも搭載
Local Lambdaとの通信に使う (のだと思います) ※ここは推測が入っています

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLRnlZV3ZWaVA3Zlk)

### IoT Device SDK ###

先にも書いた通り、AWS IoT Device SDKとの違いは未確認

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLb3Y2QXRzVUtFZzA)

### Technicolor社による AWS Greengrass 採用事例 ###

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLZW8xSlZDY3F5NDA)

得られた価値はAWS Greengrassが狙ったとおり（と、まぁここはヨイショが入ってました)

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLZWRQWTN4VXBtcUk)

AWS Greengrassの必要性は、デバイス(ゲートウェイ)を自社だけでなくサードパーティーにも解放できることにあると考えており、すでに進めている
※スライドの左下には「3rd-party Services」って書いてあり、そこで開発されたAWS Lambda functionが "Gateway" にdeployされており、結果としてスライド右下の3rd-party deviceをコントロールしている

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLOXJnQ1Z0TG5BLW8)

### まとめのスライド ###

![](http://drive.google.com/uc?export=view&id=0B8oVjSSLpXBLcmtWZ1FGaHhtMXM)

所感
----

AWS Greengrassの利点はもちろん開発環境にありますが、ビジネスから注目すべき点は **ゲートウェイのプラットフォーム化 (= 3rd-party参加可能)** にあると考えています

Limited previewとのことですが、早く使ってみたいですねー

あとがき
-------

ねむい。