Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mackerelチームにおけるインフラオーナーシップ / Hatena Pepabo tech conf 4 DevOps Kyoto

Mackerelチームにおけるインフラオーナーシップ / Hatena Pepabo tech conf 4 DevOps Kyoto

Mackerelチームにおけるインフラオーナーシップ

Ken Hamada

June 23, 2018
Tweet

More Decks by Ken Hamada

Other Decks in Technology

Transcript

  1. ͜Ε·Ͱ • ΠϯϑϥνʔϜ (ԣ۲૊৫) ͕ݸʑͷαʔϏεΛ୲౰ • αʔόʔͷ؅ཧ΍ϞχλϦϯά͸Πϯϑϥϝϯόʔ͕୲౰ • αʔϏεʹΑͬͯٻΊΒΕΔΠϯϑϥ஌͕ࣝ͹Β͹Β •

    Apache + mod_perl + MySQL ΦϯϓϨ ͷαʔϏε͕ଟ਺
 → Scala + PostgreSQL / Go on EC2, ECS, Lambda… • ٻΊΒΕΔ৴པੑ (Մ༻ੑ): ಛʹtoB΍toBtoC
  2. ݱࡏͷνʔϜͷମ੍ • ΞϓϦέʔγϣϯΤϯδχΞ਺໊ + σβΠφʔ
 + Director + Producer +

    Sales + CRE • Πϯϑϥϝϯόʔ1ਓ͕νʔϜʹೖ͍ͬͯΔ • ேձ΍νʔϜͷձٞʹ΋ࢀՃ • σεΫ΋ྡ: ίϛϡχέʔγϣϯ͸େࣄ
  3. υοάϑʔσΟϯά • MackerelνʔϜ͸࠷ߴͷυοάϑʔσΟϯά͕Ͱ͖Δ • ࡞͍ͬͯΔαʔϏεΛ஌Δ → ࣗ෼ͷαʔϏεΛ؂ࢹ͢Δ • ؂ࢹ͍ͯ͠ͳ͍ͱ͜Ζ͕෼͔Δ →

    ࡞Δ → ؂ࢹΛ࢝ΊΔ • ։ൃΤϯδχΞ͸සൟʹը໘ΛݟΔ • ۀ຿ʹ૊ΈࠐΉ·Ͱ͕ػೳ։ൃ
 ྫ: σϓϩΠͰάϥϑΞϊςʔγϣϯ • ଞνʔϜͷ։ൃΤϯδχΞ΋MackerelΛΑ͘࢖͏
  4. σϓϩΠ • σϓϩΠ୲౰ͷΤϯδχΞΛॱ൪ʹΞαΠϯ • ୲౰ΤϯδχΞ͸μογϡϘʔυΛॱ൪ʹݟ͍ͯ͘ • ීஈͷϝτϦοΫͷ༷ࢠΛ஌Δ܇࿅
 ؂ࢹ͢Δ = ҟৗঢ়ଶΛఆΊΔ

    = ීஈΛ஌Δ • σϓϩΠ͸ΠϯϑϥΛݟΔྑ͍ػձ • σϓϩΠͱ͸ɺͲ͜ʹԿΛͲ͏͢Δ͜ͱͳͷ͔ʁ • σϓϩΠίϚϯυͷཪଆͰԿ͕ى͖͍ͯΔͷ͔ʁ
  5. ໰͍߹Θͤͷྫ • MySQL/DockerϓϥάΠϯͰϝτϦοΫ͕औಘͰ͖ͳ͍ • ϒϥ΢βʔͰ͸ݟΕΔͷʹ֎ܗ؂ࢹͰΤϥʔ͕ग़Δ • CPU steal͕100%ʹுΓ෇͍͍ͯΔ • WindowsͰprocess

    queue length͕औΕ͍ͯͳ͍ • loadavg͕7࣌ؒ͝ͱʹ্ঢ͢Δ ֤छϛυϧ΢ΣΞ΍OSɺ֎ܗ؂ࢹͰ͸DNSͷ࢓૊ΈͳͲͷ஌͕ࣝ໰ΘΕΔ
  6. PWG • Performance Working Group • ύϑΥʔϚϯεͷ֬ೝɾى͖ͨো֐ͱରࡦਐḿͷ֬ೝ • ࢀՃऀ͸ΠϯϑϥΤϯδχΞͱ։ൃΤϯδχΞશһ •

    ࢘ձ୲౰Λॱ൪ʹճ͢: ϝϯόʔͷཧղΛਂΊΔ
 ฉ͚ͩ͘ΑΓ΋ɺ࢘ձͱͯ͠આ໌͢Δ͜ͱͰཧղ • άϥϑΛݟΔίʔφʔ
  7. ো֐ରԠৼΓฦΓ • ো֐ͷৼΓฦΓͱ͸ผʹɺରԠͨ͠खॱͳͲΛ֬ೝ • ଐਓੑ: ܦݧଟ͍ΤϯδχΞ͕ҰॠͰ௚ͯ͠͠·͏
 ԿΛࢥͬͯԿΛͲ͏ݟͯͲͷΑ͏ʹ൑அ͔ͨ͠ • ͲͷάϥϑΛݟ͔ͨɺͲͷαʔόʔͷϩάΛݟ͔ͨ •

    ରԠ͠ͳ͔ͬͨਓ͕stagingͰ࣮ࡍʹखॱΛ࠶ݱ • ো֐࣌ͷௐࠪͷͨΊͷ࢓૊Έͮ͘Γ
 ϩά΍؅ཧը໘ͷվળɾμογϡϘʔυ࡞੒ͳͲ ো֐͸ى͖ͯཉ͘͠ͳ͍͕ɺى͖ͨͱ͖͸ଟ͘ͷֶͼΛಘΔ
  8. Մ༻ੑɾίεττϥοΩϯά • Մ༻ੑ: ো֐͝ͱʹه࿥͠ɺPWGͰ֬ೝ • ։ൃνʔϜ͕ظ͝ͱʹ໨ඪΛ࣋ͭ • SLAެ։Λ໨ࢦ͢ • ίετ:

    ΠϯϑϥϝϯόʔͱσΟϨΫλʔ͕֬ೝձ • ։ൃϝϯόʔ΋AWS cost explorerͰ֬ೝͰ͖Δ • Node.js 6.10→8.10 Ͱ Lambdaͷίετ1ׂ࡟ݮ
  9. ίϯςφԽ • deploy / rollback͕ѹ౗తʹָʹͳΔ • ΦʔτεέʔϧΛߟྀͨ͠ίϯςφج൫ • ࣾ಺ͷChefڞ௨ج൫΁ͷґଘΛࣙΊΒΕΔ •

    ϞχλϦϯά΋ؚΊͯࠓͷ՝୊ • MackerelͷίϯςφରԠ։ൃதͰ͢ • Dockerfileͱ͍͏ڞ௨ݴޠɾϛυϧ΢ΣΞͱͷ઀ଓΛએݴతʹߦ͏