狠狠撸
Submit Search
Fn project爆誕
?
3 likes
?
1,069 views
Hiroshi Hayakawa
Follow
Node学園28時限目でFn ProjectについてLTした時の資料です。
Read less
Read more
1 of 15
Download now
Download to read offline
More Related Content
Fn project爆誕
1.
Fn Project 爆誕!! @hhiroshell
2.
自己紹介 早川 博(はやかわ ひろし) @hhiroshell ?
日本オラクル 所属 ? Pre-Sales Engineer / Tech Evangelist (new!) ? Java SE/EE, Microservices/DevOps OSSやってもいいって!\(^o^)/
3.
Fn Project http://fnprojcet.io/ → サーバーレス?フレームワーク
4.
? Easy ! ?
全ての操作はシンプルなCLI。考え抜かれた開発者エクスペリエンス ? (このあとデモします。) Open & Easy ? Open ! ?Open Source (Apache 2.0) ?どこでも動く ? ラップトップ、サーバー、クラウド ?マルチ言語サポート ? Go, Java, Node, PHP, Python, Ruby, Rust
5.
FunctionFunction Functio n Functio n FunctionFunction Functio n Functio n Fn Serverfn-app/hello-node fn-app/hello-java 構成 ? Fn
Server上にFunction が乗るDinD(Docker in Docker)構成 ? トリガーがキックされる度に対応 するFunctionのコンテナを立ち 上げる ? コンテナ群の管理はCLIが隠蔽
6.
Demo
7.
? 複数のファンクションの連結を手続き的記述で実現 Fn Flow ※ Flowは現在Javaのみ対応。随時対応言語を増やしていくとのこと
8.
Flow fl =
Flows.currentFlow(); FlowFuture<String> f1 = fl.supply(() -> { try { Thread.sleep((long)(Math.random() * 5000)); } catch(Exception e) {} return "Hello"; }); FlowFuture<String> f2 = fl.supply(() -> { try { Thread.sleep((long)(Math.random() * 5000)); } catch(Exception e) {} return "World"; }); fl.anyOf(f1, f2).thenApply(result -> ((String)result).toUpperCase()); Fn Flow ? 並列?非同期処理
9.
Flow fl =
Flows.currentFlow(); FlowFuture<String> f1 = fl.supply(() -> { if (System.currentTimeMillis() % 2L == 0L) { throw new RuntimeException("Error in stage"); } return 100; }).handle((val, err) -> { if (err != null){ return "An error occurred in this function"; } else { return "The result was good: " + val; } }); Fn Flow ? エラーハンドリング
10.
? 複数のファンクションの連結を手続き的記述で実現 ? 何がいいの? ?テストしやすい ?デバッグしやすい Fn
Flow ?読んで理解しやすい ?エラー処理で死なない
11.
Fn Project http://fnprojcet.io/ → Open
& Easy
12.
おまけ
13.
手を動かしながら学ぶ! 「Kubernetes ときどき Serverless」--
CNDJP第1回 -- 勉強会します! http://bit.ly/cndjp1
15.
Fin.
Download