openwhisk meetup vol1
TRANSCRIPT
Tokida Hideaki (常⽥ 秀明)• Facebook: hideaki.tokida• Twitter: @tokida
ü 主な仕事• ⽇本情報通信株式会社/ お客様、⾃社における新しい技術や考え⽅の啓
蒙活動, Bluemix/WatsonAPIの開発⽀援, コミュニティ活動⽀援
ü 最近の活動
• OpenWhisk布教活動• Bluemix User Group コアメンバ(代表)• 雑誌、Webサイトの寄稿
OpenWhisk Meetup (1/23)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
• 実⾏環境として、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 ・・・その他のツール群
5分で分るOpenWhiskプログラミングモデル
イベント駆動
トリガー(実⾏条件)・REST・CLI・SDK
・イベントから実⾏
ルール(トリガーとアクションの紐付け)
アクション(実際の処理をになう、
Funcionsの実態)・JavaSceript
・Swift・Python・Java
・Dockerコンテナ
リザルト(結果は⾮同期で参照)
最近注⽬したプロジェクト
• apigateway• すでにBluemixでも利⽤可能• ActionのFaaS利⽤のためには必要な機能
• openwhisk-debugger• nodejs/pythonを利⽤している場合には便利に利⽤可能
• openwhisk-webdeploy / serverless-openwhisk• OpenWhiskの環境を⼀発でデプロイするためのラッパー
ワンポイント機能紹介API Gateway (1)• 従来(今後も利⽤可能)• 作成したActionにREST APIのURLが⾃動的に割り当てられていました
(GETメソッドのみサポート)。• 固定のTokenキーを利⽤して利⽤
• これから• もっとよりREST APIのように使えるようにActionのマッピングが可能
になりました。• アクションを任意の名前空間のメソッドに割り振ることが出来るよう
になりました。https://github.com/openwhisk/openwhisk/blob/master/docs/apigateway.md
/atg_tokida/getBooks
ワンポイント機能紹介API Gateway (2)
/books/my
GET
POST
[Action]
/atg_tokida/books/create-document[Action]
任意のパスへ、既存のActionをマッピングして利⽤することが可能になりました(GET/POST/PUT/DELETE)更に、APIを管理したい場合にはフロントに”API Connect“などを利⽤します。
https://github.com/openwhisk/openwhisk/blob/master/docs/apigateway.md
1分で分るOpenWhiskUpdate (2017.1)
• 公式サイトがOpen http://openwhisk.org
• イベント駆動側のとして新しくMessaging Hub (Kafka)がサポート (OSS)
ハンズオン
• 資料• ハンズオンインデックス
• http://bit.ly/2kgKFtC
• ハンズオンで学習できることは以下の内容となります。• Actionの作成• Packageの利⽤(Bindの概念)• Actionを結合するSequenceの利⽤• TriggerとRuleで⾃動制御(イベント駆動)
お知らせしばらく隔⽉くらいで、ハンズオンやミートアップ的なものをやっていこうと思います。情報を発信しているのでフォローお願いします。
- Facebook Group:
私のSNSアカウント
- Facebook : hideaki.tokida- Twitter : @tokida- Hash Tag: #openwhisk