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
7k
はてなシステム構想 / 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)
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
140
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
12k
Cloudless Computingの論文紹介
yuukit
2
440
#SRE論文紹介 Detection is Better Than Cure: A Cloud Incidents Perspective V. Ganatra et. al., ESEC/FSE’23
yuukit
3
1.5k
エンジニアのためのSRE論文への招待 / Introduction to SRE Papers for Engineers
yuukit
2
11k
博士課程での研究まとめ 2023年1月版 / Summary of my research in the PhD course
yuukit
1
260
AI時代に向けたクラウドにおける信頼性エンジニアリングの未来構想 / DICOMO2022 6A-1
yuukit
7
2.9k
AIOps研究録―SREのための システム障害の自動原因診断 / SRE NEXT 2022
yuukit
10
12k
Interactive AIOps
yuukit
0
2.1k
Other Decks in Research
See All in Research
クロスセクター効果研究会 熊本都市交通リノベーション~「車1割削減、渋滞半減、公共交通2倍」の実現へ~
trafficbrain
0
290
論文読み会 KDD2024 | Relevance meets Diversity: A User-Centric Framework for Knowledge Exploration through Recommendations
cocomoff
0
110
秘伝:脆弱性診断をうまく活用してセキュリティを確保するには
okdt
PRO
4
770
精度を無視しない推薦多様化の評価指標
kuri8ive
1
290
第 2 部 11 章「大規模言語モデルの研究開発から実運用に向けて」に向けて / MLOps Book Chapter 11
upura
0
430
データサイエンティストをめぐる環境の違い 2024年版〈一般ビジネスパーソン調査の国際比較〉
datascientistsociety
PRO
0
780
言語処理学会30周年記念事業留学支援交流会@YANS2024:「学生のための短期留学」
a1da4
1
260
Leveraging LLMs for Unsupervised Dense Retriever Ranking (SIGIR 2024)
kampersanda
2
250
Weekly AI Agents News! 9月号 プロダクト/ニュースのアーカイブ
masatoto
2
170
非ガウス性と非線形性に基づく統計的因果探索
sshimizu2006
0
430
EBPMにおける生成AI活用について
daimoriwaki
0
220
大規模言語モデルのバイアス
yukinobaba
PRO
4
760
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
YesSQL, Process and Tooling at Scale
rocio
169
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Making Projects Easy
brettharned
116
5.9k
How STYLIGHT went responsive
nonsquared
95
5.2k
Optimising Largest Contentful Paint
csswizardry
33
3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Docker and Python
trallard
41
3.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLとの向き合い方2022年版
quramy
44
13k
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ΦϖϨʔγϣϯΤϯδχΞੵۃืूத