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
yuukit
1
1.7k
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
180
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
12k
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.7k
エンジニアのための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
AIOps研究録―SREのための システム障害の自動原因診断 / SRE NEXT 2022
yuukit
10
12k
Other Decks in Research
See All in Research
地理空間情報と自然言語処理:「地球の歩き方旅行記データセット」の高付加価値化を通じて
hiroki13
1
190
AIトップカンファレンスからみるData-Centric AIの研究動向 / Research Trends in Data-Centric AI: Insights from Top AI Conferences
tsurubee
3
1.5k
PhD Defence: Considering Temporal and Contextual Information for Lexical Semantic Change Detection
a1da4
0
120
ECCV2024読み会: Minimalist Vision with Freeform Pixels
hsmtta
1
410
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
300
リモートワークにおけるパッシブ疲労
matsumoto_r
PRO
6
4.9k
精度を無視しない推薦多様化の評価指標
kuri8ive
1
360
Segment Any Change
satai
2
210
Evaluating Tool-Augmented Agents in Remote Sensing Platforms
satai
2
150
Weekly AI Agents News! 11月号 論文のアーカイブ
masatoto
0
290
o1 pro mode の調査レポート
smorce
0
110
Elix, CBI2024, スポンサードセッション, Molecular Glue研究の展望:近年の進展とAI活用の可能性
elix
0
130
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Being A Developer After 40
akosma
89
590k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Code Review Best Practice
trishagee
67
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
GitHub's CSS Performance
jonrohan
1030
460k
Docker and Python
trallard
44
3.3k
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ΦϖϨʔγϣϯΤϯδχΞੵۃืूத