SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
< ServerlessConf Tokyo 2018 LT >
FaaSのインターフェースに見るサーバーレス
Aki @ nekoruri
サーバーレス定義ガチ勢の方から来ました
• Aki (@nekoruri) 『秋葉原生まれ大手町育ちの歌って踊れる江戸っ子フルスタッククラウドエンジニア』
• セキュリティ人材育成:セキュリティ・キャンプ 開発と運用トラック担当P / SecHack365 トレーナー
• 同人物書き
• 「Serverlessを支える技術 第2版」電子書籍販売中
• 2015年12月からサーバーレスの同人誌を出し続けてはや3年弱
• Microsoft MVP (Azure, 2017/01-) / ProjectDIVA Arcade LV.631
【広告】Serverlessを支える技術 第2版
電子書籍版あります!
gum.co/serverless2
【広告】Serverlessを支える技術 第2版
電子書籍版あります!
gum.co/serverless2
みんなだいすきFunction as a Service
• Serverlessなシステムにおける中心人物(今のところ)
• 10年後には「自前Function挟んだら負け」時代が来る、かも……?
• Service: AWS Lambda、Azure Functions、Google Cloud Functions、IBM Cloud Functions
• OSS: OpenFaaS、Apache OpenWhisk、Kubeless
スライドURL:bit.ly/faas20180929
Serverlessを支える技術 第2版:gum.co/serverless2
「インターフェース」にはそのFaaSの設計思想が詰まっている
• どんなふうに使って欲しいのか・何を重視しているのか・そもそもなにであるのか
• インターフェースでメガクラウド3社(AWS、Azure、GCP)を比較してみます
• 各社共通のNode 8
• HTTPトリガー
スライドURL:bit.ly/faas20180929
Serverlessを支える技術 第2版:gum.co/serverless2
AWS Lambda
exports.handler = async (event, context, callback) => {
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!')
};
return response; // callback(null, response);
};
callbackで返したり、
Promiseを返すことも可能
eventは独自形式
HTTPであればAPI Gatewayで「設定できる」
HTTPレスポンスを返す場合も、
API Gatewayで挙動を「変更可能」
全体的に「自分で設定する余地」が大きい
AWSらしいビルディングブロック感がある
スライドURL:bit.ly/faas20180929
Serverlessを支える技術 第2版:gum.co/serverless2
Azure Functions
module.exports = async function (context, req, input1) {
if (req.query.name) {
context.res = { body: "Hello " + req.query.name + ", ID is " + input1.id };
} else {
context.res = { status: 400, body: "Please pass a name" };
}
// return { body: "Hello" };
};
async/await対応によりコールバック
(context.done)は不要に
return で返した値をOutput binding
に送る設定もできる
トリガーに応じたイベントが渡される
Input bindingを引数でも受け取れる
(context.bindings.input1 でもOK)
HTTレスポンスはcontext.resで返す
それ以外のoutput bindingは
context.bindings.output1などに入れる
Input/Output bindingの活用により、
「シンプルなことをシンプルに、関数らしく」書ける
スライドURL:bit.ly/faas20180929
Serverlessを支える技術 第2版:gum.co/serverless2
トリガーの内容を使ってInput bindingで
DBクエリなどを行い追加データを持ってこれる
Google Cloud Functions
exports.helloWorld = (req, res) => {
let message = req.query.message || req.body.message || 'Hello World!';
res.status(200).send(message);
};
reqで受け取りresに入れて返す
コールバックとかは特にない
(強いて言うならres.send()が相当)
インターフェース自体のシンプル(単純さ)を追求
スライドURL:bit.ly/faas20180929
Serverlessを支える技術 第2版:gum.co/serverless2
まとめ
• AWS: 全体的に「自分で設定する余地」が大きい、AWSらしいビルディングブロック感がある
まだ方向性が定まっていなかった時期
• Azure: Input/Output bindingの活用により、「シンプルなことをシンプルに、関数らしく」書ける
binding機構自体の「変態さ」もある(今回は割愛)
• GCP: インターフェース自体のシンプル(単純さ)を追求
Googleらしい割り切り感
スライドURL:bit.ly/faas20180929
Serverlessを支える技術 第2版:gum.co/serverless2

Weitere ähnliche Inhalte

Was ist angesagt?

Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Hiroyuki Mori
 
シェルスクリプトで作るコンフィグ管理サーバ
シェルスクリプトで作るコンフィグ管理サーバシェルスクリプトで作るコンフィグ管理サーバ
シェルスクリプトで作るコンフィグ管理サーバMasaru Ogura
 
Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化You&I
 
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さいre:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい宗 大栗
 
あじゅーるのつかいかた:WebAPI+Azure->UWP
あじゅーるのつかいかた:WebAPI+Azure->UWPあじゅーるのつかいかた:WebAPI+Azure->UWP
あじゅーるのつかいかた:WebAPI+Azure->UWPc-mitsuba
 
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい(軽量版)
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい(軽量版)re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい(軽量版)
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい(軽量版)宗 大栗
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習Masanori Hayashi
 
AWSの勉強は試して試して楽しんで (AWS認定DVA本書きました)
AWSの勉強は試して試して楽しんで (AWS認定DVA本書きました)AWSの勉強は試して試して楽しんで (AWS認定DVA本書きました)
AWSの勉強は試して試して楽しんで (AWS認定DVA本書きました)Mitsuhiro Yamashita
 
あらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンターあらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンターVirtualTech Japan Inc.
 
社内サーバー購入禁止令から出戻りリモートワークまでの一部始終 20150114 DevLOVE仙台
社内サーバー購入禁止令から出戻りリモートワークまでの一部始終 20150114 DevLOVE仙台社内サーバー購入禁止令から出戻りリモートワークまでの一部始終 20150114 DevLOVE仙台
社内サーバー購入禁止令から出戻りリモートワークまでの一部始終 20150114 DevLOVE仙台Seiji Akatsuka
 
Unplugged brief introduction
Unplugged brief introductionUnplugged brief introduction
Unplugged brief introductionMitsuru Katoh
 
Azure Functionsから始めるServerless
Azure Functionsから始めるServerlessAzure Functionsから始めるServerless
Azure Functionsから始めるServerlessryosuke matsumura
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
1秒でも早くAutoScale
1秒でも早くAutoScale1秒でも早くAutoScale
1秒でも早くAutoScaleAkira Miki
 
20141122 デジコミュ秋田 WordPressサイト永代供養の儀
20141122 デジコミュ秋田 WordPressサイト永代供養の儀20141122 デジコミュ秋田 WordPressサイト永代供養の儀
20141122 デジコミュ秋田 WordPressサイト永代供養の儀Seiji Akatsuka
 
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。Mitsuhiro Yamashita
 
使ってみよう、WebMatrix3
使ってみよう、WebMatrix3使ってみよう、WebMatrix3
使ってみよう、WebMatrix3Narami Kiyokura
 

Was ist angesagt? (20)

Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!
 
シェルスクリプトで作るコンフィグ管理サーバ
シェルスクリプトで作るコンフィグ管理サーバシェルスクリプトで作るコンフィグ管理サーバ
シェルスクリプトで作るコンフィグ管理サーバ
 
Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化
 
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さいre:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい
 
あじゅーるのつかいかた:WebAPI+Azure->UWP
あじゅーるのつかいかた:WebAPI+Azure->UWPあじゅーるのつかいかた:WebAPI+Azure->UWP
あじゅーるのつかいかた:WebAPI+Azure->UWP
 
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい(軽量版)
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい(軽量版)re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい(軽量版)
re:Growth 2015 TOKYO keynote以外のアップデートのこと、時々でいいから...... 思い出して下さい(軽量版)
 
AWSからAzureへ
AWSからAzureへAWSからAzureへ
AWSからAzureへ
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習JAWS DAYS 2017直前! AWS総復習
JAWS DAYS 2017直前! AWS総復習
 
AWSの勉強は試して試して楽しんで (AWS認定DVA本書きました)
AWSの勉強は試して試して楽しんで (AWS認定DVA本書きました)AWSの勉強は試して試して楽しんで (AWS認定DVA本書きました)
AWSの勉強は試して試して楽しんで (AWS認定DVA本書きました)
 
あらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンターあらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンター
 
社内サーバー購入禁止令から出戻りリモートワークまでの一部始終 20150114 DevLOVE仙台
社内サーバー購入禁止令から出戻りリモートワークまでの一部始終 20150114 DevLOVE仙台社内サーバー購入禁止令から出戻りリモートワークまでの一部始終 20150114 DevLOVE仙台
社内サーバー購入禁止令から出戻りリモートワークまでの一部始終 20150114 DevLOVE仙台
 
Unplugged brief introduction
Unplugged brief introductionUnplugged brief introduction
Unplugged brief introduction
 
Azure Functionsから始めるServerless
Azure Functionsから始めるServerlessAzure Functionsから始めるServerless
Azure Functionsから始めるServerless
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
1秒でも早くAutoScale
1秒でも早くAutoScale1秒でも早くAutoScale
1秒でも早くAutoScale
 
Twilioと山下と学び
Twilioと山下と学びTwilioと山下と学び
Twilioと山下と学び
 
20141122 デジコミュ秋田 WordPressサイト永代供養の儀
20141122 デジコミュ秋田 WordPressサイト永代供養の儀20141122 デジコミュ秋田 WordPressサイト永代供養の儀
20141122 デジコミュ秋田 WordPressサイト永代供養の儀
 
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
ブログを大阪リージョンに移行して東京リージョンをDRサイトにしています。その理由とRTO/RPOそしてコスト。
 
使ってみよう、WebMatrix3
使ってみよう、WebMatrix3使ってみよう、WebMatrix3
使ってみよう、WebMatrix3
 

Ähnlich wie FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo

「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyoMasahiro NAKAYAMA
 
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)Ken Sawada
 
TDUCTFの実行基盤
TDUCTFの実行基盤TDUCTFの実行基盤
TDUCTFの実行基盤Youta Egusa
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Tsukasa Kato
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in TokyoKyosuke Inoue
 
Recommendtechbook
RecommendtechbookRecommendtechbook
Recommendtechbookmakky12
 
Running Kubernetes on Azure
Running Kubernetes on AzureRunning Kubernetes on Azure
Running Kubernetes on AzureMasaki Yamamoto
 
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能Masaki Suzuki
 
機械学習によるマーケット健全化施策を支える技術
機械学習によるマーケット健全化施策を支える技術機械学習によるマーケット健全化施策を支える技術
機械学習によるマーケット健全化施策を支える技術Hirofumi Nakagawa
 
Azure × LINE でクラウドを楽しもう
Azure × LINE でクラウドを楽しもうAzure × LINE でクラウドを楽しもう
Azure × LINE でクラウドを楽しもう拓将 平林
 
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoFluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoKyosuke Inoue
 
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介Yuta Matsumura
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜KLab Inc. / Tech
 
Azure serverlesssummit2018
Azure serverlesssummit2018Azure serverlesssummit2018
Azure serverlesssummit2018Tsukasa Kato
 
「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」Kohei MATSUSHITA
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
もっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Appsもっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Apps典子 松本
 

Ähnlich wie FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo (20)

「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
 
Vscodemeetup6
Vscodemeetup6Vscodemeetup6
Vscodemeetup6
 
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)
 
TDUCTFの実行基盤
TDUCTFの実行基盤TDUCTFの実行基盤
TDUCTFの実行基盤
 
Editorlt
EditorltEditorlt
Editorlt
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう!
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in Tokyo
 
Recommendtechbook
RecommendtechbookRecommendtechbook
Recommendtechbook
 
Running Kubernetes on Azure
Running Kubernetes on AzureRunning Kubernetes on Azure
Running Kubernetes on Azure
 
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能
 
機械学習によるマーケット健全化施策を支える技術
機械学習によるマーケット健全化施策を支える技術機械学習によるマーケット健全化施策を支える技術
機械学習によるマーケット健全化施策を支える技術
 
Azure × LINE でクラウドを楽しもう
Azure × LINE でクラウドを楽しもうAzure × LINE でクラウドを楽しもう
Azure × LINE でクラウドを楽しもう
 
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoFluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
 
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
 
Azure serverlesssummit2018
Azure serverlesssummit2018Azure serverlesssummit2018
Azure serverlesssummit2018
 
「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」「移動中の仕事術とユーザーグループと私」
「移動中の仕事術とユーザーグループと私」
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
もっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Appsもっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Apps
 
Azure Cloud Shell
Azure Cloud ShellAzure Cloud Shell
Azure Cloud Shell
 

Mehr von Masahiro NAKAYAMA

ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampMasahiro NAKAYAMA
 
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampイントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampMasahiro NAKAYAMA
 
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampクラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampMasahiro NAKAYAMA
 
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjpめもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjpMasahiro NAKAYAMA
 
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp Masahiro NAKAYAMA
 
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介Masahiro NAKAYAMA
 
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップサーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップMasahiro NAKAYAMA
 
#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れようMasahiro NAKAYAMA
 
クラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjpクラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjpMasahiro NAKAYAMA
 
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365Masahiro NAKAYAMA
 
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccampIoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccampMasahiro NAKAYAMA
 
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampクラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampMasahiro NAKAYAMA
 
技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjpMasahiro NAKAYAMA
 
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyoBluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyoMasahiro NAKAYAMA
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスMasahiro NAKAYAMA
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcMasahiro NAKAYAMA
 
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomugMasahiro NAKAYAMA
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpMasahiro NAKAYAMA
 
Mastdonインスタンス立ててみた in Azure #ssmjp
Mastdonインスタンス立ててみた in Azure #ssmjpMastdonインスタンス立ててみた in Azure #ssmjp
Mastdonインスタンス立ててみた in Azure #ssmjpMasahiro NAKAYAMA
 

Mehr von Masahiro NAKAYAMA (20)

ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
 
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampイントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
 
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampクラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
 
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjpめもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
 
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
 
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
 
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップサーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
 
#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう
 
クラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjpクラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjp
 
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
 
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccampIoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
 
Serverless book
Serverless bookServerless book
Serverless book
 
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampクラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
 
技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp
 
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyoBluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
 
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
 
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjpAWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
 
Mastdonインスタンス立ててみた in Azure #ssmjp
Mastdonインスタンス立ててみた in Azure #ssmjpMastdonインスタンス立ててみた in Azure #ssmjp
Mastdonインスタンス立ててみた in Azure #ssmjp
 

Kürzlich hochgeladen

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo

  • 1. < ServerlessConf Tokyo 2018 LT > FaaSのインターフェースに見るサーバーレス Aki @ nekoruri
  • 2. サーバーレス定義ガチ勢の方から来ました • Aki (@nekoruri) 『秋葉原生まれ大手町育ちの歌って踊れる江戸っ子フルスタッククラウドエンジニア』 • セキュリティ人材育成:セキュリティ・キャンプ 開発と運用トラック担当P / SecHack365 トレーナー • 同人物書き • 「Serverlessを支える技術 第2版」電子書籍販売中 • 2015年12月からサーバーレスの同人誌を出し続けてはや3年弱 • Microsoft MVP (Azure, 2017/01-) / ProjectDIVA Arcade LV.631 【広告】Serverlessを支える技術 第2版 電子書籍版あります! gum.co/serverless2 【広告】Serverlessを支える技術 第2版 電子書籍版あります! gum.co/serverless2
  • 3. みんなだいすきFunction as a Service • Serverlessなシステムにおける中心人物(今のところ) • 10年後には「自前Function挟んだら負け」時代が来る、かも……? • Service: AWS Lambda、Azure Functions、Google Cloud Functions、IBM Cloud Functions • OSS: OpenFaaS、Apache OpenWhisk、Kubeless スライドURL:bit.ly/faas20180929 Serverlessを支える技術 第2版:gum.co/serverless2
  • 5. AWS Lambda exports.handler = async (event, context, callback) => { // TODO implement const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!') }; return response; // callback(null, response); }; callbackで返したり、 Promiseを返すことも可能 eventは独自形式 HTTPであればAPI Gatewayで「設定できる」 HTTPレスポンスを返す場合も、 API Gatewayで挙動を「変更可能」 全体的に「自分で設定する余地」が大きい AWSらしいビルディングブロック感がある スライドURL:bit.ly/faas20180929 Serverlessを支える技術 第2版:gum.co/serverless2
  • 6. Azure Functions module.exports = async function (context, req, input1) { if (req.query.name) { context.res = { body: "Hello " + req.query.name + ", ID is " + input1.id }; } else { context.res = { status: 400, body: "Please pass a name" }; } // return { body: "Hello" }; }; async/await対応によりコールバック (context.done)は不要に return で返した値をOutput binding に送る設定もできる トリガーに応じたイベントが渡される Input bindingを引数でも受け取れる (context.bindings.input1 でもOK) HTTレスポンスはcontext.resで返す それ以外のoutput bindingは context.bindings.output1などに入れる Input/Output bindingの活用により、 「シンプルなことをシンプルに、関数らしく」書ける スライドURL:bit.ly/faas20180929 Serverlessを支える技術 第2版:gum.co/serverless2 トリガーの内容を使ってInput bindingで DBクエリなどを行い追加データを持ってこれる
  • 7. Google Cloud Functions exports.helloWorld = (req, res) => { let message = req.query.message || req.body.message || 'Hello World!'; res.status(200).send(message); }; reqで受け取りresに入れて返す コールバックとかは特にない (強いて言うならres.send()が相当) インターフェース自体のシンプル(単純さ)を追求 スライドURL:bit.ly/faas20180929 Serverlessを支える技術 第2版:gum.co/serverless2
  • 8. まとめ • AWS: 全体的に「自分で設定する余地」が大きい、AWSらしいビルディングブロック感がある まだ方向性が定まっていなかった時期 • Azure: Input/Output bindingの活用により、「シンプルなことをシンプルに、関数らしく」書ける binding機構自体の「変態さ」もある(今回は割愛) • GCP: インターフェース自体のシンプル(単純さ)を追求 Googleらしい割り切り感 スライドURL:bit.ly/faas20180929 Serverlessを支える技術 第2版:gum.co/serverless2