Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DevOps中核サービスのデファクトとして進化し続ける「Mackerel」/DevOps of...
Search
Mackerel Sales
December 12, 2018
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DevOps中核サービスのデファクトとして進化し続ける「Mackerel」/DevOps of Mackerel
Mackerel Sales
December 12, 2018
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Code Review Best Practice
trishagee
74
20k
We Are The Robots
honzajavorek
0
400
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
570
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Amusing Abliteration
ianozsvald
1
350
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Transcript
1 mackerel.io
2 ձࣾհ ໊ࣾɿגࣜձࣾͯͳ ॴࡏɿ ຊࣾ ˟ژژࢢதژ۠ޚ௨ؒ೭ொ౦ೖߴٶொޚϏϧ' ɿ ຊళ ˟౦ژߓ۠ೆ੨ࢁ੨ࢁαϯϥΠτϏϧ' ઃཱɿ݄
ࢿຊۚɿ ઍԁ ച্ߴɿ ඦສԁʢ݄ݱࡏʣ ैۀһɿਓʢ݄ݱࡏʣ ʹ౦ূϚβʔζࢢʹ্
3 ͯͳͷϛογϣϯ ʮΔʯʮͭͳ͕Δʯʮදݱ͢Δʯ Ͱ৽͍͠ମݧΛఏڙ͠ɺਓͷੜ׆Λ๛͔ʹ͢Δ
4 .BDLFSFMͱʁ
5 ࠷ߴͷυοάϑʔσΟϯάڥ͔Βੜ·Ε·ͨ͠ ॳ/BHJPTΛͬͯαʔόཧΛ࣮ࢪ ଟ͗͢Δࢹରࢹ߲͕ɺ ૿͑ଓ͚ΔΠϯϑϥӡ༻ͷෛՙʹ ྲྀಈతͳΠϯϑϥʹରԠ͢ΔΛϞοτʔʹࣗࣾࢹπʔϧΛ࡞։࢝ ʢॳ.BDLFSFMͷੜʣ ཧαʔόʢԾԽ͠ʣʴ "84ͷΫϥυར༻࢝·Γ৽ڥʹ దͨ͠.BDLFSFM͕ੜ
Ϋϥυͷຊ֨ීٴΛड͚ɺΑΓ͍উखͷྑ͍πʔϧͱͯ͠4BB4ܕࢹαʔϏεͱͯ͠ ൛.BDLFSFMϦϦʔεʹணख Ҏલ ʙ ʙ ʙ ࣌ͷ.BDLFSFM ొϢʔβʔ ສਓ ݄ؒϢχʔΫϒϥβ ԯਓΛތΔ ͯͳϒϩά.BDLFSFMʹΑͬͯࢧ͑ΒΕ͍ͯ·͢ɻ
6 ΤϯδχΞΛऔΓר͘ڥ ɾ·͢·͢ಈతͰศརʹͳΔΠϯϑϥετϥΫνϟʔ ɾޮతʹෳࡶੑͱ͖߹͏͜ͱ͕ٻΊΒΕΔ
7
8 DevOpsͷத֩ͱͯ͠ Mackerel୯ͳΔࢹαʔϏεͰ͋Γ·ͤΜ ༷ʑͳΈͱ؆୯ʹΈ߹Θͤɺ։ൃӡ༻ϥΠϑαΠΫϧͷ த֩ͱͯ͠ޮԽΛଅਐ͠·͢ Dev Ops
9 DevOps
10 ͯͳͰͷ%FW0QT
11 DevOpsͷఆٛ • EFWPQTͱͷߟ͑ํͰ͋ΓɺࣄͷਐΊํͰ͋Δʢ˞ʣ • ͯͳͰπʔϧΛࢦͨ͠ΓɺΧϧνϟʔΛࢦͨ͠Γଟٛత ͳ༻ޠͱ͍͏ೝࣝΛ͍ͯ͠·͢ • %FW0QTͷจ຺ͰޠΒΕΔπʔϧ͝Ζ͔Βಋೖ ʢQVQQFUͳͲʣ
˞ॻ੶ʮ&GGFDUJWF%FW0QTʯΑΓҾ༻
12 ݩʑͷ৫ମ੍ͱׂ αʔϏεɾγεςϜ։ൃຊ෦ ୈ̍ʙୈ̑άϧʔϓ γεςϜ ϓϥοτϑΥʔϜ෦ %FW 0QT ΞϓϦέʔγϣϯΤϯδχΞ ˠΞϓϦέʔγϣϯɾαʔϏε։ൃ
ΦϖϨʔγϣϯΤϯδχΞ ˠΠϯϑϥج൫ͷߏஙʴӡ༻
13 DevOps • զʑ͕ײ͍ͯͨ͡՝ ΦϖϨʔγϣϯΤϯδχΞ͕ԣ۲ͰରԠ͢Δࣄ͕ۀͷϘτϧωοΫʹ Πϯϑϥӡ༻ۀͷͷ͔ͨΑΓ ։ൃνʔϜ͕ʮΦʔφʔγοϓʯΛ࣋ͭͱ͍͏ߟ͑ํʹม͑ͨ
14 ׂͷมߋʢ৽ʣ αʔϏεɾγεςϜ։ൃຊ෦ ୈ̍ʙୈ̑άϧʔϓ γεςϜ ϓϥοτϑΥʔϜ෦ %FW 0QT ΞϓϦέʔγϣϯΤϯδχΞ ΦϖϨʔγϣϯΤϯδχΞ
ΠϯϑϥΦʔφʔγοϓΛͭ ωοτϫʔΫڞ௨ج൫ʹઐ೦ɾྗ
15 ΦʔφʔγοϓΛͭ ΠϯϑϥΦʔφʔγοϓͱʁ ΞϓϦέʔγϣϯΤϯδχΞ͕ΠϯϑϥྖҬ·ͰΛ ࣋ͪɺোରԠ͕Ͱ͖ͨΓɺඞཁͳ։ൃڥͷߏஙɺຊ ൪ͷೖΛࣗͨͪͷஅͰ͓͜ͳ͑ΔΑ͏ͳঢ়ଶɻ
16 ΦʔφʔγοϓΛਪਐ͢ΔͨΊʹͬͨ͜ͱ • $50͔Βͷϝοηʔδϯά • ٕज़ษڧձɺϋοΧιϯʢΠϯϑϥྖҬεΩϧͷ֫ಘʣ • ΣϒΦϖϨʔγϣϯΤϯδχΞ͔Β43&৬छมߋͯ͠ ։ൃνʔϜઐଐஔ •
Πϯϑϥͷ͍߹ΘͤνϟϯωϧΛ࡞ͬͨʢBTLJOGSBʣ
17 ৫తͳޮՌɺ͠͞ • ৽αʔϏεͷߏஙͰ͋Ε࠷ॳ͔ΒΞϓϦέʔγϣϯΤ ϯδχΞ͕ӡ༻͢ΔલఏͰΠϯϑϥઃܭ͕Ͱ͖Δ • ։ൃνʔϜͰ43&ͷݽཱͷՄೳੑ͕͋ΔͨΊίϛϡ χέʔγϣϯॏཁ • ։ൃνʔϜͰͷ43&ͷධՁࢦඪΛͲ͏͢Δ͔
ˠ৴པੑΛߴΊΔɺมߋΛ্͛Δ
18 ͯͳͷதͰͷMackerel • ʮΘ͔Βͳ͍ʯ͜ͱΛʮΘ͔ΔʯΑ͏ʹ͢Δπʔϧ • .BDLFSFMͷΞϥʔτΛݟͳ͕Βɺى͖ͨোͱରࡦͷਐḿ ֬ೝͳͲΛΞϓϦέʔγϣϯΤϯδχΞͱ43&͕Ұॹʹ νΣοΫ • ʮ/8ʯʮαʔόʯͰ͚Δ͜ͱͳ͘ʮϩʔϧʯͱ͍͏֓
೦ͰϚοϐϯά • ڞ௨ݴޠΛ࣋ͭ • Ұॹʹվળ͢ΔจԽΛৢ • ΞϓϦέʔγϣϯɾΠϯϑϥ྆ࢹ ͔ΒΑΓޮՌతͳվળࡦΛબ ͢Δ ΞϓϦέʔγϣϯ ΤϯδχΞ 43&
19 ϩʔϧ͕࠷ߴͷརศੑΛ ༧ΊαʔϏεʗϩʔϧʗϗετΛࢦఆ͢Δ͜ͱͰɺࣗಈతʹάϥ ϑࢹઃఆͳͲ͕ઃఆ͞ΕΔͨΊɺಛʹେنڥͰͷӡ༻ෛ ՙܰݮʹޮՌతͰ͢
20 ͯͳͰ׆༻͍ͯ͠Δπʔϧ܈
21 جຊػೳ
22 ΞʔΩςΫνϟ Mackerel͔Β ֎෦αʔϏε ͷࢹ ΤʔδΣϯτ͔Β ϝτϦοΫΛߘ HTTPS REST API
23 ؆୯ɻ͙͢ ͡ΊΒΕ·͢ • ΨΠυʹ͕ͨͬͯ͠ίϚϯυΛ࣮ߦ͢Δ͚ͩ • ͋ΕेͰ͢ • ΤʔδΣϯτ͕ࢮ׆ࢹΛࣗಈతʹ։࢝ •
ΤʔδΣϯτ͕ϦιʔεͷϝτϦΫεΛࣗಈऔಘ mackerel-agent written in Go
24 ཏతͳϝτϦΫεɾࢹϧʔϧ ɾ63-֎ܗࢹϗετࢮ׆ࢹϦιʔεࢹϩάࢹ ɾ"84"[VSFΦʔτεέʔϧରԠ ɾࣗ࡞ϓϥάΠϯͱͷ࿈ܞ • ѹతଟͷࢹʹରԠ • ଞࢹπʔϧ͔ΒͷҠߦࣄྫଟʂ
25 ࢹϧʔϧͷઃఆඞཁ • ϞχλϦϯάʹ͓͚Δ՝ • ࢹϧʔϧͷϝϯςφϯε ॏཁ͕ͩख͕͔͔ؒΔ • ੩తͳᮢͷࢹ͚ͩͰݕ ग़͕͍͠ঢ়گ͋Δ
• ࢹϧʔϧΛదʹઃఆ͢Δ ͨΊʹɺ͋Δఔͷࣝʢϛ υϧΣΞͳͲʣ͕ඞཁ
26 ϦϦʔε༧ఆͷػೳ
27 AWSΠϯςάϨʔγϣϯ ɾAWS CloudWatch API͔Β༷ʑͳϝτϦοΫΠϕϯτΛ औಘ͠ՄࢹԽ ɾ1ͷϗετͱͯ͠ཧ ɾEC2, ELB, RDS,
ElastiCache, RedshiftͳͲ ॱ֦࣍େத
28 ઈࢍϦϦʔεܧଓதʂ 6QEBUF 6QEBUF 6QEBUF 6QEBUF
• "NB[PO"VSPSB4FSWFSMFTT • "NB[PO4 ͳͲɺܧଓతʹϦϦʔε༧ఆͰ͢ʂ
29 ίϯςφͷਖ਼ࣜαϙʔτ • .BDLFSFMͷ֓೦ͱͯ͠ίϯςφΛදݱ • ΑΓίϯςφΛ׆༻͍͢͠ڥΛఏڙ Service Role Host Host
Container Container Container Role Role Container Container Host Host Host Containers Hosts
30 • &$4,VCFSOFUFTͰΦʔέετϨʔγϣϯ ͍ͯ͠Δ ڥ͕ର • 5BTL1PEʹର͢ΔTJEFDBSBHFOU • ΦʔέετϨʔγϣϯπʔϧ͕ఏڙ͍ͯ͠Δ"1*ͱ࿈ܞ •
1PE5BTLΛ.BDLFSFMͷϩʔϧʹॴଐ ίϯςφԽରԠͷઃܭํ
31 • ΨεҰͭͰଟๆੑʹରԠͰ͖ͳ͍ – ྫٳฏɺனؒؒ • ෳͷΨεͷ͠߹ΘͤͰରԠ DQV NFNPSZ ٳؒൺֱత
ෛՙͷ͍έʔε ฏΛத৺ͱͨ͠ൺֱత ෛՙͷߴ͍έʔε ҟৗͱఆ͞ΕΔέʔε ҟৗͱఆ͞ΕΔέʔε ػցֶशʹΑΔҟৗݕ
32 ػցֶशʹΑΔҟৗݕػೳͷ͓Βͤ ͓Βͤ ҟৗݕʹؔ͢Δ৽ػೳΛۙϕʔλ൛ͱͯ͠Ϧ Ϧʔε͍ͨ͠·͢ʂ
33 .BDLFSFM։ൃϩʔυϚοϓ • "84ΠϯςάϨʔγϣϯ֦ॆ • ίϯςφԽରԠ • ػցֶशΛ׆༻ͨ͠ػೳ։ൃ • GCPΠϯςάϨʔγϣϯͷ։ൃ
• SAMLೝূରԠ • ࣌ܥྻσʔλϕʔεͷ֦ு ͋͘·Ͱ༧ఆͰ͋ΓίϛοτϝϯτͰ͋Γ·ͤΜ
34 Ձ֨ɺτϥΠΞϧ
35 αʔϏεϓϥϯ ϘϦϡʔϜσΟεΧϯτ͋Γ
36 .BDLFSFMͷಋೖ·Ͱͷϑϩʔ τϥΠΞϧ ຊ൪ಋೖ ӡ༻։࢝ ͝ܖ Ϋʔϙϯ ίʔυൃߦ ٻॻ͍ɾϘϦϡʔϜσΟεΧϯτͷΈ ˞िؒ
ಋೖ͔Βӡ༻·Ͱɺ$3& ͕Ұ؏ͯ͠ ຊޠ Ͱαϙʔτ͠·͢ʂ
37 ͓٬༷
38 NBDLFSFMJP