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
技術が実現するイノベーションとWebサービス運用の未来 / Innovation from&f...
Search
tatsuru
PRO
August 02, 2018
Technology
0
1.4k
技術が実現するイノベーションとWebサービス運用の未来 / Innovation from&for Web Operations
さくらの大納涼会2018 at 北海道にて、「技術が実現するイノベーションと◯◯」というテーマでの発表資料です
tatsuru
PRO
August 02, 2018
Tweet
Share
More Decks by tatsuru
See All by tatsuru
プロダクトオーナーとしてSLOに向き合う 〜Mackerelチームの事例〜 / SRE NEXT 2023
tatsuru
PRO
0
2.1k
Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること
tatsuru
PRO
0
4.4k
Mackerel の EventBridge 対応開発秘話
tatsuru
PRO
1
150
成長するためのエンジニア組織 / Hatena Engineering Group 2018
tatsuru
PRO
1
98
はてなのログ運用 これまでとこれから / Hatena Engineer Seminar #6
tatsuru
PRO
7
12k
Mesosを使ったImmutable Infra 管理システムを作ってみた
tatsuru
PRO
8
7.9k
Other Decks in Technology
See All in Technology
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.4k
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
220
技術負債の「予兆検知」と「状況異変」のススメ / Technology Dept
i35_267
1
1.1k
現場で役立つAPIデザイン
nagix
33
12k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
4
730
Datadogとともにオブザーバビリティを布教しよう
mego2221
0
140
アジャイル開発とスクラム
araihara
0
170
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
550
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
16
6.6k
2.5Dモデルのすべて
yu4u
2
840
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Docker and Python
trallard
44
3.3k
Automating Front-end Workflow
addyosmani
1368
200k
Adopting Sorbet at Scale
ufuk
74
9.2k
Building Applications with DynamoDB
mza
93
6.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
The Cult of Friendly URLs
andyhume
78
6.2k
Music & Morning Musume
bryan
46
6.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Visualization
eitanlees
146
15k
GraphQLとの向き合い方2022年版
quramy
44
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Transcript
ٕज़͕࣮ݱ͢ΔΠϊϕʔγϣϯͱ WebαʔϏεӡ༻ͷະདྷ ลɹى 2018/08/02 ͘͞Βͷେೲྋձ2018 at ւಓ
ࣗݾհ • ล ى id:wtatsuru, @tatsuru • ͯͳɹγεςϜϓϥοτϑΥʔϜ෦ ɹɹɹɹνʔϑΤϯδχΞ •
େֶϩϘίϯɺHPC • 2011ͯͳೖࣾɻͯͳϒϩάͷߏங
ٕज़͕࣮ݱ͢ΔΠϊϕʔγϣϯ • WebαʔϏεͷΠϯϑϥ = ཪํɺͰͳ͘ • Πϊϕʔγϣϯʹͭͳ͍͛ͯͬͨ
ຊͷ༰ • ʮͯͳʯʹ͍ͭͯ • Πϊϕʔγϣϯʹͭͳ͕ΔΠϯϑϥٕज़ • ͯͳͷΠϯϑϥ࢙ • αʔόཧπʔϧ͔ΒMackerel
ʮͯͳʯʹ͍ͭͯ
ͯͳ • 2001ɹژͰۀ • ࣾһ 100+ਓɺ͕ΤϯδχΞ • ౦ژɾژ2ڌମ੍ • WebαʔϏεΛ࡞͍ͬͯ·͢
• ͯͳϒϩάɺͯͳϒοΫϚʔΫ • MackerelɺϚϯΨϏϡʔϫɺetc.
ͯͳͷϛογϣϯ ʮΔʯʮͭͳ͕Δʯʮදݱ͢ΔʯͰ ৽͍͠ମݧΛఏڙ͠ɺਓͷੜ׆Λ๛͔ʹ͢Δ
None
ਓྗݕࡧͯͳ
ͯͳϒοΫϚʔΫ
ͯͳϒϩά
ͯͳϒϩά.FEJB
গδϟϯϓϧʔΩʔ
গδϟϯϓʴ
ΧΫϤϜ
ΠΧϦϯά̎
.BDLFSFM
None
࠷ۙͷͯͳ ϒοΫϚʔΫ ϒϩά ϊϋ ΞυςΫ اۀϒϩά #UP$ #UP#
Πϊϕʔγϣϯʹͭͳ͕Δ Πϯϑϥٕज़
Πϊϕʔγϣϯ • WebαʔϏεͷΠϯϑϥٕज़ = ཪํʁ
None
Mackerel • ΤϯδχΞΛϫΫϫΫͤ͞Δ ʮײతαʔόࢹαʔϏεʯ • Infrastructure as Code ΛਐԽͤ͞ɺ ΤϯδχΞͷ։ൃɾӡ༻ϓϩηεΛֵ৽͢Δ
Mackerel • ࣾͷΠϯϑϥཧϊϋΛαʔϏεͱͯ͠ల։ • ͜Ε͔ΒͷαʔϏεӡ༻ͷϕετϓϥΫςΟεΛఏ Ҋ͠ଓ͚Δ
Πϊϕʔγϣϯʹͭͳ͕ͬͨ • ࣾͰΠϯϑϥཧΛޮԽͯ͠ • ߟ͑ํΛચ࿅͍ͯ͘͠ͱ • ΤϯδχΞͷ։ൃɾӡ༻ϓϩηεΛֵ৽͢ΔαʔϏε
Mackerel • ΤϯδχΞΛϫΫϫΫͤ͞Δ ʮײతαʔόࢹαʔϏεʯ • Infrastructure as Code ΛਐԽͤ͞ɺ ΤϯδχΞͷ։ൃɾӡ༻ϓϩηεΛֵ৽͢Δ
ͯͳͷΠϯϑϥ࢙
• ݹ 2001ʙ2004 • தੈ 2004ʙ2007 • ۙੈ 2007ʙ2011 •
ۙ 2011ʙ2014 • ݱ 2014ʙ ͯͳγεςϜͷߟݹֶ https://speakerdeck.com/motemen/history-of-development-at-hatena
ݹ 2001ʙ2004 • 2001 ਓྗݕࡧͯͳ • 2002 ͯͳμΠΞϦʔ
ݹ 2001ʙ2014 jkondoɺେֶͷ༑ਓ stanaka ʹதݹPCΛΒ͍ॳ ͯͳαʔόʔͱ͢Δɻʮhanaseʯͱ໊͚ΒΕͨαʔ όʔͯ͘ͳͷͨΊʹߩݙ͠ɺ ϋʔυΣΞͷୀ ޙϗετ໊ผͷαʔόʔʹड͚ܧ͕Ε͍ͯΔɻ ڭՊॻʹࡌΒͳ͍ʂͯͳͷྺ࢙
http://www.hatena.ne.jp/company/hatena10th/history
ݹ 2001ʙ2004 ڭՊॻʹࡌΒͳ͍ʂͯͳͷྺ࢙ http://www.hatena.ne.jp/company/hatena10th/history
தੈ 2004ʙ2007 • 2004 ͯͳάϧʔϓ • 2005 ͯͳϒοΫϚʔΫ
தੈͷαʔόཧ • ࣗ࡞αʔόத৺ • wiki ཧ + MRTG • αʔόೖ࡞ۀ
= ͔͋ͨͨΈͷ͋Δख࡞ۀ • ாߋ৽ɺMRTGߋ৽ɺࢹઃఆɺσϓϩΠઃఆ
ۙੈ 2007ʙ2011 • 2007 ͘͞ΒΠϯλʔωοτiDCར༻։࢝ • 2008 ຊࣾژҠస • 2008
ͯͳϒοΫϚʔΫϦχϡʔΞϧ
ۙੈͷ͓͜Γ ͘͞ΒΠϯλʔωοτҠߦه#1 http://d.hatena.ne.jp/naoya/20070116/1168935694
։ൃମ੍ͷมԽ • νʔϜͰͷΛ࡞ΔΑ͏ʹ • ࣾϑϨʔϜϫʔΫɺඪ४ԽͷྲྀΕ • ΠϯϑϥνʔϜͷੜ
ۙੈͷΠϯϑϥ • ࣗ࡞αʔόશظ • Xen ʹΑΔԾԽ • ૿ՃɺߏͷෳࡶԽ • Ծαʔό1000ఔ
αʔόཧπʔϧੜ • αʔόཧπʔϧ = ॳmackerel ੜ • mackerel = ʮαόʯ
• ࠷ॳ wiki + MRTG ͷ౷߹͔Β
ͯͳͷΠϯϑϥ͍·Ή͔͠ https://www.slideshare.net/stanaka/hatena-infrastructer-from-the-beginning
αʔόཧπʔϧੜ • ֤छπʔϧͷϚελʹͳ͍ͬͯͬͨ • ࢹ • ϝτϦοΫऩू • σϓϩΠ •
෦DNS ͯͳͷΠϯϑϥ͍·Ή͔͠ https://www.slideshare.net/stanaka/hatena-infrastructer-from-the-beginning
None
ۙੈͷΠϯϑϥ • ·ͬ͞ΒͳαʔόΛ30Ͱຊ൪ೖͰ͖ΔΑ͏ʹ͢Δ http://blog.stanaka.org/entry/20070728/1185605498
ۙ 2011ʙ2014 • 2011 ͯͳϒϩάβϦϦʔε
ۙͷΠϯϑϥ • ࣗ࡞αʔόऴᖼɺϕϯμʔαʔό • ͞Α͏ͳΒɺࣗ࡞αʔόʔ http://blog.stanaka.org/entry/2014/03/07/201142 • αʔό2000
ۙͷΠϯϑϥ • ͯͳϒϩάΛAWSʹߏங • Ϋϥυ׆༻ɺϋΠϒϦουߏ • Chef Ͱߏங • αʔόཧπʔϧͰཧ
ͯͳϒϩάͷԼଆ https://www.slideshare.net/wtatsuru/jawsugkyoto2nd
ۙͷαʔόཧπʔϧ • ࣾͷαʔόཧπʔϧͷӡ༻ࢥཱ֬ • ֓೦ͷݟ͠ɺ2ϑϧεΫϥον • αʔϏεɾϩʔϧͱ͍͏ू߹ͷ֓೦ • ϗετใͷҰݩཧ •
पลπʔϧͱૄ݁߹ʹ࿈ܞ ͯͳͷαʔόཧπʔϧͷ http://yapcasia.org/2013/talk/show/62304644-e25d-11e2-8767-0fa16aeab6a4ɹ
ۙͷαʔόཧπʔϧ • ଟ͘ • ࢄRRDTool (ΫϥυͷߴϨΠςϯγI/OʹରԠ) • “λά” ֓೦ͰΑΓॊೈͳཧ •
PushܕϝτϦοΫऩू mackereld ͯͳͷαʔόཧπʔϧͷ http://yapcasia.org/2013/talk/show/62304644-e25d-11e2-8767-0fa16aeab6a4ɹ
ݱ 2014- • 2014 Mackerel ੜ
ݱͷΠϯϑϥ • ΫϥυͷྖҬ֦େ • DockerɺImmutable Infrastracture
Mackerel ੜ • ࣾͷαʔόཧπʔϧͷࢥΛSaaS Immutable Infrastructure࣌ͷαʔόʔཧ https://speakerdeck.com/stanaka/immutable-infrastructureshi-dai-falsesabaguan-li-number-immutableinfra?slide=6
αʔόཧπʔϧ͔Β Mackerel
Mackerel ʹड͚ܧ͕ΕΔࢥ • ϩʔϧɾϗετͱ͍͏ू߹ͷ֓೦ • ϗετใͷҰݩԽ • पลπʔϧͱૄ݁߹ʹ౷߹͢Δ
Mackerel ͰมΘͬͨͷ • TSDB • RRDTool ͔Β Graphite •
ࢹ • Pullܕ -> Pushܕ • ͍͍͢UI
ࣾυοάϑʔσΟϯά • ࣾͷઍͷڥͰτϥΠΞϧ • ࣌ܥྻDBͷෛՙࢼݧ • ϓϥάΠϯҠ২ • ͍৺ͷϑΟʔυόοΫ
ࣾυοάϑʔσΟϯά • ࣄۀʹߩݙ • ϕετϓϥΫςΟεͷ୳ٻ
SaaSԽ • Mackerel 200ि࿈ଓϦϦʔε • ࣾͰ͍Εͳ͍ػೳ • →ࣾ֎ͷϑΟʔυόοΫ͔Βվળ • ࣾͷӡ༻վળ͍ͯ͘͠
SaaSԽͰมΘͬͨ͜ͱ • UI/UX͕Α͘ͳͬͨɿઐͷσβΠφ • ։ൃऀ͕ࢹΛݟͯɺվળ͍͚ͯ͠ΔΑ͏ʹ • ղͳઃఆɾϛυϧΣΞˠݟ͍͢UIɺ؆୯ͳઃఆ • ߴͳࢹɾӡ༻ •
ࣜࢹɺΞϥʔτͷάϧʔϓԽ
Mackerel͔Βੜ·ΕΔٕज़తઓ • ॻ͖ࠐΈϔϰΟͳϫʔΫϩʔυ • Ϋϥυ্ʹ࣌ܥྻDBΛߏங • ٻΊΒΕΔߴ͍Մ༻ੑ ࣌ܥྻσʔλϕʔεͱ͍͏֓೦ΛΫϥυͷٕͰ࠶ߏங͢Δ https://speakerdeck.com/yuukit/the-rebuild-of-time-series-database-on-aws
Mackerel͔Βੜ·ΕΔٕज़తઓ • ΠϯϑϥΤϯδχΞ͕։ൃʹߩݙ͢ΔΩϟϦΞύε • Mackerel νʔϜʹॴଐͯ͠ɺӡ༻ʴ։ൃΛߦ͏ • ࣍ੈͷαʔϏεӡ༻ϕετϓϥΫςΟεΛ࡞͍ͬͯ͘
͓ΘΓʹ
Πϊϕʔγϣϯ • ࣾͰΠϯϑϥཧͷྺ࢙͔Β • ϊϋΛSaaSͱͯ͠ఏڙ • ΤϯδχΞͷ։ൃɾӡ༻ϓϩηεΛֵ৽͢ΔαʔϏε
None
ࢀߟࢿྉ • ͯͳγεςϜͷߟݹֶ https://speakerdeck.com/motemen/history-of-development-at-hatena • ͯͳͷΠϯϑϥͷྺ࢙ɺͦͯ͠MackerelࢸΔಓͱ ͜Ε͔Β http://songmu.github.io/slides/rakuten-tech-conf-2017/
Ҏ্Ͱ͢