デモから見るopenwhisk - docker action -

19
OpenSourceのFaaSプラットフォーム デモから⾒るOpenWhisk -Docker Action - Japan SoftLayer User Group - Bluemix User Group - Nippon Information and Communcation Corp.

Upload: hideaki-tokida

Post on 08-Jan-2017

621 views

Category:

Technology


1 download

TRANSCRIPT

OpenSourceのFaaSプラットフォーム

デモから⾒るOpenWhisk-Docker Action- Japan SoftLayer User Group- Bluemix User Group - Nippon Information and Communcation Corp.

⾃⼰紹介

• 常⽥ 秀明 (Tokida Hideaki) • Facebook: hideaki.tokida• Twitter: @tokida

• 主な仕事• ⽇本情報通信株式会社• お客様、⾃社における新しい技術や考え⽅の啓蒙活動, Bluemix/WatsonAPI

の開発⽀援, コミュニティ活動⽀援

• 最近の活動• ⽇本SoftLayerユーザ会コアメンバ、⽇本Bluemixユーザ会コアメンバ• 雑誌、Webサイトの寄稿

SoftwareDesign2016-11月号(10/18発売)新人のときに知っておきたかった「クラウドコンピューティングのしくみ」(AWS・Azure・SoftLayer・SalesForce・さくらインターネット)

1. Docker Imageだって動く!

2. 勢いで作ったAdvent Calendar 埋まるといいな

いいたいこと

What's OpenWhisk ?

• OpenSource の Function as a Service プラットフォーム• 俺のサーバレスが作れる! on AWS , Azure, GCP etc. • Bluemix上でサービス提供実施中(β) ← 今は無料

• Function内で記述出来る開発⾔語を複数サポート• Java (OSS版)• Python• JavaScript, JavaScript6• Swift, Swift3• Docker

A Feature

【デモ】

動画(mp4) をアップロードすると、画像に分解して画像に含まれている情報でタグを付けるhttps://github.com/IBM-Bluemix/openwhisk-darkvisionapp

成分

View Database(NoSQL)

Watson Visual Recognition

OpenWhisk処理の流れ

ListenerA

画像解析A

Webコンテンツ(HTTPサーバ)

REST API 処理呼び出し

Nativeアプリ(iOS)

HTTP経由

SDK経由

動画分解A

• JSON型 NoSQL Database• レコードに画像等のObjectを添付可能• JavaScript⾔語によるMapReduce処理

変更が発⽣した際に実⾏(Invoke)

動画がアップされた場合

画像がアップされた場合

画像

に分

解し

て追

画像解析⽤API呼び出し(WATSON)

特徴: Docker-Action

• Function(Actioin)を、Docker Imageで定義することが可能• Actionを登録する際にDocker Repositoryを指定• ちょっと単純にできないものや、ライブラリなど使うものなども柔軟にサーバレス

の中に組み込めます。

• Dockerでhttpアプリを作成し以下のエンドポイントを持つこと• /init : 初期化(200を返しておく)• /run : 処理の実体は run が呼出された箇所に記載• POST : JSONオブジェクトがPostされてくる• 戻り : 結果をJSONで戻す

おしらせ

http://qiita.com/advent-calendar/2016/openwhisk

vision

vision/extractorA

vision/analysisA

• cloudantUrl• watsonApiKey• cloudantDbName

/whisk.system/cloudant

• Username• Password• host

vision-cloudBIND

vision-cludant-triggerT

Feed vision-cloud/Changes

analysis.js

Docker/extractor

vision-cloudant-changelistenerA changelistener.js

vision-ruleR

vision-cloudant-changelistenerA changelistener.js

- CloudantにデータがInsertされた際に処理を実施 doc.typeの内容から起動する処理を変化させる。-

vision/extractorAdoc.type = video invoke{doc}

Video.mp4

vision/analysisAdoc.type = images invoke{doc}

image.jpg

• 引数で指定されているURLの画像をWatson Visual Recognition を⽤いて Keyword (Classify)と顔(Face ditection)を利⽤してメタ情報を得る。