Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
技術が実現するイノベーションとWebサービス運用の未来 / Innovation from&for Web Operations
tatsuru
PRO
August 02, 2018
Technology
0
1k
技術が実現するイノベーションとWebサービス運用の未来 / Innovation from&for Web Operations
さくらの大納涼会2018 at 北海道にて、「技術が実現するイノベーションと◯◯」というテーマでの発表資料です
tatsuru
PRO
August 02, 2018
Tweet
Share
More Decks by tatsuru
See All by tatsuru
Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること
tatsuru
PRO
0
2.9k
Mackerel の EventBridge 対応開発秘話
tatsuru
PRO
1
96
成長するためのエンジニア組織 / Hatena Engineering Group 2018
tatsuru
PRO
1
68
はてなのログ運用 これまでとこれから / Hatena Engineer Seminar #6
tatsuru
PRO
7
11k
Mesosを使ったImmutable Infra 管理システムを作ってみた
tatsuru
PRO
8
7.2k
Other Decks in Technology
See All in Technology
アムロは成長しているのか AIから分析する
miyakemito
1
320
JAWS-UG AI/ML #15 - SageMaker Experimentsで始める機械学習モデルの実験管理
masatakashiwagi
0
540
Things you should know about PHP
opdavies
1
470
証明書って何だっけ? 〜AWSの中間CA移行に備える〜
minorun365
3
1.9k
NGINXENG JP#2 - 3-NGINX Plus・プロダクトのアップデート
hiropo20
0
140
本社オフィスを移転し、 オフィスファシリティ・コーポレートIT を刷新した話
rotomx
3
1.2k
音をアレする
koba789
0
340
Amazon Forecast を使って売上予測をしてみた
tomuro
0
290
PHPのimmutable arrayとは
hnw
1
130
ステート管理を超えるRecoil運用の考え方
uhyo
7
5.2k
EMになって最初の失敗談 - コミュニケーション編 -
fukuiretu
1
330
AI Services 概要 / AI Services overview
oracle4engineer
PRO
0
160
Featured
See All Featured
The Invisible Side of Design
smashingmag
292
48k
Practical Orchestrator
shlominoach
178
8.9k
How to train your dragon (web standard)
notwaldorf
66
4.2k
The Brand Is Dead. Long Live the Brand.
mthomps
48
2.9k
Rails Girls Zürich Keynote
gr2m
87
12k
Scaling GitHub
holman
453
140k
Teambox: Starting and Learning
jrom
124
7.9k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
1.2k
Building Applications with DynamoDB
mza
85
4.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
29
7.7k
BBQ
matthewcrist
75
8.1k
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/
Ҏ্Ͱ͢