デモから見るopenwhisk - docker action -
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・さくらインターネット)
• 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
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で戻す
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)を利⽤してメタ情報を得る。