Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
terurou
466 views
自社サービスでDurable Functionsを採用した話
NGK2020S LT発表資料です。
Technology
◦
Related topics:
Node.js Development
•
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 23
2
/ 23
3
/ 23
4
/ 23
5
/ 23
6
/ 23
7
/ 23
8
/ 23
9
/ 23
10
/ 23
11
/ 23
12
/ 23
13
/ 23
14
/ 23
15
/ 23
16
/ 23
17
/ 23
18
/ 23
19
/ 23
20
/ 23
21
/ 23
22
/ 23
23
/ 23
More Related Content
PDF
デンキヤギの採用の考え方
by
terurou
PDF
クラウドERPを活用したグローバル共通システム基盤のスピード導入とバックオフィス業務のクラウド化に向けて
by
篤人 浜田
PDF
ノーコードとアジャイル
by
Yukio Okajima
PPTX
ハイブリッドクラウドで変わるインフラストラクチャ設計
by
gree_tech
PPTX
[VP of Engineering Meetup] エンジニアのパフォーマンスを最大化させる組織活性化施策とは
by
atsuki_ito
PDF
マーケティングもリモート×アジャイルに ~ Agile Studio マーケティングチームの事例
by
Yukio Okajima
PDF
びっくりするくらいリモートワークが馴染んだ話
by
Takuya Okamoto
PDF
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
by
Yukio Okajima
デンキヤギの採用の考え方
by
terurou
クラウドERPを活用したグローバル共通システム基盤のスピード導入とバックオフィス業務のクラウド化に向けて
by
篤人 浜田
ノーコードとアジャイル
by
Yukio Okajima
ハイブリッドクラウドで変わるインフラストラクチャ設計
by
gree_tech
[VP of Engineering Meetup] エンジニアのパフォーマンスを最大化させる組織活性化施策とは
by
atsuki_ito
マーケティングもリモート×アジャイルに ~ Agile Studio マーケティングチームの事例
by
Yukio Okajima
びっくりするくらいリモートワークが馴染んだ話
by
Takuya Okamoto
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
by
Yukio Okajima
What's hot
PPTX
アドテクスタジオのデータ分析基盤について
by
kazuhiro ito
PPTX
業務システムとfreeeをAPI連携する際の課題と工夫
by
Yusuke Tamukai
PDF
対話と創発~アジャイルなマーケティングチームの作り方
by
Yukio Okajima
PDF
Setとして活動しはじめた話
by
Recruit Lifestyle Co., Ltd.
PDF
企画から考えるエンジニアチームの作り方
by
創史 花村
PPTX
グリーにおけるAWS移行の必然性
by
gree_tech
PDF
業務SEを7か月でWebエンジニアに変える方法
by
Yukio Okajima
PDF
オンボーディングにおける新卒・中途の違い freee株式会社 秋山詩乃
by
ShinoAkiyama
PDF
技術転換は組織変革 ~ 業務SEをモダンエンジニアチームに変える
by
Yukio Okajima
PPTX
SysTrack のご紹介 - 最適な vGPU リソース利用で効率の高い GPU VDI 環境を -
by
Hirotaka Nagashima
PPTX
素人流 業務改善 全社プロジェクト
by
Cybozucommunity
PDF
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
by
Recruit Lifestyle Co., Ltd.
PDF
【19-B-1】情シスの中のアーキテクト ~ソフトウェアアーキテクチャを超えて~
by
Developers Summit
PDF
NativeGameの障害削減に向けた取り組み
by
gree_tech
PDF
Redash pythonで業務分析
by
創史 花村
PPTX
boardの概要 - Brownies FES Special
by
Yusuke Tamukai
アドテクスタジオのデータ分析基盤について
by
kazuhiro ito
業務システムとfreeeをAPI連携する際の課題と工夫
by
Yusuke Tamukai
対話と創発~アジャイルなマーケティングチームの作り方
by
Yukio Okajima
Setとして活動しはじめた話
by
Recruit Lifestyle Co., Ltd.
企画から考えるエンジニアチームの作り方
by
創史 花村
グリーにおけるAWS移行の必然性
by
gree_tech
業務SEを7か月でWebエンジニアに変える方法
by
Yukio Okajima
オンボーディングにおける新卒・中途の違い freee株式会社 秋山詩乃
by
ShinoAkiyama
技術転換は組織変革 ~ 業務SEをモダンエンジニアチームに変える
by
Yukio Okajima
SysTrack のご紹介 - 最適な vGPU リソース利用で効率の高い GPU VDI 環境を -
by
Hirotaka Nagashima
素人流 業務改善 全社プロジェクト
by
Cybozucommunity
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
by
Recruit Lifestyle Co., Ltd.
【19-B-1】情シスの中のアーキテクト ~ソフトウェアアーキテクチャを超えて~
by
Developers Summit
NativeGameの障害削減に向けた取り組み
by
gree_tech
Redash pythonで業務分析
by
創史 花村
boardの概要 - Brownies FES Special
by
Yusuke Tamukai
Similar to 自社サービスでDurable Functionsを採用した話
PDF
サーバーレスの常識を覆す Azure Durable Functionsを使い倒す
by
Yuta Matsumura
PDF
多分わかりやすいDurable functions
by
宜行 武井
PPTX
「Azure durable functions」の概要
by
裕之 木下
PPTX
"サーバーレス"を超越する。なぜ?から理解する Durable Functions
by
Tsuyoshi Ushio
PDF
Durable Functions (Core) 気になっていたことを勉強がてら実装してみた
by
朋志 佐々木
PPTX
Azure serverless!! azure functionsでサーバーを意識しない開発
by
Yuki Hattori
PDF
Azure Functionsでサーバーレスアプリケーション構築
by
ryosuke matsumura
PPTX
Azure Functions あれこれ
by
Yasuaki Matsuda
PPTX
Durable function storage provider
by
Kazunori Hamamoto
PDF
Azure Functionsでサーバーレスアプリケーション構築
by
ryosuke matsumura
PPTX
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
by
真吾 吉田
PDF
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
by
オラクルエンジニア通信
PDF
[Oracle Innovation Summit Tokyo 2018] Fn Project: Next Generation Serverless ...
by
オラクルエンジニア通信
PDF
OCI serverless introduction
by
SuguruSugiyama
PDF
ゆるふわAzure Functions
by
Keiji Kamebuchi
PDF
Oracle も Serverless サービスやっています
by
SuguruSugiyama
PDF
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
by
de:code 2017
PDF
20190514 Smart Store - Azure servlerless architecture
by
Issei Hiraoka
PDF
Smart Store サーバーレスアーキテクチャ編
by
Microsoft Azure Japan
PDF
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
by
真吾 吉田
サーバーレスの常識を覆す Azure Durable Functionsを使い倒す
by
Yuta Matsumura
多分わかりやすいDurable functions
by
宜行 武井
「Azure durable functions」の概要
by
裕之 木下
"サーバーレス"を超越する。なぜ?から理解する Durable Functions
by
Tsuyoshi Ushio
Durable Functions (Core) 気になっていたことを勉強がてら実装してみた
by
朋志 佐々木
Azure serverless!! azure functionsでサーバーを意識しない開発
by
Yuki Hattori
Azure Functionsでサーバーレスアプリケーション構築
by
ryosuke matsumura
Azure Functions あれこれ
by
Yasuaki Matsuda
Durable function storage provider
by
Kazunori Hamamoto
Azure Functionsでサーバーレスアプリケーション構築
by
ryosuke matsumura
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
by
真吾 吉田
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
by
オラクルエンジニア通信
[Oracle Innovation Summit Tokyo 2018] Fn Project: Next Generation Serverless ...
by
オラクルエンジニア通信
OCI serverless introduction
by
SuguruSugiyama
ゆるふわAzure Functions
by
Keiji Kamebuchi
Oracle も Serverless サービスやっています
by
SuguruSugiyama
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
by
de:code 2017
20190514 Smart Store - Azure servlerless architecture
by
Issei Hiraoka
Smart Store サーバーレスアーキテクチャ編
by
Microsoft Azure Japan
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
by
真吾 吉田
More from terurou
PDF
Webブラウザ上で動作する帳票エンジンを作る話
by
terurou
PDF
Computation Expressions for Haxe
by
terurou
PDF
Vue.jsをhaxeで
by
terurou
PDF
MQTTとAMQPと.NET
by
terurou
PDF
altJSの選び方
by
terurou
PDF
DataGridを自前実装する話
by
terurou
PDF
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
by
terurou
PDF
動的なILの生成と編集
by
terurou
PDF
FIRST STEP to Haxe/JavaScript
by
terurou
PDF
大規模なギョームシステムにHaxeを採用してみた話
by
terurou
PDF
大規模なJavaScript開発の話
by
terurou
PDF
Metro Style AppsでMSILver.2012/06/09
by
terurou
PDF
Metro Style AppsでMSIL
by
terurou
PDF
Yet Another DLR for Silverlightの試作
by
terurou
PDF
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
by
terurou
PDF
CommonJSの話
by
terurou
PDF
Scala×silverlight
by
terurou
PDF
DLR言語によるSilverlightプログラミング
by
terurou
PDF
Iron Python / Iron Ruby で .NET Programming
by
terurou
PDF
クラウドGPS(仮)
by
terurou
Webブラウザ上で動作する帳票エンジンを作る話
by
terurou
Computation Expressions for Haxe
by
terurou
Vue.jsをhaxeで
by
terurou
MQTTとAMQPと.NET
by
terurou
altJSの選び方
by
terurou
DataGridを自前実装する話
by
terurou
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
by
terurou
動的なILの生成と編集
by
terurou
FIRST STEP to Haxe/JavaScript
by
terurou
大規模なギョームシステムにHaxeを採用してみた話
by
terurou
大規模なJavaScript開発の話
by
terurou
Metro Style AppsでMSILver.2012/06/09
by
terurou
Metro Style AppsでMSIL
by
terurou
Yet Another DLR for Silverlightの試作
by
terurou
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
by
terurou
CommonJSの話
by
terurou
Scala×silverlight
by
terurou
DLR言語によるSilverlightプログラミング
by
terurou
Iron Python / Iron Ruby で .NET Programming
by
terurou
クラウドGPS(仮)
by
terurou
Recently uploaded
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
自社サービスでDurable Functionsを採用した話
1.
自社サービスで Durable Functionsを 採用した話 terurou 2020-01-18
2.
terurou • デンキヤギ代表取締役 • Haxe
Foundationの方から来ました • 去年、hxnodejs(Haxe公式のNode.js extern)の コミッターになりました • NGKの実行委員を11年ぐらいやってます 1
3.
デンキヤギ株式会社 2 ここ最近は、 Haxe/JS or Scala.jsでJSを生成する 仕事が売上の7-8割を占めてます
4.
求人情報 3 会社見学で寿司か焼肉を振る舞う制度、 まだ生きてます。
5.
コミュニティ支援やってます 4
6.
yagisan • 雑務を進める、カイゼンする • 帳票が主体にある業務システム基盤SaaS •
開発中(未リリース この辺から本題に入っていきます 5
7.
yagisanの技術指針 6 カネはない…
8.
カネはないので… • サーバーレス →
Azure Functions • サービス性質さえ合えば、費用効率は高い • AWSもGoogleも個人的に好きじゃないので… • かなりの処理をWebブラウザ側に押し付ける • SPA、あわよくばPWA • 帳票出力(すごく重い処理)もWebブラウザ側で 7
9.
郵送代行 • yagisanの特異な提供機能 • 郵送を提供している基盤系SaaSは希少 •
間違って「発送」した際、緊急キャンセルしたい • 某サービスにならい、20分以内ならキャンセル可能 8
10.
普通に作れば、バッチ処理 • 郵送指示は、とりあえずDBにINSERTしておく • 指示から20分以内ならキャンセルを受け付ける •
バッチを10分間隔などの短周期で起動し続ける • キャンセルされていないデータを拾って、郵送 9
11.
しかし、あまりバッチ処理にはしたくない • バッチが短周期で回る =
空振りが多い • 空振りでもリソースが必要 → コストがかかる • Azure Functions : リクエスト数とメモリ使用時間 • Cosmos DB : RU(≒スループット)の上限値 10
12.
11 そこで Durable Functions!
13.
Durable Functionsとは? -
MSDNから抜粋 12 Durable Functions は、 サーバーレス コンピューティング環境で ステートフル関数を記述できる Azure Functions の拡張機能です。
14.
13 ????
15.
私なりのDurable Functionsの説明 • 簡単に使える分散協調処理基盤 •
みんな大好きActorモデルもある! • Durable Functionsの実例を交えた実装パターンが MSDNで解説されている • .NET(C#, F#)の他に、Node.jsでも書ける • ちなみに弊社はHaxe/JSで… 14
16.
今回使うパターン • Human interaction
パターン • MSDNの日本語訳では「人による操作」 • SMS認証の実装例がMSDNでは紹介されている • Twillioを使って、SMSで認証コードを送る • ユーザーは3回まで入力可能(これが人による操作) • タイマー時間を迎えたら、認証コードは無効化される 15
17.
Human interaction パターンを応用すると… •
タイマー時間を迎える → 郵送実行 • 人による操作が入る → 郵送キャンセル • この制御機構があれば、緊急キャンセル機能を備えた 郵送システムが実現できる 16
18.
郵送システムの構成要素 17 Orchestrator 郵送指示 Trigger キャンセル TriggerHTTP HTTP 起動 シグナル 実行 Timer Event Listener 郵送 Activity
19.
Orchestratorの実装例 - 19行だけ! 18
20.
Orchestratorの要点 – たった3点 •
context.df.createTimer(expiration) • タイマーの作成 • context.df.waitForExternalEvent("cancel") • cancelシグナルリスナーの作成 • context.df.Task.any([timerTask, cancelTask]) • タイマーかキャンセルのどちらかが発生するまで待機 19
21.
Durable Functions、つよい • 僅かなコードで複雑な分散協調処理が書けてしまう •
分散協調処理の知識がなくても書けてしまう • 同じことをゼロからやろうとすると、めちゃ大変 • Akka, Kafka, ZooKeeper, …の組み合わせで実装 • クラスタリング, エラー監視, リカバリー,…の環境構築 • 何度か実務経験があるが、基盤構築に数か月はほしい 20
22.
Durable Functionsを使う上での課題 • 完全にベンダーロックインされてしまう •
厳密なタイマー制御はできない • 実行遅延が許容できない開発対象には適用できない • まだ枯れてない • 特にNode.js実装では、しばしばバグに遭遇する • とはいえ、GitHubでIssueを出せば対応してくれる 21
23.
まとめ • Durable Functions強い •
簡単 vs ベンダーロックイン • まだ枯れてないが、ちゃんと伝えれば直してくれる • 郵送システムの細かいところは端折った • エラー監視や復旧操作など • Singleton orchestratorsも使っている • Webブラウザ上で動く帳票出力エンジン 22
Download