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
10k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TimeFuzeアーキテクチャ構想 / The concept of TimeFuze Architecture
第1回ウェブシステムアーキテクチャ(WSA)研究会@京都
Yuuki Tsubouchi (yuuk1)
December 23, 2017
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
「アラーティング」の話をしよう— SREconや論文等の最先端とのギャップをみる
yuukit
7
2k
SAKURAONE:An Open Ethernet-based AI HPC System And Its Observed Workload Dynamicsin a Single-Tenant LLM Development Environment
yuukit
1
590
AIスーパーコンピュータにおけるLLM学習処理性能の計測と可観測性 / AI Supercomputer LLM Benchmarking and Observability
yuukit
1
1.1k
SREはサイバネティクスの夢をみるか? / Do SREs Dream of Cybernetics?
yuukit
3
690
SREのためのテレメトリー技術の探究 / Telemetry for SRE
yuukit
13
3.8k
AIスパコン「さくらONE」の オブザーバビリティ / Observability for AI Supercomputer SAKURAONE
yuukit
2
1.5k
AIスパコン「さくらONE」のLLM学習ベンチマークによる性能評価 / SAKURAONE LLM Training Benchmarking
yuukit
2
1.3k
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
11
7.6k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
1.9k
Other Decks in Research
See All in Research
Cross-Media Human-Information Interaction
signer
PRO
0
230
Source Code Diff Revolution
tsantalis
0
140
Ghost in the 7‑Zip: The Shadow of Residential Proxies Creeping into Your Life
nttcom
0
2.1k
HackSick vol.7 LT資料【LLMアーキテクチャ入門・事前学習時の躓き所解説】 スパースなAttention・状態空間モデル
rikkabotan7
0
170
GLIM とMegaParticles:正規分布近似の限界とタイトカップリング&パーティクルフィルタの進展 / GLIM and MegaParticles : Progress of the distribution representation in SLAM
koide3
0
810
【中間報告】国会議員の立法・政策実務を支える環境を巡る現状と課題
polipoli
0
580
進学校の生徒にはア行の苗字が多いのか
ozekinote
0
570
「AIとWhyを深堀る」をAIと深堀る
iflection
0
610
HAKARI-Bench - 実運用視点での情報検索モデル評価ベンチマーク
hotchpotch
1
730
ros2-perf-multihost: 分散システムにおける客観的なアーキテクチャ評価フレームワーク
takasehideki
0
250
JICA QUEST 共創×革新プログラム Impact Report(海ノ向こうコーヒー)
ontheslope
0
550
データサイエンティストの就労意識~2015 → 2026 一般(個人)会員アンケートより
datascientistsociety
PRO
0
770
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Site-Speed That Sticks
csswizardry
13
1.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
Docker and Python
trallard
47
4.2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
KATA
mclloyd
PRO
35
15k
The Language of Interfaces
destraynor
162
27k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Tell your own story through comics
letsgokoyo
1
1.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
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ͷࣄ͕ΑΓࣄۀʹۙ͘ͳ͍ͬͯ͘ • ࣄۀʹ͍ۙ΄ͲɺநԽ͕͘͠ͳΓج൫Ͱٵऩͮ͠Β͘ͳΔ
• ෳͷσʔλετΞΛ͏·͘׆༻ͨ͠ΓɺෳͷϫʔΫϩʔυΛ͏· ͍͍ͯ͘͘͞ΞʔΩςΫνϟʹؔ৺͕͋Δ