SlideShare a Scribd company logo
OpenWhisk
Serverless への期待
IBM Cloud Community 勉強会 - サーバレス特集 OpenWhisk -
資料は後⽇公開(Slideshare)いたします。
本資料内でのスペック・サービス内容の表記については2016/10/3現在の資料を参
考にしております。内容について誤りがないように努めておりますが実際のご利⽤
の際にはご確認の上実施下さい。
自己紹介
š 常田 秀明 (Tokida Hideaki)
š Facebook: hideaki.tokida
š Twitter: @tokida
š 主な仕事
š 所属)日本情報通信株式会社
š お客様、社内における新しい技術や考え方の啓
蒙活動, Bluemix/WatsonAPIのAPL開発支援
š 最近の活動
š 日本SoftLayerユーザ会コアメンバ
š 日本Bluemixユーザ会コアメンバ
š 雑誌、Webサイトの寄稿
Community 活動
š SoftLayer , Bluemix 関連の執筆やセミナーなどを実施しています
š 宣伝
š Software Design 2016-11月号(10/18発売)
š 新人のときに知っておきたかった「クラウドコンピューティングのしくみ」(AWS・Azure・SoftLayer・
SalesForce・さくらインターネット)
最近はOpenWhisk!!
š OpenWhisk 概要 -日本情報通信 クラウドインフォメーションサイト
š http://niccloud.niandc.ne.jp/?p=1933
š オープンソースのサーバレス実行環境「OpenWhisk」の概要とアプリケーションの作成 -
CodeZine
š http://codezine.jp/article/detail/9623
š About OpenWhisk / 2回ほど発表した資料
š http://www.slideshare.net/hideakitokida/about-openwhisk
š http://slides.com/hideakitokida/openwisk#
Agenda
š 今日勉強して欲しいこと
š 話すこと、離さないこと
š 世の中で行われているサーバレスの仕組み
š システムインテグレータとしての期待
š Serverless on Bluemix - 今できるサーバレス環境の作り方
今日勉強してほしい事
š 今日の「IBM Cloud Commuity」に来て頂いている方々の技術的なバックグラウンドとしてAWS
のLambdaベースのサーバレスを知らない人(≒サーバレスをあまり知らない)を想定して書いてい
ます。
š そんな人に、なぜ今「サーバレス」なのか、そしてIBMのOpenWhiskはどんな位置付けのサービ
ス(ソフトウェア)であるのかを理解してもらう。
話すこと、話さないこと
š 話すこと
1. サーバレスの現状
2. サーバレスはどういうものなのか
š 話さないこと
1. Microserversの話
2. 今すぐサーバレスで儲ける方法
3. OpenWhiskの技術的な深い話・仕組み
世の中のサーバレス事情
世界的にイベントも開催中 ServerlessConf
Serverlessって?
š 必要なシステムを構成する上で、「いわゆる仮想サーバ」を利用しないアーキテクチャ
š 仮想サーバが担っていた機能は、SaaSを上手に使って目的を果たす。
š 仮想サーバで実施していいた「ユーザ処理」が有る場合には、Function as a Serviceを利用して
「処理」だけを登録して実行するサービスを活用してシステムを作る。
AWS Lambda ≒ Serverlessと言っても言い
過ぎではない
š 主に、AWSのLambdaベースのサーバレスの仕組みを「サーバレス」と呼ぶことが多い
š 「サーバレス」という言葉自体は、ベンダーにとらわれるものではないが現在最も実装されて動いている
のはAWS Lambdaが主流であることは疑いの余地はない
š Serverlessを実現するためのノウハウが溜まってきている
š クラウドプロバイダーの各社は、相次いで「サーバレス」の仕組みを発表している
š Azure Functions , Google Functions , OpenWhisk
従来のサーバ利用からサーバレス環境の比較
EC2の処理をAWS Lambdaで制御する
http://www.slideshare.net/mitocgroup/microservices-architecture-for-web-applications-using-aws-lambda-and-more
従来のサーバ利用からサーバレス環境の比較
EC2の処理を各種サービスで制御する
http://www.slideshare.net/mitocgroup/microservices-architecture-for-web-applications-using-aws-lambda-and-more
ServerlessのFrameworkも登場
システムからみる
Compute と Service の密接続具合
Bearmetal
Server Virtual
Server
Docker
PaaS
Serverless
Service
Service
Docker
(Middle
Ware)
VM
(Middle
Ware)
BM
(Middle
Ware)
専用プロトコル 専用プロトコル 専用プロトコル REST(API) ServiceのEvent連携
システムからみる
Compute と Service の密接続具合
š 各サービス群の状態の変化を継起にしてServerlessのFunctionを起動
する等サービス群と深く密接に繋がる
š 見方によってはある種「Service」自体を拡張しているかのように
作っていく
š またServerlessの仕組みとして、シンプルな単機能を実装する場合に
はマイクロサービスとしてServerlessを構築していく事が望ましい。
Serverless
Service
ServiceのEvent連携
システムインテグレータとしての期待
コントール可能な範囲
Cost
費用
Operatio
n
運用
従来か
らの互
換性
Bluemix
サービ
ス連携
Agility
速度
Standar
d
標準
Portabili
ty
可搬性
Security
安全
Perform
ance
性能
Reliabili
ty
信頼
HW OS
Bin
Lib
Code
SoftLayer ✓ ✓ ✓ ✓ ☓ ☓ ◎ N/A ☓ ◎ ☓ ◎ ◎ ◎
OpenStack
VM
✓ ✓ ✓ △ △ ◎ ☓ △ ◯ △ ◯ ◯ ◯
Docker ✓ ✓ ◯ ◯ ◯ ◯ ◯ △ ◎ △ ◎ △
Cloud
Foundry
(✓) ✓ ◯ ◯ △ ◎ ◎ △ ◯ △ △ △
OpenWhisk ✓ ◎ ◎ ☓ △ ◎ ☓ ◯ △ △ △
IBM Cloud サービスに於ける serverless の
位置付け
サーバレスを実現する世界
š 管理不要
š 設定不要、管理不要、高い可用性
š 生産性
š コードに集中、素早い導入、市場投入の時間短縮
š 拡張性
š 自動化、スケールアップ・ダウン
Serverlessにおける責任分界点
データ
コード
ランタイム
ミドルウェア
OS
仮想化
サーバー
ストレージ
ネットワーキング
IaaS
PaaS
SaaS/Serverless
データセンター/ネッ
トワーク事業者
ハードウェア機器・イ
ンフラ構築SIer
アプリケーション
ディベロッパー
クラウド事業者
インフラ構築SIer
アプリケーション
ディベロッパー
クラウド事業者
アプリケーション
ディベロッパー
オンプレミスIaaSPaaS
クラウド事業者
アプリケーション
ディベロッパー
Serverless
SI/システム運用から見て
š 構築する範囲が圧倒的に少ない
š 場合によっては、None-Codeで設定のみで完結する
š マネージドサービスの範囲が飛躍的に上がり運用自体が不要
š サービスの異常検知等をモニタリングしておく程度となり、急なスパイクにも自動的に対応
š コストの軽減
š 適所で利用することにより既存クラウドアーキテクチャに比べて飛躍的に軽減する可能性がある
Serverlessによる変化
š 強制的に、ステートレスで拡張性の有る設計が必須
š これまで、”クラウドネイティブ”と言ってはいたもの結局従来どおりのアーキテクチャになっているケースな
どが多かったと思いますが変えざるを得ない
š マイクロサービスアーキテクチャ化の促進
š AWS LambdaやOpenWhiskなどは全てFunction as a Serv iceをであり、小さい作業を実施することに向いて
いる傾向がある。その為必然的に機能別に分解したマイクロサービスの形態を取る
š 変化に強いシステムを作ることが出来る
š 試験手法の変化が必要
š 結合試験などを事前にすることが難しい、その一方でマイクロサービス化することにより変更による影響範囲を
小さくすることが出来る。
š 障害発生時のSPOFを考慮
š 特定のサービス(Function)が停止することで全体への提供がない様に設計が必要。常にリカバリープランをア
プリケーションのSLA等を基準に検討する。
適材適所
š Serverlessの仕組みは優れていますがすべてのことが出来るわけではありません。銀の弾丸は無い
よ。
š 適材適所で有効な部分に使っていきましょう。
OpenWhisk
OpenWhiskとは
š OpenWhiskは、OSSで提供されるサーバサイドアプリケーションプラットフォームです。
š つまり、Bluemix上だけでなくオンプレミスや他のクラウドの上で動かすこともが可能です。
š インフラストラクチャを選ばないため非常に可搬性に優れています、このことは弾力性の高いシ
ステムを作ることが出来ます。
š またCoreな技術は非常によく使われているOpenSourceが利用されています。
OpenWhiskの特徴
š OpenWhsikは、2つの側面を持っています。
š Backend as a Services
š Function as a Services
Backend as a Serviceとしての側面
š iOSのモバイルアプリケーションに向けてSDKが公開されています。
š モバイルの世界ではクライアント側で多くの処理を行いサービスと連携して動作する 2-way アー
キテクチャが出てきています。(先日のserverless confでも出ていましたが、クライアント10万
台x100台のサーバではクライアント側がパワーがありすぎる)
クライアント側で処理をする
Function as a Serviceとしての側面
š 単機能なサービスを複数作り、それらをAPIで接続して利用する事を想定します。
š 各機能はストレートレスな処理を行います。
š サービスに必要なリソースについて利用者は特に意識すること無くスケールアウトが行なえます。
š OpenWhiskでは、標準でREST APIのエンドポイントURLが付与されます。
Serverlessアーキテクチャで考える
š 従来からのシステム構築(とくにオンプレミス環境を含む)はまだまだ存在します。
š そういった中でも大切なことは「クラウドで産まれた技術」をオンプレミス環境でも活用してい
くこと、だと思います。
š OpenWhiskはオンプレミスでも強調するため既存のシステムの中にFunction as a Serv iceを組
み込んでいくことが可能です。
š サーバレスを前提するということは、ステートレスなプログラムが必要です。またAPIで連携する
ことも時には必要になります。OpenWhiskだけではAPIの制御は不十分になるため必要に応じて
API Connect + OpenWhiskの構成を取る必要があります。
マルチプラットフォーム
š OpenWhiskはOSSで提供されているため様々なプラットフォームで実行が可能です。
š 完全にマネージドサービスで提供されるBluemix上でも、AWSやAzure上でも同じ仕組みを実行す
ることが可能です(ポータビリティが必要なシステムでもサーバレスアーキテクチャでシステム
を作ることが可能です)
オンプレミス 各種クラウド
フルマネージド
サービス
(Bluemix)
1st Stepのアイディア
従来通りのサーバ上でのアプリケーション
処理1
処理2
処理3
処理4
小さい処理を取り出してOpenWhsik上に実装してゆく
REST
システムからみる
Compute と Service の密接続具合
SoftLayer
OpenStack
VM
Docker
CloudFoundry
OpenWhisk
Service
Service
Docker
(Middle
Ware)
VM
(Middle
Ware)
BM
(Middle
Ware)
専用プロトコル 専用プロトコル 専用プロトコル REST(API) ServiceのEvent連携
連携サービスが不十分
IBM Cloud でのserverless の課題
š 現在の IBM Cloud ( SoftLayer , Bluemix )の課題
š OpenWhiskと密接続を行う事ができるサービスが少なすぎる
š つまり「サービス」→「OpenWhisk」→「サービス」→「OpenWhisk」の流れが簡単に作れない。
service Service
Feed: GithubWebHook
Githubでどのような時に
WebHookを起動するかは
Githubでの設定で行う
WebHookを受信するような
Feedを作ることで自動処理を
実現することが可能
https://github.com/openwhisk/openwhisk-catalog/blob/master/packages/github/webhook.js
汎用的なサービスとの連携方法
まずはWebHook-Feedから
Serverless on Bluemix
š Bluemix で利用できる(と思う)サービス群の紹介
š Serverlessな仕組みを作るとすると主にはFunctionを記述する
š ストレージ部分は既存のサービスを利用する
š 可能な限り利用できる機能は既存のサービスを利用し最低限のFunctionのみを記述する
例えば、このようなRESTで制御出来るAPIと連携する
動きを見てみよう(1)
IBM Demo Application の仕組み
Data upload Invoke <image flames>
Invoke
分析結果
(1)Movieをフレーム画像に分解
(2) フレーム画像を分析し結果をCloudantへ格納
https://github.com/IBM-Bluemix/openwhisk-darkvisionapp
http://www.slideshare.net/ServerlessConf/frederic-lavigne-and-stephen-fink-
serverless-video-processing-with-ibm-bluemix-openwhisk?qid=ac9c2114-7ef7-
48af-a907-50788a540b76&v=&b=&from_search=10
動きを見てみよう(2)
Watson IoTのイベントを受信して動かす
wsk package get --summary /james.thomas@uk.ibm.com_dev/mqttpackage
/james.thomas@uk.ibm.com_dev/mqtt
Feed:mqttMQTT
IoT Platformにてデータを受信
しMQTTで配信する
WebHookを受信するような
Feedを作ることで自動処理を
実現することが可能
Provider
MQTT用の受信・Feed配信を
行うためのプロバイダーを
Dockerコンテナ上で構成
https://github.com/jthomas/openwhisk_mqtt_feed
まとめ
š クラウドサービスの世界では、Function as a Service (Serverless )は選択しの1つとして確実に存
在しています。
š 適切に構築することで自身のアプリケーションをまるでフルマネージドのサービスのように運用
することが出来ます。
š OpenWhiskを利用することで、オンプレミスでもクラウドでも同じアーキテクチャでサーバレス
な環境を構築することが出来ます。
š まずは、身近な1つの機能から移行しては如何でしょうか
Photo by Umi-no-Kyoto Organization Committee is licensed under CC BY 4.0 International

More Related Content

PDF
About OpenWhisk
PDF
デモから見るOpenWhisk - Docker Action -
PDF
Swaggerで始めるモデルファーストなAPI開発
PPTX
ニフティクラウドC4SA_ご紹介資料ver.1.1
PPTX
オレ流クラウドデザイン
PDF
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
PDF
富士通におけるCloud Foundry活用の取り組み
PPTX
ニフティクラウドにZabbixをインストールしてみた
About OpenWhisk
デモから見るOpenWhisk - Docker Action -
Swaggerで始めるモデルファーストなAPI開発
ニフティクラウドC4SA_ご紹介資料ver.1.1
オレ流クラウドデザイン
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
富士通におけるCloud Foundry活用の取り組み
ニフティクラウドにZabbixをインストールしてみた

What's hot (19)

PDF
20190427 global azurebootcamp
PPTX
JAWS DAYS 2015 「DevOpsが普及した今だからこそ 考える DevOpsの次の姿」
PDF
Clustrixによる社内データベースクラウド環境の提供
PDF
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
PDF
Mobile cloudnight 2015/11/11
PDF
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
PDF
The Twelve Factorで実践するSaaS開発
PDF
AWSによるサーバーレスアーキテクチャ
PDF
HyClops for Zabbix紹介資料
PDF
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
PDF
DevLove Kansai AWS
PDF
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
PDF
1_各Atlassian製品の紹介
PDF
【SoftLayer事例】V-CUBE ミーティングを支えるSoftLayer
PDF
Yahoo! JAPANのCloud Foundry導入状況
PPTX
Azure(クラウド)を使った堅牢なシステムを考える
PDF
JAWSUG初心者支部 AWSの勉強の仕方
PDF
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
PDF
2016年冬 IBMクラウド最新動向
20190427 global azurebootcamp
JAWS DAYS 2015 「DevOpsが普及した今だからこそ 考える DevOpsの次の姿」
Clustrixによる社内データベースクラウド環境の提供
2021/02/19 Alterbooth 多忙なアーキテクトのためのクラウド導入フレームワーク (CAF) ダイジェスト
Mobile cloudnight 2015/11/11
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
The Twelve Factorで実践するSaaS開発
AWSによるサーバーレスアーキテクチャ
HyClops for Zabbix紹介資料
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
DevLove Kansai AWS
いるけどないからつくってみたよ高速モバイルプッシュ配信くん #cmdevio
1_各Atlassian製品の紹介
【SoftLayer事例】V-CUBE ミーティングを支えるSoftLayer
Yahoo! JAPANのCloud Foundry導入状況
Azure(クラウド)を使った堅牢なシステムを考える
JAWSUG初心者支部 AWSの勉強の仕方
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
2016年冬 IBMクラウド最新動向
Ad

Similar to OpenWhisk Serverless への期待 (20)

PDF
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
PDF
Growing up serverless
PDF
Docker Actionを利用してOpenWhiskをあれこれする
PDF
Serverless Anti-Patterns
PDF
OpenWhiskを使ってみた
PDF
Serverless Architecture Overview #cdevc
PDF
Bluemix大勉強会 - サーバーレス・アプリ開発のはじめかた
PDF
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
PDF
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
PDF
IBM Bluemix OpenWhisk: IBM Seminar 2016, Tokyo, Japan: The Future of Cloud Pr...
PPTX
セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)
PDF
サーバーレスの話
PDF
20241011_コラボテクノ株式会社_全社定例会_サーバーレスアーキテクチャ.pdf
PDF
OpenWhisk introduction public
PDF
IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future o...
PDF
20170418 aws black-belt-architecture_pattern_of_serverless
PDF
Serverless
PDF
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
PDF
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
PPTX
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Growing up serverless
Docker Actionを利用してOpenWhiskをあれこれする
Serverless Anti-Patterns
OpenWhiskを使ってみた
Serverless Architecture Overview #cdevc
Bluemix大勉強会 - サーバーレス・アプリ開発のはじめかた
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
IBM Bluemix OpenWhisk: IBM Seminar 2016, Tokyo, Japan: The Future of Cloud Pr...
セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)
サーバーレスの話
20241011_コラボテクノ株式会社_全社定例会_サーバーレスアーキテクチャ.pdf
OpenWhisk introduction public
IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future o...
20170418 aws black-belt-architecture_pattern_of_serverless
Serverless
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
Ad

More from Hideaki Tokida (20)

PDF
[GCP INSIDE Retail] オンプレミスDWHからBQへ
PDF
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
PDF
D1-2-OS2_オンプレミスのVMワークロードをGCPへ移行する
PDF
今更ながらの「マイクロサービス」
PDF
About Istio
PDF
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
PDF
LT資料イベント状況SNS自動投稿について考えてみた
PPTX
Bluemixクラウド開発入門 Devlivery Pipeline デモ
PPTX
IBM Bluemixクラウド開発入門 15分でわかるBluemix
PDF
API公開最初の一歩 - API Connect on Bluemix
PPTX
Bluemix User Group ご紹介
PPTX
BMXUG 大勉強会 2017.6.21 アジェンダ
PDF
OpenWhisk meetup vol2
PDF
OpenWhisk meetup vol1
PDF
Serverless meetup02 openwhisk
PDF
Bluemix Users Group 活動報告
PDF
SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"
PPTX
日本SoftLayerユーザ会紹介資料 2016
PDF
Ansible softlayer
PDF
IBM Container BluemixでDockerを使ってみる
[GCP INSIDE Retail] オンプレミスDWHからBQへ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-OS2_オンプレミスのVMワークロードをGCPへ移行する
今更ながらの「マイクロサービス」
About Istio
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
LT資料イベント状況SNS自動投稿について考えてみた
Bluemixクラウド開発入門 Devlivery Pipeline デモ
IBM Bluemixクラウド開発入門 15分でわかるBluemix
API公開最初の一歩 - API Connect on Bluemix
Bluemix User Group ご紹介
BMXUG 大勉強会 2017.6.21 アジェンダ
OpenWhisk meetup vol2
OpenWhisk meetup vol1
Serverless meetup02 openwhisk
Bluemix Users Group 活動報告
SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"
日本SoftLayerユーザ会紹介資料 2016
Ansible softlayer
IBM Container BluemixでDockerを使ってみる

OpenWhisk Serverless への期待