狠狠撸

狠狠撸Share a Scribd company logo
Lambdaによる
クラウド型言語の実装
Genki&Sugawara
お前誰よ
? twi%er
? @sgwr_dts
? github/bitbicket
? winebarrel
最近のアクティビティ
? Lambda便利ツール作りました
? lambchop
? h,ps://github.com/winebarrel/lambchop
? Please:try:it:out!
本题
Lambdaを触ってみました
? h#p://so)wh.at/search?q=lambda
? AWS;Lambdaで外部のURLをたたく;);h#p://goo.gl/aZkxTy
? AWS;LambdaでMySQL(RDS)に接続する;);h#p://goo.gl/33tVg1
? aws)sdkで自分自身にイベントを送る;);h#p://goo.gl/GhBykk
? バイナリデータをイベントとして送る;);h#p://goo.gl/Za5EpR
? 任意のシステムコマンドを実行する;);h#p://goo.gl/oJ60F8
スループットを計ってみたり
h"p://www.slideshare.net/winebarrel/
200ksec
twi$erボット作ってみたり
h"ps://github.com/winebarrel/aws6lambda6
tw6bot
僕はこう思ったッス
フィルタであって
ジョブキューではないのかな…
戻り値を受け取りづらい
Developer(Guide(9ページ目
h/p://docs.aws.amazon.com/lambda/latest/dg/lambda=dg.pdf
? context.done()は2つの引数をとる
? 1つ目がnullのときは成功
? null以外のときは失敗。CW(Logsに出力
? 2つ目の引数が与えられた場合、テスト実行コンソールに出力
戻り値を受け取りづらい
CW#Logsはともかく
テスト実行コンソールのログ取得APIがない
単体ではInvokeに一対一で対応した
実行結果を受け取れない
CloudWatch+Logsつらい
? 検索機能がない
? Log%Groupはfunc-on名
? しかし出力先尝辞驳%厂迟谤别补尘が不定
エラーハンドリングつらい
? エラーのグラフはでるけど個別のエラーはログあさるしかない
? CloudWatch,Logsで探すのめんどい
lambchop)tail
? lambda用のtail
? h*ps://github.com/winebarrel/lambchop/
? blob/master/lib/lambchop/tail.rb
? blob/master/lib/lambchop/watch_dog.rb
中でやってること
? tailコマンド実行後に更新されたLog)Streamを全部取得
? 指定時間以降のLog)Eventを取得、ソートして出力
? 以降繰り返し…
Pythonのツールでも同じことやってた
? kappa
? command*line*tool*for*AWS*Lambda.
? h8ps://github.com/garnaat/kappa
? kappa tailコマンドの実装がほぼ同じ
ちょっとつらい…
AWSはこう思ったッス(想像)
『おおいなる流れ(Stream)の中では
?個々の実行結果などどうでもいいのだ』
現状では個々の実行結果を知るのが厳しい
なのでジョブキュー用途にはあまり向いていないような
戻り値を受け取る方法を
考えてみた
尝补尘产诲补によるクラウド型言语の実装
? アプリがLambdaを実行
? uuidを関数コールIDとして付ける
? LambdaはSQSに結果を投げる
? uuidもSQSに投げる
? 別スレッドがSQSをポーリング
? uuidに対応した関数呼び出しに結果を返す
なにが楽しいか?
? サーバいらずのジョブキューシステムを持てる
? 並列実効性が高い(タイムアウト60sだけど)
? Nodeならオンデマンドでロジックをぶち込める
? Func/on.toString
Func%on.toString
h"ps://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/
Global_Objects/FuncBon/toString
$ node
> var f = function() { console.log('hello'); }
undefined
> f.toString();
'function () { console.log('hello'); }'
こういうことができる
var lambda_func = lambda(function(args, callback) {
// Run on Lambda
// Any job
callback({key:'val'});
});
lambda_func({key: "val"}, function(retval) {
console.log(retval);
});
作ってみた
lambleg
h"ps://www.npmjs.com/package/lambleg
Demo
すでに同じネタをやってる人がいた!orz
Lambdaws
h)ps://github.com/mentum/lambdaws
var λ = require('lambdaws').create;
var calculator = function(a, b, callback) { callback(a+b) };
var cloudedCalculator = λ(calculator);
cloudedCalculator(5, 2, function(data) {
// Calls the function in the cloud, it doesn't run locally
console.log(data); // Prints 7
});
もう少し考えを進めてみた
? Pure&JSのコードはだいたいそのまま実行できる
? nodeで言語を実装すればもっとシームレスになるのでは?
作ってみた
クラウド型言語(仮)
Clala
h"ps://github.com/winebarrel/clala
こんなんです
? schemeのサブセット
? Lambdaに関数を定義できる
? コンテキストをLambdaに持って行ける
? (破壊的更新はできません)
Demo
所感
? 実験的実装なので未来はないが未来感はある
? 非同期な世界とのギャップがつらい
? だれか実用的なのを実装してください
まとめ
? 実行毎の結果をハンドルできると便利そうです
? なので機能追加をぜひー
? あとタイムアウト時間をのばさせて
? あとSNS対応を
? ついでにCW&Logsに検索機能をばー
Thank&you&for&your&a,en.on.

More Related Content

What's hot (20)

PDF
Lambdaのscheduled eventて?実現する運用視点のサーハ?レスハ?ターン
Jin k
?
PDF
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
Takehiro Suemitsu
?
PPTX
はし?めてのAWS Lambda
Masaki Misawa
?
PDF
Kubernetes helm & helmc
Aya Ozawa (Igarashi)
?
PPTX
Aws docker-rails-demo slideshare
Kanno Yusuke
?
PDF
200k/sec
Sugawara Genki
?
PDF
前座尝补尘产诲补
Akio Katayama
?
PPTX
サーバーレスアプリケーションの作り方
Yoichi Toyota
?
PDF
Spark Streaming on AWS -S3からKinesisへ-
chibochibo
?
PDF
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
?
PDF
Spark in small or middle scale data processing with Elasticsearch
chibochibo
?
PDF
わかってるフレームワーク Laravel
Masashi Shinbara
?
PDF
AWS Lambda を使ってみた話 at つ?や会Vol.3
ko ty
?
PDF
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
?
PPTX
ログ解析をあきらめない、あるいは厂耻尘辞尝辞驳颈肠の绍介
Yasuhiro Araki, Ph.D
?
PDF
贵濒耻别苍迟诲と搁别诲蝉丑颈蹿迟の素敌な関係
moai kids
?
PDF
Serverless frameworkて?お手軽lambda運用 at #nseg #93
ko ty
?
PPTX
Serverless frameworkを使ってみた話 at #nseg #90
ko ty
?
PDF
もうちょっと早く知りたかった kubectl
Hiroki Sakonju
?
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
Ryu Yamashita
?
Lambdaのscheduled eventて?実現する運用視点のサーハ?レスハ?ターン
Jin k
?
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
Takehiro Suemitsu
?
はし?めてのAWS Lambda
Masaki Misawa
?
Kubernetes helm & helmc
Aya Ozawa (Igarashi)
?
Aws docker-rails-demo slideshare
Kanno Yusuke
?
前座尝补尘产诲补
Akio Katayama
?
サーバーレスアプリケーションの作り方
Yoichi Toyota
?
Spark Streaming on AWS -S3からKinesisへ-
chibochibo
?
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
?
Spark in small or middle scale data processing with Elasticsearch
chibochibo
?
わかってるフレームワーク Laravel
Masashi Shinbara
?
AWS Lambda を使ってみた話 at つ?や会Vol.3
ko ty
?
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
?
ログ解析をあきらめない、あるいは厂耻尘辞尝辞驳颈肠の绍介
Yasuhiro Araki, Ph.D
?
贵濒耻别苍迟诲と搁别诲蝉丑颈蹿迟の素敌な関係
moai kids
?
Serverless frameworkて?お手軽lambda運用 at #nseg #93
ko ty
?
Serverless frameworkを使ってみた話 at #nseg #90
ko ty
?
もうちょっと早く知りたかった kubectl
Hiroki Sakonju
?
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
Ryu Yamashita
?

Similar to 尝补尘产诲补によるクラウド型言语の実装 (14)

PDF
AWS LambdaとAPI Gatewayでサーバレスなシステム構築に踏み出してみる
Takashi Makino
?
PDF
AWS Black Belt Techシリーズ AWS Lambda
Amazon Web Services Japan
?
PDF
AWS Lambda Update
Keisuke Nishitani
?
PDF
aws mackerel twilio_handson_public
Tomoaki Sakatoku
?
PDF
AWS Lambdaを紐解く
Keisuke Nishitani
?
PDF
AWS Lambda in Golang
Koichiro Nishijima
?
PPTX
20160312 Jaws Days 2016 API Gateway+Lambda
Kazuki Ueki
?
PPTX
AWS Lambdaと AWS API Gatewayを使ったREST API作り
iPride Co., Ltd.
?
PDF
Aws lambda & amazon api gateway入門
Yutaka Kajiwara
?
PDF
AWS Lambda Updates
Keisuke Nishitani
?
PPTX
はし?めてのAws lambda
dcubeio
?
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
JOYZO
?
PPTX
20191018 AWS Lambda
yamamotomsc
?
PPTX
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
?
AWS LambdaとAPI Gatewayでサーバレスなシステム構築に踏み出してみる
Takashi Makino
?
AWS Black Belt Techシリーズ AWS Lambda
Amazon Web Services Japan
?
AWS Lambda Update
Keisuke Nishitani
?
aws mackerel twilio_handson_public
Tomoaki Sakatoku
?
AWS Lambdaを紐解く
Keisuke Nishitani
?
AWS Lambda in Golang
Koichiro Nishijima
?
20160312 Jaws Days 2016 API Gateway+Lambda
Kazuki Ueki
?
AWS Lambdaと AWS API Gatewayを使ったREST API作り
iPride Co., Ltd.
?
Aws lambda & amazon api gateway入門
Yutaka Kajiwara
?
AWS Lambda Updates
Keisuke Nishitani
?
はし?めてのAws lambda
dcubeio
?
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
JOYZO
?
20191018 AWS Lambda
yamamotomsc
?
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
?
Ad

More from Sugawara Genki (18)

PDF
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
?
PPTX
2014 09-23 Mechanism of Gossip protocol
Sugawara Genki
?
PPTX
CloudWatch Logsについて
Sugawara Genki
?
PDF
MHA on AWS+Rails
Sugawara Genki
?
PPTX
ナウなヤングにCloud Formationが流行ってほしい
Sugawara Genki
?
PDF
クックパッドの开発について
Sugawara Genki
?
PDF
骋颈迟を使った搁辞耻迟别53の管理
Sugawara Genki
?
PDF
颁丑别蹿と笔耻辫辫别迟の比较
Sugawara Genki
?
PDF
贰颁2の天井を超える
Sugawara Genki
?
PDF
贰颁2で办别别辫补濒颈惫别诲+尝痴厂(顿厂搁)
Sugawara Genki
?
PDF
Puppet on AWS
Sugawara Genki
?
PDF
クックパッドでの痴笔颁移行について
Sugawara Genki
?
PDF
ゴシッププロトコルによる冗长化と负荷分散の検証
Sugawara Genki
?
KEY
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
Sugawara Genki
?
PPTX
础奥厂移行に向けたクックパッドの取り组み+α
Sugawara Genki
?
PDF
础奥厂移行に向けたクックパッドの取り组み
Sugawara Genki
?
KEY
クックパッドの尝痴厂について
Sugawara Genki
?
KEY
サーバー?クライアントの ボトルネック調査と高速化
Sugawara Genki
?
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
?
2014 09-23 Mechanism of Gossip protocol
Sugawara Genki
?
CloudWatch Logsについて
Sugawara Genki
?
MHA on AWS+Rails
Sugawara Genki
?
ナウなヤングにCloud Formationが流行ってほしい
Sugawara Genki
?
クックパッドの开発について
Sugawara Genki
?
骋颈迟を使った搁辞耻迟别53の管理
Sugawara Genki
?
颁丑别蹿と笔耻辫辫别迟の比较
Sugawara Genki
?
贰颁2の天井を超える
Sugawara Genki
?
贰颁2で办别别辫补濒颈惫别诲+尝痴厂(顿厂搁)
Sugawara Genki
?
Puppet on AWS
Sugawara Genki
?
クックパッドでの痴笔颁移行について
Sugawara Genki
?
ゴシッププロトコルによる冗长化と负荷分散の検証
Sugawara Genki
?
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
Sugawara Genki
?
础奥厂移行に向けたクックパッドの取り组み+α
Sugawara Genki
?
础奥厂移行に向けたクックパッドの取り组み
Sugawara Genki
?
クックパッドの尝痴厂について
Sugawara Genki
?
サーバー?クライアントの ボトルネック調査と高速化
Sugawara Genki
?
Ad

Recently uploaded (9)

PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
色について.pptx .
iPride Co., Ltd.
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?

尝补尘产诲补によるクラウド型言语の実装