Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TimeFuzeアーキテクチャ構想 / The concept of TimeFuze Arc...
Search
Yuuki Tsubouchi (yuuk1)
December 23, 2017
Research
1
9.9k
TimeFuzeアーキテクチャ構想 / The concept of TimeFuze Architecture
第1回ウェブシステムアーキテクチャ(WSA)研究会@京都
Yuuki Tsubouchi (yuuk1)
December 23, 2017
Tweet
Share
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
AIスパコン「さくらONE」のLLM学習ベンチマークによる性能評価 / SAKURAONE LLM Training Benchmarking
yuukit
2
660
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
11
4.3k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
1.1k
クラウドのテレメトリーシステム研究動向2025年
yuukit
4
1.1k
博士論文公聴会: Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining / PhD Defence
yuukit
1
250
博士学位論文予備審査 / Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining
yuukit
1
2.1k
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
300
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
14k
Cloudless Computingの論文紹介
yuukit
2
590
Other Decks in Research
See All in Research
SSII2025 [TS3] 医工連携における画像情報学研究
ssii
PRO
3
1.3k
20250624_熊本経済同友会6月例会講演
trafficbrain
1
660
[CV勉強会@関東 CVPR2025] VLM自動運転model S4-Driver
shinkyoto
2
510
Combinatorial Search with Generators
kei18
0
900
診断前の病歴テキストを対象としたLLMによるエンティティリンキング精度検証
hagino3000
1
150
SegEarth-OV: Towards Training-Free Open-Vocabulary Segmentation for Remote Sensing Images
satai
3
300
カスタマーサクセスの視点からAWS Summitの展示を考える~製品開発で活用できる勘所~
masakiokuda
2
210
SSII2025 [SS1] レンズレスカメラ
ssii
PRO
2
1.1k
AWSで実現した大規模日本語VLM学習用データセット "MOMIJI" 構築パイプライン/buiding-momiji
studio_graph
2
640
単施設でできる臨床研究の考え方
shuntaros
0
3k
大規模な2値整数計画問題に対する 効率的な重み付き局所探索法
mickey_kubo
1
380
snlp2025_prevent_llm_spikes
takase
0
350
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
How STYLIGHT went responsive
nonsquared
100
5.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Documentation Writing (for coders)
carmenintech
75
5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Optimizing for Happiness
mojombo
379
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Transcript
TimeFuzeΞʔΩςΫνϟߏ ͯͳ id:y_uuki / @y_uuk1 2017/12/23 ୈ1ճΣϒγεςϜΞʔΩςΫνϟ(WSA)ݚڀձ@ژ ॲཧͱσʔλͱλΠϚʔΛҰମԽͨ͠σʔλύΠϓϥΠϯ
id:y_uuki / @y_uuk1 Yuuki TSUBOUCHI https://yuuk.io/ ͯͳͷΣϒΦϖϨʔγϣϯΤϯδχΞ WSAݚڀձ ཧࣄ?෭ࠪ?
TimeFuze?
࣌ݶ৴ Time Fuze
ىരஔ+Րༀ+λΠϚʔ
ॲཧ+σʔλ+λΠϚʔ
TimeFuze ΞʔΩςΫνϟ
͘͡ 1. എܠͱత 2. TimeFuzeΞʔΩςΫνϟ 3. ߟ 4. Ή͢ͼ
1. എܠͱత
WebαʔϏεͷσʔλॲཧཁٻͷෳࡶԽ • ϦΫΤετʹରͯ͠HTMLͷϨεϙϯεΛฦ٫͢ΔҎ֎ ͷϫʔΫϩʔυͷଟ༷Խ͕ਐΜͰ͍Δ • ੑೳಛੑͷҟͳΔσʔλετΞͷซ༻ɺػցֶशʹΑ Δ࣌ؒपظͰͷେنͳσʔλॲཧΛٻΊΒΕ͍ͯΔ • εέʔϧ͍ͤ͢͞σʔλύΠϓϥΠϯॲཧ͕ඞཁ
ҰൠͷσʔλύΠϓϥΠϯ DataSource Data Destination όονॲཧ λΠϜεέδϡʔϥʔ ىಈ
ҰൠͷσʔλύΠϓϥΠϯͷ՝ • σʔλྔ૿େʹ͋ΘͤͨεέʔϦϯάӡ༻ͷ͠͞ • όονॲཧ్தͷΤϥʔॲཧͷ͠͞ • λΠϜεέδϡʔϥͦͷͷͷӡ༻ͷࡶ͞ • ࣮ߦසઃఆͷॊೈੑͷ͞
σʔλ λΠϚʔ σʔλͱॲཧͱλΠϚʔͷҰମԽϞσϧͷఏҊ ॲཧ DataSource σʔλ λΠϚʔ ॲཧ DataDestination
ҰൠͷσʔλύΠϓϥΠϯͷ՝ͷղܾ • σʔλྔ૿େʹ͋ΘͤͨεέʔϦϯάӡ༻ͷ͠͞ • ࠷ॳ͔ΒฒߦॲཧΛલఏͱͨ͠ΞʔΩςΫνϟͰղܾ • όονॲཧ్தͷΤϥʔॲཧͷ͠͞ • όονॲཧͰͳ͘Ϩίʔυ୯ҐͰδϣϒఆٛͰղܾ •
λΠϜεέδϡʔϥͦͷͷͷӡ༻ͷࡶ͞ • σʔλετΞͷTTLʹΑΓεέδϡʔϥϗετ͕ෆཁ • ࣮ߦසઃఆͷॊೈੑͷ͞ • λΠϚʔઃఆͷཻΛϨίʔυ୯ҐͰઃఆ͢Δ͜ͱͰղܾ
http://blog.yuuk.io/entry/the-rebuild-of-tsdb-on-cloud
֊ܕσʔλετΞߏͷ࣌ܥྻσʔλϕʔε ΠϯϝϞϦ DB ΦϯσΟεΫ DB ΦϒδΣΫτ ετϨʔδ ৽ ݹ ߴ
҆
֊ܕσʔλετΞͷ͍͠ͱ͜Ζͱղܾ • σʔλετΞؒͷσʔλҠಈύΠϓϥΠϯͷεέʔϥϏ ϦςΟ • ಛఆͷϨίʔυͷΈɺσʔλετΞҠಈλΠϛϯάΛ੍ ޚ͢Δ • ͜ΕΒΛTimeFuzeΞʔΩςΫνϟʹΑΓղܾ •
DynamoDBͷTTLͱLambda TriggerʹΑΔ࣮
ͦͷଞͷTimeFuzeͷద༻ΞϓϦέʔγϣϯྫ • ࣌ܥྻσʔλҟৗݕͷֶशϞσϧͷఆظߋ৽ • Ϛϧνςφϯτڥʹ͓͚ΔେنͳSSL/TLSূ໌ॻߋ ৽
2. TimeFuzeΞʔΩςΫνϟ
1. insert DataSource record Data TTL DataDestination Trigger Other API/DataStore
record 2. expire 3. insert or update
TimeFuzeͷϝϦοτ • ฒߦॲཧΛલఏͱͨ͠ΞʔΩςΫνϟͰ͋Δ͜ͱ • Τϥʔ͔Βͷճ෮ॲཧ͕༰қͰ͋Δ͜ͱ • λΠϜεέδϡʔϥͱόονॲཧͷͨΊͷϗετ͘͠ Ϋϥελͷߏஙɾӡ༻͕ෆཁͰ͋Δ͜ͱ • Ϩίʔυ୯ҐλΠϚʔʹΑΓɺδϣϒͷ࣮ߦසΛϨίʔ
υ୯ҐͰௐՄೳͰ͋Δ͜ͱ
AWSʹΑΔ࣮
DynamoDB TTL + Lambda Trigger • DynamoDB: ϑϧϚωʔδυܕͷNoSQLσʔλϕʔε αʔϏεɻTTLΛαϙʔτ͍ͯ͠Δɻ •
Lambda: ΠϕϯτൃՐΛܖػʹFunctionΛݺͼग़ͤΔ • DynamoDB্ͷϨίʔυʹର͢ΔTTLظݶΕΠϕϯτ ΛܖػʹɺLambda FunctionΛτϦΨʔͱ࣮ͯ͠ߦ
1. insert DynamoDB record Data TTL DynamoDB,S3,… Lambda Other API/DataStore
record 2. expire 3. insert or update
ΦϯϓϨϛεڥͰͷ࣮
Redis Keyspace௨ + ϝοηʔδΩϡʔ • RedisͷKeyspace௨ػೳʹΑΓTTLΠϕϯτΛߪಡͰ͖ Δ • ͨͩ͠ɺ҆શͳτϦΨʔॲཧͷͨΊʹɺߪಡͨ͠Πϕϯ τΛϝοηʔδΩϡʔʹΑΓӬଓԽ͢Δඞཁ͕͋Δ
• ݴޠΘͣར༻͍͢͠ϝοηʔδΩϡʔͱͯ͠ Fireworq͕͋Δ
TimeFuzeͷ ۩ମతͳΞϓϦέʔγϣϯ ͷద༻
࣌ܥྻσʔλͷҟৗݕ • ऩूͨ͠ϝτϦοΫܥྻʹରͯ͠ɺֶशϞσϧΛߏங • ৽نϝτϦοΫͷରԠͷͨΊϞσϧΛఆظతʹߋ৽͢Δ • ଞͷσʔλετΞʹҠಈ͢ΔΘ͚Ͱͳ͘ɺDataSource ͱDataDestinationಉҰͷσʔλετΞΛར༻ • ֶ֤शϞσϧͷϨίʔυʹTTLΛઃఆ͠ɺTriggerͰֶश
ॲཧޙɺϞσϧΛߋ৽͢Δ
1. insert DataSource record Metric TTL Trigger ࣌ܥྻ σʔλϕʔε 2.
expire 3. update ֶशॲཧ
େنSSL/TLSূ໌ॻཧ • ϒϩάαʔϏεͳͲͰେྔͷSSL/TLSূ໌ॻΛཧ͠ɺ ϲ݄͝ͱʹߋ৽͢Δέʔε • ূ໌ॻΛσʔλϕʔεʹ֨ೲ͠ಈతऔಘ͢ΔΞʔΩςΫ νϟΛલఏͱ͢Δ • ֤υϝΠϯʹର͢Δূ໌ॻϨίʔυʹTTLΛઃఆ͠ɺ Trigger͕ূ໌ॻΛ࠶औಘ͠ɺDataDestination্ॻ͖
1. insert DataSource record ূ໌ॻ TTL Trigger Let’s Encrypt 2.
expire 3. update ূ໌ॻ ߋ৽ॲཧ
3. ߟ
TimeFuzeͷσϝϦοτ • ΞʔΩςΫνϟϨϕϧ • DataSource্ͷෳͷϨίʔυΛϚʔδ͢ΔॲཧΛͮ͠Β͍ • ࣮Ϩϕϧ • Ұ࣌తʹϨίʔυ͕আ͞ΕΔͨΊɺσʔλͷҰ؏ੑͷ ͕ඞཁ
• TTLظݶ͔Βআॲཧ։࢝·ͰͷσΟϨΠ͕࣌ؒϕετΤ ϑΥʔτͳͨΊɺִ࣌ؒؒ
TimeFuzeͷσϝϦοτղܾҊ • TTLΛར༻ͤͣɺTime to EventػೳΛσʔλετΞʹ ΈࠐΉ • Time to Eventػೳઃఆͨ࣌͠ࠁΛܦաͨ͠Πϕϯτ
ͷΈΛൃߦ͠ɺϨίʔυআ͠ͳ͍
4. Ή͢ͼ
Ή͢ͼ • εέʔϧ͍ͤ͢͞σʔλύΠϓϥΠϯΞʔΩςΫνϟ͕ WebαʔϏε։ൃʹٻΊΒΕ͍ͯΔ • ୯ҰͷλΠϜεέδϡʔϥʔʹΑΔσʔλύΠϓϥΠϯͷ ՝ΛɺσʔλͱॲཧͱλΠϚʔͷҰମԽʹΑΓղܾ͢Δ ख๏ΛఏҊͨ͠ • ࣮ͷʹΑΓɺݱஈ֊Ͱ࣮ӡ༻͢ΔͨΊʹΞϓϦέʔ
γϣϯͷ͕ඞཁͱͳΔ
ࠓޙͷऔΓΈ • طଘͷఆظσʔλύΠϓϥΠϯͷ՝ΛαʔϕΠ͠ཧ • طଘσʔλετΞ࣮ͷTTLσΟϨΠ࣌ؒͷௐࠪ • طଘͷσʔλετΞͷTime to EventͷΈࠐΈ
ࣗੑͷ͋ΔσʔλॲཧͷՄೳੑ • VM => ίϯςφ, ίϯςφ => εϨου • σʔλϕʔε
=> ςʔϒϧ, ςʔϒϧ => σʔλϨίʔυ
SRE/ΦϖϨʔγϣϯΤϯδχΞͷઓ • TimeFuzeͷΑ͏ͳσʔλॲཧΞʔΩςΫνϟΛࣄʹ͍ͯ͠ͳ͍ • ۙͰ͍ͬͯΔ͜ͱɺΠϯϑϥετϥΫνϟࣗମͷมߋΛ࠷ େԽ͢Δࣄ • ج൫ͷந͕͕͋ΔʹͭΕɺSREͷࣄ͕ΑΓࣄۀʹۙ͘ͳ͍ͬͯ͘ • ࣄۀʹ͍ۙ΄ͲɺநԽ͕͘͠ͳΓج൫Ͱٵऩͮ͠Β͘ͳΔ
• ෳͷσʔλετΞΛ͏·͘׆༻ͨ͠ΓɺෳͷϫʔΫϩʔυΛ͏· ͍͍ͯ͘͘͞ΞʔΩςΫνϟʹؔ৺͕͋Δ