Upload
hideaki-tokida
View
1.613
Download
1
Embed Size (px)
Citation preview
OpenWhisk概要http://niccloud.niandc.ne.jp/?p=1933
http://www.niandc.co.jp/sol/bluemix/2016031501.php
第2回「IBMWatson日本語版ハッカソン」 プレゼン賞受賞
4つ⽬の実⾏環境 ”OpenWhisk”
• 新しい4番目として登場しました。まだベータなので無料で利用することが出来ます。
• 利用申し込みボタンがあるので申請をすると1日程度で使えます。
OpenWhisk
• IBMから登場した、イベント駆動型アプリケーション開発基盤• 従来のIaaS、Runtimeより、より⼩さい単位で提供される開発基盤です。
ある処理 • VMやRuntimeもリソースを「考える」必要があるがOpenWhiskは基盤のリソースを考える必要が無い。今後「処理」単位で課金がされるはず。
すごく簡単にいえば、
• Bluemixユーザには馴染みのあるNode-RED。処理自体は簡単に作れても「実行するため」にはリソースの管理が必要。単純な処理でも1VM分の費用がかかる
すごく簡単にいえば、
• OpenWhiskではこのNode-REDでいう「フロー」の部分が登録される。この「単位」でアーキテクチャを考えていくことができる。そしてリソースは自動で捌いてくれる
まるでNode-RED (まだ出ていない)
http://venturebeat.com/2016/02/22/ibm-cloud-launches-swift-runtime-open-source-aws-lambda-competitor-github-enterprise-vmware-support/
• OpenWhiskもGUIエディタが登場してくる(予定)Node-REDなみに使い安い環境が出来ることが期待
OpenWhiskの特徴
• ⼩さい機能を処理する(語弊を恐れずに書けば、マイクロサービス的な)• Bluemixの基盤上でサービスとして提供されユーザは利⽤できる処
理性能を考慮しなくても良い(コンピュートノード的な指向からの脱却)• クラウドネイティブ時代のアプリケーション開発の⼿段• フロントエンドエンジニアが取り組みやすい⾔語の採⽤
(JavaScript/Swift)• OpenSource!(実際に動くコードがOSSで提供)
• 個人的に気になる「ポイント」
ニーズに合わせて選択コントール可能な範囲
従来からの互換性
Bluemixサービス連携
Agility速度
Standard標準
Portability可搬性
Security安全
Performance性能
Reliability信頼
HW OS BinLib
Code
SoftLayer ✓ ✓ ✓ ✓ ◎ N/A ☓ ◎ ☓ ◎ ◎ ◎
OpenStack VM ✓ ✓ ✓ ◎ ☓ △ ◯ △ ◯ ◯ ◯
Docker ✓ ✓ ◯ ◯ ◯ △ ◎ △ ◎ △
Cloud Foundry ✓ △ ◎ ◎ △ ◯ △ △ △
OpenWhisk ✓ ☓ △ ◎ ☓ ☓ △ △ △
• 従来の表では「OpenWhisk」の良さも悪さも表現できていない所が新しいサービスを感じます。
サービスアーキテクチャ• 主な使い方は2つ• ・イベント駆動型• ・バックエンドサービス型
サービスアーキテクチャ(イベント駆動)
Action
様々な処理を記述
処理は複数をつなぎあわせて動かすことが出
来る
Feed
イベント駆動を実現する機能
Trigger
Feedに条件を設定したもの
Rule TriggerとActionを結びつけたもの
サービスアーキテクチャ(イベント駆動)
Action
様々な処理を記述
処理は複数をつなぎあわせて動かすことが出
来る
Feed
イベント駆動を実現する機能
Trigger
Feedに条件を設定したもの
Rule TriggerとActionを結びつけたもの
時間起動が出来るFeed 時間を設定 業務開始の連絡のメッ
セージの通知
社員へメッセージが通知
サービスアーキテクチャ(BaaS)
Action
様々な処理を記述
処理は複数をつなぎあわせて動かすことが出
来る
iOSSDKRESTful
クライアント側のコードからActionを実行可能
結果の受信
Action
Cloudantからデータを取得しAlchemyAPIへ分析し結果をJasonで返す
iOSSDKRESTful
写真をアップし処理を実行
Cloudant写真をアップ
処理の実行Invoke
AlchemyAPI
分析結果を描画フロントエンド
(iPhone)バックエンド(OpenWhisk)
APIs(Bluemix)
• 公開されているサンプルアプリケーションの動作
サービスアーキテクチャ
利⽤可能な⾔語環境
• フロントエンジニアで利⽤されている「JavaScript」「Swift」を採⽤• フロントエンジニアが、アプリケーション開発をしていくうえでクライアントサイドがバックエンドの側の処理をしたいと考えた時にインフラの知識や新たな⾔語の習得が不要なため勉強コストが低くバックエンド側の処理を構築することが可能。
• 言語については今度も増えていくる予定。Github上のPullRequestには “Java”が登場している。
3つの実⾏⾔語
• JavaScript (nodejs base)• みんな⼤好きなNodeJSですね
• Swift (kitura base?)• 同時に発表されたKituraベースなのかなと思いますが、Swift。コンパイル
不要でコードをアップすれば動作します。
• Docker• Dockerコンテナを実⾏することが可能、ちょっと⾯⽩い。
• バックエンドで処理が出来る環境。利用者は「Code」のみを登録するためどのライブラリが利用可能有るかは重要。
• 多くの情報はGithubに出ています。
3つの呼び出し(Mobile Back end)
• RESTful API• ⼀般的なREST同様に呼び出せます
• CLI • CFツールと合わせてwskが提供されます。管理的な事は全てCLIで実⾏する
ことになります。
• iOS SDK• iOSネイティブにライブラリが提供されますので従来のApplicationに簡単
に組み込むことが出来ます。
• イベント駆動ではなく、MBaaSとして利用することが出来ることもOpenWhiskの特徴です。RESTfulに対応しており応用の幅は広いです。
(参考)JavaScript
• Nodejs 0.12.9 base• ライブラリとして登録されている項⽬(OSS版)
OpenSource
• クラウドサービスベンダーが発表した新規サービスにおいてバックエンド側の仕組みがOpenSourceで登場• コア部分だけでなく開発環境として実⾏可能なVagrantパッケージやネイティブ実⾏部分など実際に動かせるコードとして提供されている。
• 実際の構築⼿順https://github.com/openwhisk
http://niccloud.niandc.ne.jp/?p=1933
OSS版でみる中の仕組み
registrator
kafka
zookeper
consul
Nginx
dispatcher
loadbalancer
controller
nodejsaction
swiftaction
Docker Container
• 4Core/4GMemoryほどの環境であれば実行することが出来ます。Github上で開発が進められており今後が期待されます。
• 全体は、Scalaで記述されており基盤はDockerが採用されていることなどがわかります。サービスの裏側がみれて面白いです。
まずは使ってみましょう!
• これからクラウドネイティブなアプリケーション開発が必要になる時にOpenWhiskが標準的なツールになるかもしれません。• 是⾮⾊々触って楽しんでいきましょう!!• 帰ったら「俺(私)のOpenWhiskサーバ」を作って下さい。
• Bluemixを利用するとOpenWhiskを簡単に試せます。今はまだBeta版なので今のうちにどんどん利用しましょう
参考資料
• OpenWhisk概要• http://niccloud.niandc.ne.jp/?p=1933
• Check! Bluemix OpenWhisk の開発環境を Vagrant で作ってみる• http://qiita.com/dz_/items/cc872fe6786b7988b6b8
• IBM Bluemix OpenWhisk REST API• https://amanoblog.wordpress.com/2016/03/03/ibm-bluemix-openwhisk-rest-api/
• Getting started with OpenWhisk• https://github.com/openwhisk/openwhisk/tree/master/docs
• OpenWhisk: 本来のオープンなサーバレス時代を拓く世界初のサービス?• http://apiguy.tokyo/2016/03/02/openwhisk-open-servless-architecture-japanese/
• IBMもAWS Lambda対抗のサーバレスアーキテクチャ提供へ。イベントドリブンでNode.jsとSwiftに対応した「OpenWhisk」をBluemixで提供。コードはオープンソースに• http://www.publickey1.jp/blog/16/openwhisk_bluemix.html
NI+Cは今までにないモノでも、お客様のおもひ、私たちのおもひをITでカタチにします
[email protected]/Bluemix の導⼊のご相談から構築、運⽤のお⾒積りは