$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
はてなが歩んできた "Infrastructure as Code"の道のりとMackerel...
Search
Hiromichi Sugiyama
September 17, 2016
Programming
2
6.1k
はてなが歩んできた "Infrastructure as Code"の道のりとMackerelが果たす役割について
Hiromichi Sugiyama
September 17, 2016
Tweet
Share
More Decks by Hiromichi Sugiyama
See All by Hiromichi Sugiyama
Mackerel Meetup #11
sugiyama88
3
11k
Mackerel Roadmap 2017.11.29
sugiyama88
0
3.2k
Mackerel DAY
sugiyama88
1
7.7k
Mackerel / NewRelic / Elasticsearch Seminar
sugiyama88
1
560
Mackerel for DevOps
sugiyama88
0
550
Mackerel Meetup #10
sugiyama88
0
4.2k
Mackerel, AWS, Twilio Hands-On Seminar
sugiyama88
0
460
SaaS/OSSを進化させる オープン・エコシステムについて Mackerel×Vulsの例
sugiyama88
0
1.7k
Mackerel Meetup #9
sugiyama88
0
5k
Other Decks in Programming
See All in Programming
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
830
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
CSC509 Lecture 14
javiergs
PRO
0
220
Developing static sites with Ruby
okuramasafumi
0
270
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
260
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
生成AIを利用するだけでなく、投資できる組織へ
pospome
1
310
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
390
SwiftUIで本格音ゲー実装してみた
hypebeans
0
160
ゲームの物理 剛体編
fadis
0
330
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
390
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building Applications with DynamoDB
mza
96
6.8k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Being A Developer After 40
akosma
91
590k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
A Tale of Four Properties
chriscoyier
162
23k
Statistics for Hackers
jakevdp
799
230k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
Open Cloud Innovation Festa 2016 17 Sep 2016 Hatena Co.,
Ltd. Hiromichi Sugiyama はてなが歩んできた "Infrastructure as Code"の道のりと が果たす役割について
Hiromichi Sugiyama / ਿࢁ ௨ 株式会社はてな サービス・システム開発本部 Mackerelチーム プロデューサー 経歴
- 大手製造業のIT事業会社 - 大規模環境でのインフラエンジニア - オープンソースのモニタリングツール - SaaSシステム - ITILベースのサービスマネジメント - はてなでMackerel事業へ携わる
[email protected]
ΞδΣϯμ 1. ͯͳʹ͍ͭͯ 2. ͯͳͷΠϯϑϥͱMackerelׂ͕ͨ͢ 3. Infrastructure as Code 4.
Mackerelͷ͝հ 5. MackerelͷϏδϣϯ
1 ͯͳʹ͍ͭͯ
None
ձࣾ֓ཁ 所在地 京都(烏丸御池) 東京(表参道) 資本⾦ 185,713千円 市場 東証マザーズ 設⽴ 2001年7⽉(16年⽬)
創業者 近藤 淳也 社⻑ 栗栖 義⾂
ͯͳͷϛογϣϯ
None
None
ͯͳͷαʔϏε
None
None
None
ଞʹଟͷαʔϏε͋Γ
2 ͯͳͷΠϯϑϥͱ Mackerel͕Ռׂͨ͢
16ͷ ྺ࢙
marqs-60 CMX-50 ࣗ࡞αʔόʔ࣌ʢͦͷੲɿલʣ
ϋΠϒϦουڥʢݱࡏʣ ΦϯϓϨ σʔληϯλʔ ύϒϦοΫ Ϋϥυ ઍͷେنڥͰαʔϏεશମΛӡӦ
େنͳαʔϏεڥ
ΠϯϑϥΤϯδχΞ ໊
͍͔ʹޮΑ͘ ࣋ଓతʹཧ͢Δ͔ʁ
Dynamic Infrastructure Platformʢੈͷைྲྀʣ • ΑΓಈతͰศརʹͳΔΠϯϑϥڥ
ଘࡏ͢ΔଟͷαʔϏε&ϗετ ेͷαʔϏε ઍͷϗετ
େͳΈ߹Θͤͷରॲ
αʔϏεɾϩʔϧɾϗετ Ұ؏ͨ͠ཧ֓೦Λ࠾༻ Service Role Host
Service Role Host ͯͳ Bookmark app proxy DB DB1 DB2
app3 app2 app1 proxy1 proxy2 ద༻ྫɿͯͳBookmark
Θ͔Γқ͞ͱརศੑΛ ेͷαʔϏε ඦͷϩʔϧ ઍͷϗετ
։ൃӡ༻ͱͷؔΘΓʁ
DevOps Lifecycle • ։ൃͱӡ༻͕ӬଓతͳαΠΫ ϧΛ͢ • ଟछଟ༷ͳޮԽπʔϧ αʔϏε͕ଘࡏ • దࡐదॴ
• Έ Mystery of DevOps Devops Lifecycle http://www.edureka.co/blog/mystery-of-devops/
DevOps Tools • దࡐదॴɺ༏Εͨπʔϧ͕ଟ 'FFECBDL %FWFMPQ 5FTU %FQMPZ .POJUPS
Mackerel͕Ռׂͨ͢
logo (2) ݸผʹศརͰ͋Δ͕ɻɻɻ • ಈతͳΠϯϑϥڥΛͦΕͧΕఆٛͯ͠ѻ ͏ͷ͔ʁ Monitoring Server Configuration Deploy
ʁ
logo (2) ϗετϨδετϦͱͯ͠ͷMackerel • ϗετใMackerelू • πʔϧؒΛૄ݁߹ʢศརͳAPIʣ Monitoring Server Configuration
Deploy چMackerel
logo (2) ߋͳΔਐԽʢݱࡏʣ • MackerelΛ࣠ͱͨ͠ಈతཧΛ࣮ݱ droot Monitoring & Host Registry
Server Configuration Deploy Infrastructure Test SSH-Operation Infrastructure DNS Registry tinydns
ϗετϨδετϦඇৗʹ؆୯ ϗετ ᶃ ϗετىಈ࣌ʹ ඞͣαʔϏεͱϩʔϧΛηοτ͠ MackerelΤʔδΣϯτΛىಈ͢Δ ᶄ Mackerelʹϗετใ͕ొ͞ΕΔ ᶅ APIͰಈతʹϗετใΛऔΓग़͠
ͯ࠶ར༻ ᶃ ᶄ ᶅ ʁ
3 Infrastructure as Code
͜Ε·ͰͷಓͷΓΛ ৼΓฦΓ ڞ௨͍ͯͨ͠Ұͭͷ͜ͱ
None
Infrastructure as Code • ΠϯϑϥΛίʔυͰએݴతʹهड़͢Δ͜ͱʹΑΓɺ ͍··ͰιϑτΣΞ։ൃͰ༗ޮੑཱ͕ূ͞Ε͖ͯͨ ϕετϓϥΫςΟεΛΠϯϑϥద༻͢Δ Infrastructure as Code
Managing Servers in the Cloud By Kief Morris Publisher: O'Reilly Media Final Release Date: June 2016
Infrastructure as CodeͷԸܙ • ಈతͳΠϯϑϥͷରॲ • ਝʹɺԿͰɺ࣮֬ʹಉ͡มߋ͕ՄೳʢετϨε͕ͳ͍ʣ • ো͔Βͷ෮چ •
ίʔυϨϏϡʔ • ୯७࡞ۀ͔ΒΕɺՁ͋Δ͜ͱʹ͕͚࣌ؒ͞ΔΑ͏ʹͳΔ
ϞμϯͳΠϯϑϥπʔϧͷཁૉ 7$4 5FTU 0SDIFT USBUJPO 5%% $* $%
ͯͳͰͷҰྫ
Dev Ops Service A Service B Service C ͯͳͷ։ൃͱӡ༻ͷମ੍ •
OpsҰͭͷ৫͕ͩɺαʔϏε͝ͱʹ୲ΛΞαΠϯ͍ͯ͠Δ
Dev Ops Service A Service B Service C ։ൃͱӡ༻ͷମ੍ •
OpsҰͭͷ৫͕ͩɺαʔϏε͝ͱʹ୲ΛΞαΠϯ͍ͯ͠Δ Webアプリケーション エンジニア
Dev Ops Service A Service B Service C ։ൃͱӡ༻ͷମ੍ •
OpsҰͭͷ৫͕ͩɺαʔϏε͝ͱʹ୲ΛΞαΠϯ͍ͯ͠Δ Webアプリケーション エンジニア Webオペレーション エンジニア
ίʔυཧ͢ΔརʢҰྫʣ • ίʔυϨϕϧͰՄࢹԽ͞Ε͍ͯΔͷͰɺ؆୯ʹӽڥͰ͖Δ ΞϓϦέʔγϣϯ ϛυϧΣΞ OS ϓϥοτϑΥʔϜ Dev Ops DBʹਫ਼௨͍ͯ͠ΔOpsΤϯδχΞ͕SQL
ͷϨϏϡʔΛͨ͠Γ DevΤϯδχΞ͕ϛυϧΣΞΛࢼͨ͢ ΊͷChefϨγϐΛॻ͍ͨΓ ϛυϧΣΞͷΦϓγϣϯߏΛཧղ ͠ͳ͕ΒίʔυΛॻ͍ͨΓ ↓ϙΠϯτ
։ൃͱӡ༻ͷൣғ • άϨΠκʔϯΛ࡞Β͓ͣޓ͍ଚॏ͠ͳ͕Βॿ͚߹͍͑ͯΔ ΞϓϦέʔγϣϯ ϛυϧΣΞ OS ϓϥοτϑΥʔϜ Dev Ops
Performance Working Group (͓·͚) • αʔϏείϛοτͯ͠Δશϝϯόʔ͕ఆظʢεϓϦϯτຖʣʹੑೳੳΛ࣮ࢪ ʢMackerelΛ׆༻ʣ • தظͷϦϦʔεӨڹͳͲੳ͠ɺ։ൃΠϯϑϥͷΩϟύγςΟܭըଈ࣌ө ΞϓϦέʔγϣϯ
ϛυϧΣΞ OS ϓϥοτϑΥʔϜ Dev Ops
4 Mackerelͷ͝հ
Mackerelͱʁ • "SaaSܕ"αʔόʔࢹαʔϏε • ΤϯδχΞ͕ཉ͔ͬͨ͠zϫΫϫΫz͢ΔΑ ͏ͳػೳΛఏڙ͠ɺѹతͳzޮԽzΛ࣮ݱ • ͯͳͷओྗαʔϏεΛ͑͞͞ଓ͚͖ͯͨ ʢ࠷ߴͷυοάϑʔσΟϯάʣ
2014.9.17ਖ਼ࣜϦϦʔε ʢຊͪΐ͏Ͳ2पʂʂʣ
ΞʔΩςΫνϟʔ • ΤʔδΣϯτ͔Β ϝτϦοΫΛߘ )5514 3&45"1*
ײతͳϢʔβʔମݧ
؆୯ʹ͙͡ΊΒΕΔ • ΨΠυʹै͏͚ͩ • ͨͬͨ mackerel-agent written in Golang
࠷খͷϧʔϧ͕࠷ߴͷརศੑΛ • ΤʔδΣϯτΛ্ཱͪ͛Δ͚ͩͰ • ࣗಈతʹࢹ͕࢝·Γ • ಉ͡ϩʔϧͷϗετಉ͡άϥϑ
ৗʹਐԽ͠ଓ͚ΔαʔϏε 毎週新機能のリリースを継続中 陳腐化せず常に進化 ि࿈ଓ
બΕΔཧ༝ • ಋೖʗUI͕؆୯Ͱ͔Γ͍͢ • ։ൃεϐʔυ • ϚϧνΫϥυͰ͑Δ • ຊޠαϙʔτ͕ॆ࣮ •
NewRelicͱͷซ༻
αʔϏεϓϥϯ
ओͳػೳ
1.Ξϥʔτ௨ʹάϥϑ • Slack, HipChat, TypeTalk, Yammer
2.URL֎ܗࢹ • ར༻ऀࢹͷHTTP/HTTPSࢹ • ֎෦͔ΒͷϨεϙϯελΠϜΛՄࢹԽ • εςʔλείʔυɾϨεϙϯελΠϜͰΞϥʔτ • ΩʔϫʔυͷଘࡏνΣοΫ •
SSLূ໌ॻͷ༗ޮظݶΛνΣοΫ Web Service URL
3.ࢹϧʔϧͷίʔυԽ • zInfrastructure as Codez • mkr monitor diff/pull/push •
JSONܗࣜͰϧʔϧΛѻ͏
4.ࢹϧʔϧΛGitͰཧ
5.ϝτϦοΫΛॊೈʹՄࢹԽʢࣜʣ 差分 前週との重ねあわせ 最大 最大・平均・最小 合計
̒ɽAWS Integration • AWS CloudWatch API͔Β༷ʑͳϝτϦοΫΠϕ ϯτΛऔಘ͠ՄࢹԽ • 1ͷϗετͱͯ͠ཧ •
EC2,ELB,RDS,ElastiCache͔Βॱ֦࣍େ API Amazon CloudWatch Amazon RDS Amazon ELB
̓ɽ৬ਓܳΛΞϧΰϦζϜͰࢧԉ 過去の傾向から将来を予測して警告 $SJUJDBM 将来 5SFOET ϱ݄લ 現在
5 MackerelͷՌׂͨ͢ ʢࠓޙʣ
ΫϥυԽͷྲྀΕ • ։ൃπʔϧΫϥυ • svn/git → GitHub (GitHub Enterprise) •
Jenkins → TravisCI, CircleCI • ࣮ߦڥΫϥυ • ΦϯϓϨ → AWS, GCP, Azure,SoftLayer
MackerelͷྲྀΕ • ӡ༻πʔϧΫϥυ • Zabbix, Nagios → Cloudwatch, NewRelic and
Mackerel !! • ͍͍͢UIʹΑΔɺΑΓ҆ఆͨ͠ӡ༻Λ
Infrastructure as Code • ϗετઃఆΛίʔυԽʢChef/puppetʣ • MackerelͷઃఆCodeͰཧ • ࢹϧʔϧ/μογϡϘʔυͷίʔυԽ •
ॱ࣍ɺAPIԽΛਪਐ
Mackerelͷະདྷ • All-in-OneαʔϏεͰͳ͍ • ༷ʑͳπʔϧ/αʔϏεͱͷ࿈ܞ • Slack/GitHub/Reactio • γεςϜཧͷίΞπʔϧͱͯ͠ͷ Mackerel
DevOpsͷத֩ͱͯ͠ • ϥΠϑαΠΫϧશମͷޮԽΛଅਐ %FW 0QT
MackerelͷϏδϣϯ ΤϯδχΞΛϫΫϫΫͤ͞Δ ʮײతαʔόʔࢹαʔϏεʯ
͞ΒͳΔਐԽ
ϗετϨδετϦͷڧԽ • ϗετͳͲͷҙͷཁૉʹKey-ValueΛAPIͰઃ ఆՄೳʹ • Πϯετʔϧ͞Εͨύοέʔδใ • ࢿ࢈ཧ൪߸ ۙϦϦʔε
ΞϧΰϦζϜࢧԉ • ౷ܭػցֶशͷཧΛԠ༻ • ҟৗݕ • ༧ଌ • ྨ
αʔϏεʢϗετ७૿ʣ ٸ
࣍ੈMackerel • Λࢧ͑Δɺ͋ΒͨͳΞʔΩςΫ νϟͷมֵʂ • ͝ظԼ͍͞ʂ
͍͞͝ʹҰͭ
We are Hiring • ηʔϧεΤϯδχΞʢٸืʣ • 8FCΞϓϦέʔγϣϯΤϯδχΞ
mackerel.io