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
はてなシステム構想 / The concept of Hatena System
Search
Yuuki Tsubouchi (yuuk1)
October 07, 2017
Research
2
7.1k
はてなシステム構想 / The concept of Hatena System
ペパボ・はてな技術大会@福岡
Yuuki Tsubouchi (yuuk1)
October 07, 2017
Tweet
Share
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
博士論文公聴会: Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining / PhD Defence
yuukit
0
19
博士学位論文予備審査 / Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining
yuukit
1
1.7k
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
190
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
13k
Cloudless Computingの論文紹介
yuukit
2
480
#SRE論文紹介 Detection is Better Than Cure: A Cloud Incidents Perspective V. Ganatra et. al., ESEC/FSE’23
yuukit
3
1.8k
エンジニアのためのSRE論文への招待 / Introduction to SRE Papers for Engineers
yuukit
2
11k
博士課程での研究まとめ 2023年1月版 / Summary of my research in the PhD course
yuukit
1
280
AI時代に向けたクラウドにおける信頼性エンジニアリングの未来構想 / DICOMO2022 6A-1
yuukit
7
3k
Other Decks in Research
See All in Research
機械学習でヒトの行動を変える
hiromu1996
1
550
Human-Informed Machine Learning Models and Interactions
hiromu1996
2
570
[輪講] Transformer Layers as Painters
nk35jk
4
680
精度を無視しない推薦多様化の評価指標
kuri8ive
1
360
Weekly AI Agents News! 10月号 論文のアーカイブ
masatoto
1
510
Building Height Estimation Using Shadow Length in Satellite Imagery
satai
3
190
PostgreSQLにおける分散トレーシングの現在 - 第50回PostgreSQLアンカンファレンス
seinoyu
0
230
Batch Processing Algorithm for Elliptic Curve Operations and Its AVX-512 Implementation
herumi
0
110
地理空間情報と自然言語処理:「地球の歩き方旅行記データセット」の高付加価値化を通じて
hiroki13
1
190
o1 pro mode の調査レポート
smorce
0
120
Bluesky Game Dev
trezy
0
150
2024/10/30 産総研AIセミナー発表資料
keisuke198619
1
460
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
GitHub's CSS Performance
jonrohan
1030
460k
The Pragmatic Product Professional
lauravandoore
32
6.4k
A Philosophy of Restraint
colly
203
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
980
4 Signs Your Business is Dying
shpigford
182
22k
The World Runs on Bad Software
bkeepers
PRO
67
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Adopting Sorbet at Scale
ufuk
74
9.2k
We Have a Design System, Now What?
morganepeng
51
7.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
ͯͳγεςϜߏ ͯͳ id:y_uuki ϖύϘɾͯͳٕज़େձ@Ԭ
id:y_uuki / @y_uuk1 TSUBOUCHI Yuuki https://yuuk.io/ גࣜձࣾͯͳ WebΦϖϨʔγϣϯΤϯδχΞ / γχΞΤϯδχΞ
/ ςοΫϦʔυ / ج൫։ൃνʔϜϦʔμʔ
ͯͳγεςϜ
https://twitter.com/y_uuk1/status/722085103166296065
https://twitter.com/matsumotory/status/722085980375621632
https://twitter.com/matsumotory/status/722232813668274177
https://twitter.com/kentaro/status/722233495632764928
ͦͯ͠ɺ1ܦա
ͯͳγεςϜߏ ɾ1. Γ͍ͨ͜ͱ ɾ2. ͯͳγεςϜͱɹ ɾ3. Repairable Infrastructureɹ ɾ4. Experimentable
Infrastructureɹ ɾ5. ·ͱΊɹ
1.Γ͍ͨ͜ͱ
ΤϯδχΞ͕ӡ༻ʹർฐͤͣʹ ੑΛൃشͯ͠ ָ͘͠։ൃͰ͖ΔΑ͏ʹ͍ͨ͠ ※ ※ಛʹɺSREɺWebΦϖϨʔγϣϯΤϯδχΞɺΠϯϑϥΤϯδχΞΛࢦ͢
Γ͍ͨ͜ͱ • ઓज़తͳγεςϜվળͷݶք͕Έ͖͑ͯͨ • ΤϯδχΞͷٕज़ʹΑΔղܾೳྗ͋͘͢͝Δͷ ͰɺγεςϜӡ༻ͷτΠϧ(࿑ۤ)ΛͬͱݮΒ͍ͨ͠ • γεςϜӡ༻͔Βղ์͞Εɺతͳ։ൃΛ͍ͬͯ ͖͍ͨ
ͳͥϏδϣϯ͔ • γεςϜʹର͢ΔϏδϣϯ͕·ͣඞཁͩͱײͨ͡ • ϏδϣϯͱͦΕʹجͮ͘ઓུΛܾఆ͢Δ͜ͱͰޮՌత ʹγεςϜΛվળ͍ͯ͘͠ • ͋͑ͯநతࢥߟΛਪ͠ਐΊΔ͜ͱͰݶքΛಥഁ͢Δ • ͳΊΒ͔ͳγεςϜ͕͖
2. ͯͳγεςϜͱ
ͯͳͷϏδϣϯ͔Βಋग़
http://hatenacorp.jp/information/mission ʮΔʯʮͭͳ͕Δʯʮදݱ͢Δʯ Ͱ৽͍͠ମݧΛఏڙ͠ɺ ਓͷੜ׆Λ๛͔ʹ͢Δ
http://hatenacorp.jp/information/mission
ޠ۟ͷΈൈਮ ΑΓଟ͘ͷΫϦΤΠλʔ ଟ༷ͳٕज़ ਓͷੜ׆ දݱ͢Δ
ਓͷੜ׆े => αʔϏεͷ࣌ؒతӬଓੑ දݱखஈଟ༷ => αʔϏεͷଟ༷ੑ
αʔϏε 100+ ϩʔϧ 1000+ ఏڙ 10years+ ※ ※͜͜Ͱ෦γεςϜεςʔδϯάڥΛؚΜͩγεςϜ୯Ґ
૿͑ଓ͚ΔαʔϏεΛޮΑ͘Քಇͤ͞Δ αʔϏεΛ10୯ҐͰՔಇͤ͞ଓ͚Δ
αʔϏεͷ ʮݸʯͱʮ࣌ؒʯʹରͯ͠ εέʔϧ͢Δ͜ͱΛࢦ͢
ͯͳʹ ͢Ͱʹଘࡏ͢Δཁૉٕज़͔Β ۩ମతͳϏδϣϯΛߟ͑Δ
3. Repairable Infrastructure
Droot https://github.com/yuuki/droot
Droot • DockerΞʔΧΠϒΛchrootͰ࣮ߦ͢Δ͚ͩͷܰྔΞϓ ϦέʔγϣϯίϯςφΤϯδϯ • Docker͕ఏএ͢ΔBuild -> Ship -> Runͷ֓೦Λղ͠ɺ
ίϯςφΤϯδϯ෦ͷΈΛͯͳΒ࣮ͨ͘͠͠ͷ
ڊେͳج൫ιϑτΣΞʹ ର͢ΔΞϯνςʔθ
ڊେͳج൫ιϑτΣΞ • طଘͷج൫ιϑτΣΞ܈ͱͷ࿈ܞ͕͍͠ • ෆ҆ఆʹͳͬͨͱ͖ʹରॲͮ͠Β͍ • όʔδϣϯΞοϓ࣌ͷӨڹൣғ͕େ͖͍ • ͕ܦա͢Δͱɺ৽͍͠ͷೖΕସ͑ͨΓɺఫୀ͢ ΔՄೳੑ͋Δ
• ӡ༻͢ΔΠϯϑϥετϥΫνϟʹ͔ͳ͍
ղͱ࠶ߏங
Γ͍ͨ͜ͱΛখ͞ͳཁૉʹ ղ͠ɺ࠶ߏங͢Δ UNIXֶͷΑ͏ͳߟ͑ํ
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Build Run Ship
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive
Fetcher Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό Service Discovery
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive
Fetcher Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό Service Discovery
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive
Fetcher Service Discovery Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive
Fetcher Service Discovery Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive
Fetcher Service Discovery Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό
۩ମతͳ࣮Λஔ Amazon S3 droot build awscli furoshiki stretcher Mackerel capze
droot run σϓϩΠλʔήοτ CIαʔό
ղͱ࠶ߏங • ଟͷαʔϏεΛޮΑ͘ӡ༻͢Δʹڞ௨ج൫͕ඞཁ • ظӡ༻͢ΔαʔϏεมԽ͠ଓ͚Δ • ιϑτΣΞΛখ͘͞γϯϓϧʹղ͠ɺকདྷͷมߋʹ దԠͰ͖ΔΑ͏ʹ͓ͯ͘͠
Repairable मਖ਼ͷ༰қͳ ܽؕ෦Λमਖ਼͢ΔͨΊͷมߋΛہॴతʹԡ͑͞Δ͜ ͱ͕Ͱ͖,݁Ռͱͯ͠,ଞͷϓϩάϥϜϞδϡʔϧ,ଐจ ॻʹ࠷খݶͷӨڹ͔͠༩͑ͳ͍Α͏ͳιϑτΣΞ ʹؔͯ͠༻͍Δ༻ޠ. http://ejje.weblio.jp/content/repairable
Repairable Infrastructure
4. Experimentable Infrastructure
Q. ࠷࣌ؒΛͱΒΕ͍ͯΔ͜ͱʁ A. γεςϜͷߏঢ়گ͕Θ͔Βͳ͍ͱ ͖ͷௐࠪ
αʔϏε͕ଟ͍ αʔϏεͷྺ࢙͕͍ ☓ ෳࡶ =
γεςϜͷঢ়ଶͱৼΔ͍Λ ଊ͑ଓ͚Δ͜ͱͷॏཁੑ ʹؾͮ͘
Mackerel https://mackerel.io
Mackerel • αʔόཧɾࢹαʔϏε • ͱͱͯͳͷࣾπʔϧͩͬͨ • 2007લޙʹଟͷαʔϏεΛޮΑ͘ߏங͢ΔͨΊ ʹXen HypervisorΛಋೖ •
Ծϗετ͕૿େ͠ɺExcelͰཧͰ͖ͳ͘ͳͬͨ • ϗετใΛϓϩάϥϚϒϧʹѻ͏MackerelΛ։ൃ
Mackerel αʔϏεͷଟ༷ੑΛ ղܾ͢ΔͨΊʹൃୡ͖ͯͨ͠
୯ͳΔࢹͰͳ͍
؍ଌ Observation
؍ଌ ࢮ׆ঢ়ଶ ϝτϦοΫ ϩά Πϕϯτ αʔό ߏཁૉ ཁૉಉ࢜ ͷؔ
ܧଓతͳ؍ଌʹΑΓ աڈΛΓɺݱࡏΛଊ͑Δ
͜͜·Ͱݟ͍͑ͯΔ ͦͷ࣍ʹΓͨ͘ͳΔ͜ͱ
ະདྷΛ༧ଌ͠ɺରԠ͢Δ
࣮ݧ Experiment
ϑΟʔυόοΫ੍ޚ
ϑΟʔυόοΫ੍ޚɺେنͰෳࡶ ͳγεςϜΛɺͨͱ͑γεςϜ͕֎ཚ ʹӨڹΛड͚Α͏ͱɺ͋Δ͍ɺݶ ΒΕͨࢿݯΛ༗ޮར༻ͭͭ͠ɺͦͷੑ ೳΛอͬͯಈ࡞ͤ͞ΔͨΊͷख๏Ͱ͢ɻ Philipp K. Janert ஶ, ʮΤϯδχΞͷͨΊͷϑΟʔυόοΫ੍ޚೖʯ,ΦϥΠϦʔɾδϟύϯ,
2014/07
ϑΟʔυόοΫ੍ޚͷ • ੍ޚରϒϥοΫϘοΫεͰ͋Γɺதෆ໌ͰΑ͍ • OpsΤϯδχΞ͕ΞϓϦέʔγϣϯͷதΛΒͣʹϞχ λϦϯά݁Ռ͚ͩΛΈͯোରԠ͢Δ༷ࢠʹࣅ͍ͯΔ • ॻ੶ʹαʔόͷͷௐΩϟογϡώοτͷԠ༻ྫ ͕͋Δ •
WebγεςϜෳࡶ͗ͯ͢ཧϞσϧΛಋग़͢Δͷ͠ ͍ͨΊɺύϥϝʔλͷܾఆʹʮ࣮ݧʯʹΑΔܭଌ͕ඞཁ
ϑΟʔυόοΫ੍ޚͷಋೖΠϝʔδ • ੍ޚೖྗ: αʔόͷɺαʔόͷϝϞϦྔͳͲ • ੍ޚग़ྗ: ϨεϙϯελΠϜɺΤϥʔͳͲ • ੍ޚग़ྗΛࢹ͠ଓ͚ɺඪ͔Β֎ΕͨΒ੍ޚೖྗΛมߋ ͠ɺݩʹ͢Α͏ͳૢ࡞Λ͢Δ
• ੍ޚೖྗʹରͯ͠ୡؔΛద༻͠ɺ੍ޚग़ྗΛಘΔ • ୡؔͷಉఆͱνϡʔχϯάɺ࣮γεςϜͰԠΛΈΔ ඞཁ͕͋Δ
ຊ൪ڥΛյ͢ͷෆ҆
ຊ൪ʹ͍ۙڥΛ࡞Δٕज़Λൃୡͤ͞ ύϥϝʔλΛ͔࣮͑ͯݧΛ܁Γฦ͠ɺ ϞσϧΛߏங͢Δ Container, Serverless Architecture, Shadow Proxyɺ
ຊ൪ڥ ࣮ݧڥ ؍ଌγεςϜ ࣮ݧ ಈ࡞ԠϞσϧ ϑΟʔυόοΫ ੍ޚ
࣮ݧΛݩʹະདྷͷ؍ଌΛ͢Δ
Experimentable Infrastructure
5. ·ͱΊ
ͯͳγεςϜ
αʔϏεͷ ʮݸʯͱʮ࣌ؒʯʹରͯ͠ εέʔϧͤ͞ΔͨΊʹ
ղͱ࠶ߏஙʹΑΓRepairableʹߏங͞Ε ؍ଌͱ࣮ݧͷϧʔϓΛߴʹճ͠ͳ͕Β ࣗతʹಈ࡞͢ΔExprimentableͳγεςϜ
http://hatenacorp.jp/recruit/career/operation-engineer WebΦϖϨʔγϣϯΤϯδχΞੵۃืूத