Upload
hideaki-tokida
View
96
Download
0
Embed Size (px)
Citation preview
APACHE OpenWhisk™Meetup vol #2
Tokida Hideaki (常⽥ 秀明)• Facebook: hideaki.tokida• Twitter: @tokida
ü 主な仕事• ⽇本情報通信株式会社/ お客様、⾃社における新しい技術や考え⽅の啓
蒙活動, Bluemix/WatsonAPIの開発⽀援, コミュニティ活動⽀援
ü 最近の活動
• OpenWhisk布教活動• Bluemix User Group コアメンバ(代表)• 雑誌、Webサイトの寄稿
OpenWhisk Meetup (1/23)OpenWhiskのハンズオンを開催します。これから始める⼈向けに⾊々何か作っていきたいです。
私の⽴場
• ”仕事でBluemixエバンジェリストしていますので好きなOpenWhisk広まってくれると仕事で使えて嬉しい“• OSSになったので何か貢献出来ないかな?
Meetupの指針
OpenWhiskの概要と最新動向
ハンズオンの実施
Meetupの指針
• APACHE OpenWhisk™が⾯⽩そうだったので皆で勉強していきたい。⾊々情報交換したい。
• 進め⽅としてまだまだユーザ数が少ないので順次やっていきたいと考えています。
1. OpenWhisk機能の勉強(セミナー⾵)2. ハンズオンの実施(資料の公開→Qittaなど)3. 利⽤ユースケース(”作ってみた”的な)4. 実案件ユースケース
Meetupの指針参加者への希望• Facebook/Twitterでの情報の拡散• #openwhisk のHashtagでつぶやく
• Blogなどのレポートを書く• フィードバックが得づらいのでどんな内容でもBlogなどで出してもら
ええるとコミュニティとしても⾊々良くなっていくと思います。• 中の⼈は https://medium.com/openwhisk で書いている
• 次回のMeetupで作ったものや考察などを発表する• 今回の参加者の⽅、次回是⾮簡単なものでも発表してください
5分で分るOpenWhisk背景
• APACHE Incubatorとして公開されているFunction as a Serviceに分類されるOpenSource
• サーバ部分だけでなくFaaS全体(ロードバランサーやDockerコンテナの仕組み諸々)が提供されているのが特徴
• マネージドサービスとして、IBM Bluemix 上で利⽤可能• Price:実⾏メモリサイズ*実⾏時間*処理回数• 実⾏環境:Dallas Region
http://incubator.apache.org/projects/openwhisk.html
http://openwhisk.org/
5分で分るOpenWhiskプログラミングモデル
イベント駆動
トリガー(実⾏条件)・REST・CLI・SDK
・イベントから実⾏
ルール(トリガーとアクションの紐付け)
アクション(実際の処理をになう、
Funcionsの実態)・JavaSceript
・Swift・Python・Java
・Dockerコンテナ
リザルト(結果は⾮同期で参照)
5分で分るOpenWhiskプログラミングモデル
Action
Action
ResultTrigger
Rule
Event
REST ful
Web Action
API
Trigger
Rule
Event
REST ful
Web Action
API
5分で分るOpenWhiskプログラミングモデル
Action
Action
Result
Actionは、JavaScript(NodeJS)、Swift、Python等の⾔語で記述することが出来る。Actionを連結して新しいActionを作る事が出来る⼊出⼒はJSONで⾏う
JSON
JSON
REST ful
Web Action
API
5分で分るOpenWhiskプログラミングモデル
Action
Action
ResultTrigger
Rule
Event
何らかの状況変化などが発⽣(例:CloudantNoSQにデータが挿⼊された)
Rule
TriggerEvent
REST ful
Web Action
API
5分で分るOpenWhiskプログラミングモデル
Action
Action
Result
様々な形式で呼び出す事が可能
JSON
JSON Http
JSON
IDPASS
Action
Action
Trigger
Rule
Event
REST ful
Web Action
API
5分で分るOpenWhiskプログラミングモデル
Result
全ての処理結果は、蓄積される⾮同期の処理として結果を参照可能。プログラム側から応答を待ちたい場合にはBlockingのオプションを追加する
JSON
JSON
JSON
JSON
Bluemix上では、結果を確認することが出来る「Monitor」WebUIが提供されている。
5分で分るOpenWhisk
• 実⾏環境として、HostingサービスのBluemixを利⽤するか個別にローカルのサーバへ導⼊するか• Bluemix上で利⽤できる機能はOpenSource版すべてではない• Bluemix上では各種GUIが⽤意されている• Bluemix上ではマニュアル等が⽇本語化されている
• 個別にローカルのサーバに導⼊する場合には試験的にはVagrantを利⽤して導⼊するかNative導⼊するかが選べる(いずれにしても実態はDockerで動作する)
5分で分るOpenWhiskSystem Architecture
Nginx(外部からのCall)
LB(CallをInvokerに伝える、内部ス
テータスはConsulで保持)
Activator(トリガのイベント
を処理)
Invoker(Actionを実⾏したりDockerコンテナプール
を管理したり)
管理API Call
Kafka+Zookeepr(全体のメッセージ
ングバス)
https://developer.ibm.com/openwhisk/2016/04/01/ibm-bluemix-openwhisk-whats-under-the-hood/
サーバ機能もすべてDockerで構成
Githubレポジトリの道標
• 各機能別に細分化してきている• openwhisk ・・・ 本体• openwhisk-catalog ・・・標準のカタログ部分(Package)• openwhisk-package-xxxx ・・追加のPackage(Kafkaなど)• apigqateway ・・・ API Gateway機能• openwhisk.github.io ・・・公式サイトのソースコード• openwhisk-external-resources ・・・外部のBlogやHowtoなどのリ
ンク集(探しものはこちらをまず⾒る)• openwhisk-xxxx ・・・その他のツール群
最近注⽬したプロジェクト(2017.3)• Serverless• Deployment framework である「Serverless Framework」にて
OpenWhiskのサポート• https://serverless.com/framework/docs/providers/openwhisk/
• WebAction• 新しく提案されているアクセス形式
• HTTPのHeaderを応答することが可能• 例えば、画像ファイルとして等としたり、エラーレスポンスを応答したり• API managementと競合している雰囲気もあるので今後どう統合されているか
が注⽬(Bluemix上でもすでに利⽤可能)
ワンポイント機能紹介Web Actions• これまでJSONのみ応答が出来る• これから• headers: a JSON object where the keys are header-names and
the values are string values for those headers (default is no headers).• code: a valid HTTP status code (default is 200 OK).• body: a string which is either plain text or a base64 encoded
string (for binary data).• 認証不要のURLが⽣成される
https://github.com/openwhisk/openwhisk/blob/master/docs/webactions.md
お知らせ• OpenWhisk Webサイトの多国籍語化
• 現在の英語版のみなので多国籍語化する• https://github.com/openwhisk/openwhisk.github.io/issues/18
2• 某⽒がするぞというのでIssueを⽴てた
1. 多国籍化したサイトを構築しPullRequestをする1. どうやってするのか⽅式を決める
• OpenWhisk go-cli の多国籍語化• すでにCodeレベルでは対応が出来ているが⽇本語等の各国語ランゲー
ジファイルが⽤意されていない• 某⽒がしたいと⾔っていた
1. 英語のファイルを翻訳2. コード中で⾔語ファイルがEn固定になっているので修正して
PullRequest
お知らせ
• 5/中旬 OpenWhisk Meetup vol#3 (19:00-21:00)• セミナー形式で開催予定• [1] OpenWhisk概要 (45min –)• [2] なにか題⽬(30min -) ※予定• [3] LT枠 5min x 5