kintone café 札幌 vol.7 「kintoneエコシステム真時代の幕開け!...

54
kintoneエコシステム時代の幕開け! -kintoneエコシステムとAWSサーバレスアーキテクチャ- kintone Café 札幌 Vol.7 #kintonecafe Twitter: @yamaryu0508 FB: https://www.facebook.com/ryu.yamashita.3 2015年11月30日 株式会社ジョイゾー/kintoneエバンジェリスト/ kintone Café 運営事務局・東京支部 山下 竜

Upload: joyzo

Post on 09-Jan-2017

844 views

Category:

Software


1 download

TRANSCRIPT

kintoneエコシステム真時代の幕開け! -kintoneエコシステムとAWSサーバレスアーキテクチャ-

kintone Café 札幌 Vol.7

#kintonecafe

Twitter: @yamaryu0508 FB: https://www.facebook.com/ryu.yamashita.3

2015年11月30日 株式会社ジョイゾー/kintoneエバンジェリスト/ kintone Café 運営事務局・東京支部 山下 竜

自己紹介「山下 竜」

2

2013.3 IOTとグループウェア(デヂエ)の連携を試みてkintone に出会う2014.4 - kintoneエバンジェリストに

2014.11 kintone好きが高じて、界隈初のkintone転職2015.2 kintone Café 運営事務局開設、事務局メンバーに

2014.5 - 2014.10 kintone Café 福岡 Vol.1 - 3を主催

現在(kintone歴2年ちょっと、AWS歴数週間) 多分、“日本で唯一100%kintoneでご飯食べてる人”

株式会社ジョイゾー 山下 竜(33) 福岡県大牟田市出身

「ブルーウェーブ」という共通点

会社紹介「株式会社ジョイゾー」

3

会社名  株式会社ジョイゾー 所在地  東京都江東区木場3-5-5 設立  2010年12月20日(6期目) 社員数  8名(kintoneエバンジェリスト2名) 主な事業  kintone導入支援・カスタマイズ開発  サイボウズOffice/ガルーン構築支援 案件の9割以上がkintone

日本初定額制来店型システム開発「システム39」

4

kintoneエコシステムいよいよ準備が整ってきた

新しいSI・働き方

コミュニティ

ユーザー

コアサービス

グローバル

他サービス開発者/パートナー

グローバル

他サービス

コミュニティ

ユーザー

コアサービス

新しいSI・働き方 開発者/パートナー

kintoneエコシステムの本質

8

作って、使って、 コミュニケーションして、楽しい!

ユーザーが、 コミュニティ参加者が、 開発者/パートナーが、 サイボウズの人が、

kintoneエコシステムの本質

9

作って、使って、 コミュニケーションして、楽しい!

ユーザーが、 コミュニティ参加者が、 開発者/パートナーが、 サイボウズの人が、

kintone Caféも・・・

10

https://kintonecafe.com

kintone Caféを核とした kintoneエコシステムを醸成

今日は私なりの切り口で

kintoneエコシステム

12

「kintoneエコシステム」構築の3つのテクニカルキーワード

Lv.1 kintoneプラグイン

kintone連携サービス

サーバレスアーキテクチャ

Lv.2

Lv.3

帳票

複合機

経費精算

基幹

EAI

BI

kintoneエコシステム

13

「kintoneエコシステム」構築の3つのテクニカルキーワード

Lv.1 kintoneプラグイン

kintone連携サービス

サーバレスアーキテクチャ

Lv.2

Lv.3

帳票

複合機

経費精算

基幹

EAI

BI

今日はもちろんココ!

kintoneとAWSまず・・・

ナイスな相性だと 言われています!

AWS re:Invent 2015でも実感

15

kintoneコミュニティとAWSはベストパートナー? なにやってるんすか?サイボウズの面々をre:Inventで捕獲の巻 (http://ascii.jp/elem/000/001/075/1075010/)

• kintoneコミュニティはAWSと急接近している

• AWSとkintoneは補完関係があって線は太くなっている

• Amazon IoTボタンでkintoneにレコード登録

• ディスラプトの怖さも感じている

• ファンを熱狂させるようなイベントをやってみたい

kintoneとAWS

16

• アプリケーション寄りPaaS(SaaS)

• クライアントサイド/フロントエンド (UI/UX)

• 行動的/解釈の共有でアクションを起こし、コミュニケーションで業務を回す

• インフラ寄りPaas(IaaS、BaaS)

• サーバーサイド/バックエンド   (コマンド)

• 思考的/データを捌き事象を解釈する

APIで 結合・補完

良質のインプット

強力なデータ処理

kintoneエコシステム(王道っぽいAWSとkintoneの連携パターン)

17

Amazon DynamoDB Stream

Amazon SNS

Amazon S3

Amazon Kinesis

Amazon Lambda

Amazon EC2Lambda

イベントソース

REST API

kintone on cybozu.com

・レコード操作 ・ワークフロー操作 ・スペース操作 ・アプリ操作

REST API

kintone.proxy() & Amazon API Gateway 経由もやっぱりイイ!

REST API

プリミティブな連携 ・ホスティング ・バッチ処理

Amazon API Gateway

AWS IoT

kintone REST API一応おさらい

kintone3大要素とREST API

19

データベース プロセス管理 コミュニケーション

充実 強化中 弱いAPIからの操作も3大要素をバランスよく活用することが重要!

API操作で3大機能同士を密に結合できるようになると、更に便利になると期待しています!

kintone3大要素とREST API(ポータル画面)

20

スペースの 作成・メンバー更新等

アプリの作成・更新

(欲しい)

(参考:「cybozu.com developer network > kintone API」)

kintone3大要素とREST API(詳細画面)

21

レコードの 取得・登録・更新・削除

添付ファイルの アップロード・ダウンロード

レコードの ステータス変更

(欲しい)(参考:「cybozu.com developer network > kintone API」)

AWS Lambdaによる サーバレスアーキテクチャ

参考・引用「Serverless Architecture on AWS」 (http://www.slideshare.net/keisuke69/serverless-architecture-on-aws)

肝となる

サーバ(EC2)による処理系の例

23

データプッシュポーリング・ 待機・監視

データの発生状況を ポーリングチェック

処理(コード)の 実行

・ロードバランス ・レプリケーション ・オートスケール

データ

サーバレス(Lambda)による処理系の例

24

データ

トリガー

データの発生が トリガーとして渡る

・ロードバランス ・レプリケーション ・オートスケール

処理(コード)の 実行

• インフラ構築不要

• インフラの運用管理不要

• キャパシティ

• スケール

• デプロイ

• 障害耐性

• モニタリニグ

• ロギング

• セキュリティパッチ適用

サーバレス(Lambda)の恩恵

AWS Lambda

25

• Amazon S3 • Amazon Kinesis Streams • Amazon DynamoDB Streams • Amazon Cognito • Amazon SNS • Amazon SNS • Alexa AppKit • Amazon SWF • Amazon SES • Amazon CloudWatch Logs • Amazon Connected Home • Amazon IoT • (Schedule Event)

イベントソース

トリガー

Lambda関数の起動

Node.js Python Java

のコードを実行

最大5分間のタイムアウト

結局サーバレスとは?

26

EC2にあれこれ作って、処理しつつ、面倒見る

Lambdaでイベントに応じたアクションの コードを書くだけ!

kintoneエコシステム(王道っぽいAWSとkintoneの連携パターン)

27

Amazon DynamoDB Stream

Amazon SNS

Amazon S3

Amazon Kinesis

Amazon Lambda

Amazon EC2Lambda

イベントソース

REST API

kintone on cybozu.com

・レコード操作 ・ワークフロー操作 ・スペース操作 ・アプリ操作

REST API

kintone.proxy() & Amazon API Gateway 経由もやっぱりイイ!

REST API

プリミティブな連携 ・ホスティング ・バッチ処理

Amazon API Gateway

AWS IoT

kintone & AWSサーバレスアーキテクチャのベストプラクティス

その3

その2

kintoneとAWSサーバレスアーキテクチャのベストプラクティス

29

その1 AWS各サービスを用いたkintoneへのインプット

kintoneへのAPIアクセスのラッピング

kintoneからAWS各サービスへのアクセス

(従来IoT、kintone controller)

(Webhookからの連携、kintoneデータの柔軟な公開)

(kintoneデータを元にした機械学習)

その4 Schedule Eventによるkintoneバッチ処理

API

(定期的な集計、サービス間連携)

AWS各サービスを用いたkintoneへのインプット

30

・農業(圃場) ・見守り ・建設・工事現場 ・工場設備 ・エネルギー設備

現場

センサー

・温度 ・湿度 ・照度 ・加速度 ・騒音

センサー クラウド kintone

・通知 ・ワークフロー ・スレッド ・カスタマイズビュー

事象・データが発生する データを捌き、 事象を解釈する

解釈の共有でアクションを起こし、コミュニケーションで業務を回す

IoT

AWS各サービスを用いたkintoneへのインプット

31

kintone controller

REST API

AWS LambdaAWS IoTコントローラー

IoT連携

・レコード操作 ・ワークフロー操作 ・スペース操作 ・アプリ操作

①ボタンを押す ②IoT情報を受け取って、次のサービスに渡す

③受け取った情報をトリガーにkintoneにアクセス

kintoneへのAPIアクセスのラッピング

32

Webhook Event REST API

①Gitのプッシュ、 課題追加等の発生

②APIでパラメータを 渡す

③Eventでパラメータを受け取り、 APIでkintoneへ

Webhook(通知等)をAPI Gatewayを経由してLambdaで捌いた内容を kintoneに連携

Webhookからのkintoneアクセス

kintoneへのAPIアクセスのラッピング

33

①kintoneデータへのアクセスをAPI Gatewayで APIを再定義

②kintoneを意識することなく 有益な情報にアクセス

kintoneに蓄積されたデータをAPI Gatewayで再定義したAPIで柔軟に公開

kintoneのデータを再定義したAPIで公開

REST API Event REST APIRESTfull Service

kintoneからAWS各サービスへのアクセス

34

kintoneのデータを元にしたMachine Learning

AWS Lambda

kintone on cybozu.com

①kintoneデータで 予測モデル作成

Amazon API Gateway

Amazon Machine Learning

②kintoneにデータ登録 ③API(クエリ)で パラメータを渡す

④Eventでパラメータを受け取り、 APIでリアルタイム予測へ

REST API Event REST API

⑤予測実行後 予測値を返す

※初動のモデル作成は直接実施  (Lambda未経由)

⑥予測値をセット

kintone.proxy()

kintoneのデータ管理に予測機能を追加!

Schedule Eventによるkintoneバッチ処理

35

①Lambdaを定期起動

スケジュールイベント(定期実行)で、サービス間連携

Event REST API

連携 サービス

REST API ②connpassのデータを取得

③connpassのデータを kintoneへ

④kintoneに入ったデータを kViewerで公開

デモ!デモ!

kintone & Backlog 連携デモ1 Webhookからのkintoneインプット

Backlog→kintone連携

38

Webhook Event REST API

①課題追加 ②APIでパラメータを 渡す

③Eventでパラメータを受け取り、 APIでkintoneへ

Webhook(通知等)をAPI Gatewayを経由してLambdaで捌いた内容を kintoneに連携

39

kintone&Backlog連携

40

デモ!

kintone Switchデモ2 kintoneからAWSサービスのコントロール

kintone界隈のIoTの人らしいもの

42

「2015/5/22 kintone hive 開催報告」より

やっぱりやっときましょう!

まずはデモ!

kintoneから電源ON/OFF

44

kintoneからデバイスをコントロール

REST API Device Shadow

kintoneからデバイスをコントロール

今回は電化製品の電源ON/OFF

kintoneから電源ON/OFF

45

REST API Event REST API

Device Shadow

SOAP API

①スイッチON/OFF②API GatewayとLambdaを介して、 Device ShadowのREST APIをコール

③Device Shadowで Raspberry Piを制御

④Raspberry PiからLAN内の Wemoにアクセス

⑤家電の電源をON/OFF

その3

その2

(おさらい)kintoneとAWSサーバレスアーキテクチャのベストプラクティス

46

その1 AWS各サービスを用いたkintoneへのインプット

kintoneへのAPIアクセスのラッピング

kintoneからAWS各サービスへのアクセス

(従来IoT、kintone controller)

(Webhookからの連携、kintoneデータの柔軟な公開)

(kintoneデータを元にした機械学習、kintone Switch)

その4 Schedule Eventによるkintoneバッチ処理

API

(定期的な集計、サービス間連携)

kintoneエコシステム真時代の到来!なぜ今なのか?

改めて、

サーバーレスアーキテクチャが 登場したから?

キーワードですが、いち要素にすぎません

コミュニティ

ユーザー

コアサービス

グローバル

他サービス新しいSI・働き方 開発者/パートナー

もう一度見返してみましょう!

新しいSI・働き方

コミュニティ

ユーザー

コアサービス

グローバル

他サービス

2011

2006

2014

20142015

20132011

開発者/パートナー

それぞれの進化からピースが全て 実際に埋まったから^^

紙芝居でなく写真になり、 システムも今日実証しました!

kintoneエコシステムの本質

52

作って、使って、 コミュニケーションして、楽しい!

ユーザーが、 コミュニティ参加者が、 開発者/パートナーが、 サイボウズの人が、

kintone、楽しんでみませんか?