Mackerelのクライアントワークから学ぶ 情報共有の成功と失敗 / BacklogWorld 2018

F9e11bea0c22333596791dd0696f5d4f?s=47 KASUYA, Daisuke
February 18, 2018

Mackerelのクライアントワークから学ぶ 情報共有の成功と失敗 / BacklogWorld 2018

BacklogWorld 2018 登壇資料

F9e11bea0c22333596791dd0696f5d4f?s=128

KASUYA, Daisuke

February 18, 2018
Tweet

Transcript

  1. 2018-02-18 Backlog World גࣜձࣾ ͸ͯͳ പ୩େี (id:daiksy) MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ ৘ใڞ༗ͷ੒ޭͱࣦഊ

  2. ࣗݾ঺հ പ୩େี(@daiksy) ▸ גࣜձࣾ ͸ͯͳ ▸ Mackerel։ൃνʔϜσΟϨΫλʔ ▸ ScalaMatsuriελοϑ ▸

    Scalaؔ੢Summitελοϑ ▸ ࠷ۙDJ͸͡Ί·ͨ͠
  3. PR https://mackerel.io

  4. MackerelͷίϥϘϨʔγϣϯ։ൃ ▸ SaaSαʔϏεͳͷͰϢʔβʔ޲͚ݸผ։ൃ͸΍͍ͬͯͳ͍ ▸ ௨஌ઌ࿈ܞ΍ೝূؔ࿈ɻΫϥ΢υࣄۀऀͱͷ࿈ܞͳͲͰί ϥϘϨʔγϣϯ։ൃ͕͋Δ ▸ Cloud ProviderΠϯςάϨʔγϣϯͱ֤ͯ͠छAPIΛఏڙ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  5. MackerelͷίϥϘϨʔγϣϯ։ൃ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  6. MackerelͷίϥϘϨʔγϣϯ։ൃ ▸ MackerelͷTypetalk࿈ܞ ▸ Typetalkͷ৽͍͠APIͷϦϦʔεʹ߹Θͤͯਫ໘ԼͰ։ൃ ▸ Typetalk৽API ͱMackerelͷ࿈ܞΛಉ࣌ϦϦʔε MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  7. MackerelͷίϥϘϨʔγϣϯ։ൃ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  8. MackerelͷίϥϘϨʔγϣϯ։ൃ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  9. MackerelͷίϥϘϨʔγϣϯ։ൃ ▸ MackerelͷTypetalk࿈ܞͰ࢖ͬͨίϛϡχέʔγϣϯπʔ ϧ ▸ ͸ͯͳ - nulabؒ͸TypetalkͷΈͰίϛϡχέʔγϣϯ ▸ ࣾ಺Ͱ͸GithubͷIssueͰઃܭͷٞ࿦ͳͲ͠ͳ͕Β։ൃ

    MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  10. ࠓ೔ͷ͓࿩ ▸ اۀؒͷίϥϘϨʔγϣϯ։ൃʹ͍ͭͯ ▸ ͲΜͳಓ۩Λ࢖͏ʁ ▸ ίϛϡχέʔγϣϯͷଐੑʹ͍ͭͯ ▸ ࣮ྫΛ঺հͭͭ͠ߟ͑ͯΈ·͠ΐ͏ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  11. ίϥϘϨʔγϣϯ։ൃ ▸ جຊతʹ͓ޓ͍ϦϞʔτͰͷ࢓ࣄʹͳΔ ▸ ϦϞʔτϫʔΫͷจ຺ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  12. ίϥϘϨʔγϣϯ։ൃ ▸ جຊతʹ͓ޓ͍ϦϞʔτͰͷ࢓ࣄʹͳΔ ▸ ϦϞʔτϫʔΫͷจ຺ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ 3೔લʹ ࿩ͯ͠·ͨ͠

  13. ίϥϘϨʔγϣϯ։ൃ ▸ جຊతʹ͓ޓ͍ϦϞʔτͰͷ࢓ࣄʹͳΔ ▸ ϦϞʔτϫʔΫͷจ຺ ▸ ԕִ஍ಉ࢜ͷ৘ใͷ΍ΓऔΓ ▸ ؾܰʹ੠Λ͔͚͋ͬͨΓͰ͖ͳ͍ ▸

    ࣗ෼͕ͨͪීஈ࢖͍ͬͯΔπʔϧΛ૬ख΋࢖͑Δͱ͸ݶ Βͳ͍ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  14. ίϥϘϨʔγϣϯ։ൃ ▸ جຊతʹ͓ޓ͍ϦϞʔτͰͷ࢓ࣄʹͳΔ ▸ ϦϞʔτϫʔΫͷจ຺ ▸ ͓ޓ͍ΛΑ͘஌Βͳ͍ ▸ จষͷߦؒΛಡΜͩΓɺ҉໧஌ʹཔͬͨΓͰ͖ͳ͍ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  15. ίϥϘϨʔγϣϯ։ൃ ▸ ࢓ࣄΛ͢Δͷʹඞཁͳ৘ใڞ༗(ίϛϡχέʔγϣϯ)ʹ͸Ͳ ͷΑ͏ͳ΋ͷ͕͋Δ͔ʁ ▸ λεΫ؅ཧ ▸ ਐḿ؅ཧ ▸ ࢓༷ͷ૬ஊ

    ▸ ਺্͑͛ͨΒΩϦ͕ͳ͍ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  16. ৘ใͷ̎ͭͷଐੑ ▸ ετοΫܕ ▸ ϑϩʔܕ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  17. ৘ใͷ̎ͭͷଐੑ ▸ ετοΫܕ ▸ ஝ੵ͞Εɺ͍ͭͰ΋ࢀর͕Մೳͳ΋ͷ ▸ ઃܭॻ, Wiki, ιʔείʔυ, λεΫνέοτ

    ▸ Backlog, Cacoo MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  18. ৘ใͷ̎ͭͷଐੑ ▸ ϑϩʔܕ ▸ ઱౓͕ߴ͘ɺૉૣ͘ަ׵͞ΕΔɻ஝ੵ͞Εʹ͘͘ޙ͔Βࢀ র͢Δͷ͸೉͍͠ ▸ νϟοτ, ి࿩, ձٞͷ΍ΓͱΓ

    ▸ Typetalk MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  19. ࣾ಺։ൃ͸Ͳ͏͍ͯ͠Δ͔ ▸ ϑϩʔ ▸ SlackΛ࢖ͬͨνϟοτ ▸ ू·ͬͯձ࿩ͨ͠ΓɺϦϞʔτઌͱςϨϏձٞͨ͠Γ ▸ ϖΞϓϩɻϖΞΦϖɻϞϒϓϩɻ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  20. ࣾ಺։ൃ͸Ͳ͏͍ͯ͠Δ͔ ▸ ετοΫ ▸ GitHub (ZenHub) ▸ ͸ͯͳάϧʔϓ ▸ Google

    Docs MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  21. ৘ใͷ̎ͭͷଐੑ ▸ ϑϩʔܕͷ৘ใͱετοΫܕͷ৘ใΛόϥϯεྑ͘ૢΔͷ͕ ϙΠϯτ ▸ ձٞͷ಺༰Λٞࣄ࿥ʹॻ͖࢒͢ ▸ ձ࿩ͨ͠಺༰Λઃܭॻʹ൓ө͢Δ ▸ ϑϩʔ

    -> ετοΫ ▸ νϟοτπʔϧͷϐϯཹΊɺͳͲ΋ετοΫԽͷҰछ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  22. ৘ใͷ̎ͭͷଐੑ ▸ ετοΫܕʹภͬͨ৔߹ ▸ εϐʔυײͷܽ೗ ▸ νʔϜϝϯόʔͱͷ৴པײΛৢ੒ͮ͠Β͍ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  23. ৘ใͷ̎ͭͷଐੑ ▸ ετοΫܕʹภͬͨ৔߹ ▸ εϐʔυײͷܽ೗ ▸ νʔϜϝϯόʔͱͷ৴པײΛৢ੒ͮ͠Β͍ ▸ ϑϩʔܕʹภͬͨ৔߹ ▸

    ݴͬͨݴΘͳ͍ͷਫֻ͚࿦ ▸ ࢓༷ͷᐆດ͞ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  24. ෼ྨɿετοΫ ▸ ઃܭॻ ▸ ՝୊؅ཧථ ▸ ιʔείʔυ ▸ wiki ▸

    νέοτ؅ཧγεςϜ ▸ ਐḿ؅ཧ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  25. ෼ྨɿϑϩʔ ▸ νϟοτ ▸ ձ࿩ (ి࿩, ձٞ) ▸ ϗϫΠτϘʔυͷਤ ▸

    ࣸਅʹ࢒ͨ͠Γ͢Δ͚Ͳɺ݁ہίϯςΩετ͕Θ͔Βͳ ͍ͱޙ͔Βݟͯ΋Α͘Θ͔Βͳ͔ͬͨΓ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  26. ෼ྨɿதؒత ▸ ΧϯόϯϘʔυ ▸ όʔϯμ΢ϯνϟʔτ ▸ ৼΓฦΓͷϩά ▸ Ұ࣌తʹετοΫ͞ΕͯΔ͚Ͳɺ༻͕ͳ͘ͳΕ͹ഇغ͞Εͯ ΋໰୊ͳ͍Α͏ͳ΋ͷ΋͋Δ

    MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  27. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  28. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ ઌํͱͷ΍ΓͱΓ͸νϟοτϝΠϯ ▸ ΦϯϥΠϯͷΧϯόϯϘʔυͰλεΫͷਐḿΛڞ༗ ▸ ઃܭυΩϡϝϯτ͸ɺࣾ಺ͷGithubͰ؅ཧ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  29. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ ϓϩδΣΫτ͸ॱௐʹਐΜͩ ▸ ਐḿͷ஗Ԇ΍ϦΧόϦͳͲ͸ΧϯόϯϘʔυͰৗʹՄࢹԽ ▸ νϟοτͰؾܰʹ૬ஊͰ͖ɺίϛϡχέʔγϣϯ΋ԁ׈ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  30. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ 1ͭམͱ͕݀͠… MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  31. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ ͋Δػೳͷઃܭҙਤʹ͍ͭͯٞ࿦ʹ ▸ ҎલνϟοτͰٞ࿦ͨ͠໰୊ͩͬͨ ▸ ౰࣌ͷܦҢ͕ෆ໌Ͱਫֻ͚࿦ͬΆ͘ͳͬͨ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  32. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ མͱ݀͠ϙΠϯτ ▸ νϟοτπʔϧ͸ϑϩʔܕͷπʔϧ ▸ ͨͩ͠ɺ͍͍ͩͨͷνϟοτπʔϧ͸ϩάͷݕࡧ͕Ͱ͖Δ ▸ ݕࡧ͑͞ద੾ʹͰ͖Ε͹ɺ؆қతͳετοΫͷ໾ׂ΋୲ͬ

    ͍ͯΔ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  33. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ མͱ݀͠ϙΠϯτ ▸ ࠓճͷ։ൃͰ࢖ͬͨνϟοτπʔϧ͸ແྉ൛ͩͬͨ ▸ աڈϩά͸ҰఆظؒͰফ໓ ▸ ౰࣌ͷܦҢ΋ࣦΘΕ͍ͯΔ

    ▸ ͦΜͳ… MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  34. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ ετοΫ৘ใͷॏཁੑ ▸ ܦҢ͕࢒Δ࢓૊ΈΛͪΌΜͱߟ͑Α͏ ▸ ਫֻ͚࿦ΛऴΘΒͤΔʹ͸ɺͲͪΒ͔͕Կ͔ΛఘΊΔ͔͠ແ ͍… MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  35. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ ҙ֎ͱΞΫςΟϒͳϝϯόʔ͕ݶΒΕͯ͠·͏ ▸ νϟοτϧʔϜʹ͸͍Δ͚ͲɺϓϩδΣΫτத1ճ΋ൃݴ ͠ͳ͍ਓͱ͔ ▸ ͢΂ͯͷਓ͕ؒશ෦ͷϩάΛಡΜͰ͍ΔΘ͚͸ͳ͍ͷͰɺ ڞ༗͕࿙ΕΔՄೳੑ΋͋Δɻ࿙Εͯ΋ؾ͚ͮແ͍

    MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  36. ࣮ྫ ϑϩʔܕʹภͬͨύλʔϯ ▸ ҙ֎ͱΞΫςΟϒͳϝϯόʔ͕ݶΒΕͯ͠·͏ ▸ νϟοτϧʔϜʹ͸͍Δ͚ͲɺϓϩδΣΫτத1ճ΋ൃݴ ͠ͳ͍ਓͱ͔ ▸ ͢΂ͯͷਓ͕ؒશ෦ͷϩάΛಡΜͰ͍ΔΘ͚͸ͳ͍ͷͰɺ ڞ༗͕࿙ΕΔՄೳੑ΋͋Δɻ࿙Εͯ΋ؾ͚ͮແ͍

    ▸ ٞࣄ࿥Λճཡͯ͠൑ࢠΛԡͨ͘͠ͳΔؾ࣋ͪ΋ͪΐͬ ͽΓΘ͔Δ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  37. ࣮ྫ ετοΫܕʹภͬͨύλʔϯ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  38. ࣮ྫ ετοΫܕʹภͬͨύλʔϯ ▸ ίϥϘઌͷࣄ৘Ͱνϟοτπʔϧ͕࢖͑ͳ͔ͬͨ ▸ ίϛϡχέʔγϣϯखஈ͕Ͳ͏ͯ͠΋ݶΒΕΔ ▸ جຊ͸ϝʔϧϕʔεͷ΍ΓऔΓ ▸ ϝʔϧͰ՝୊؅ཧථΛૹΓ߹͏ͱ͍͏ܗʹ

    MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  39. ࣮ྫ ετοΫܕʹภͬͨύλʔϯ ▸ ։ൃ͸ॱௐ ▸ ࢓༷ࡦఆͷܦҢ΍ɺ͢΂ͯͷίϛϡχέʔγϣϯ͸ϝʔϧͱ ՝୊؅ཧථͰ͓ޓ͍߹ҙ্ͨ͠ͰਐΉ ▸ ਫֻ͚࿦ʹ͸ઈରͳΒͣɺ৘ใͷ΍ΓͱΓ͸໌ന ▸

    ʮ͋ͷ݅ͬͯͲ͏ͳͬͯ·͚ͨͬ͠ʁʯʮ՝୊ථͷNo10 ʹॻ͍ͯ·͢Αʯʮ͓͓ɻຊ౰Ͱ͢Ͷʯ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  40. ࣮ྫ ετοΫܕʹภͬͨύλʔϯ ▸ ࠔΓϙΠϯτ ▸ ։ൃऴ൫ͷςετظؒ͸εϐʔυײ͕ཉ͍͠ ▸ ՝୊ථͷ΍ΓͱΓͩͱɺ͋Δఔ౓ճ౴Λ·ͱΊͯૹΓͨ ͍ʢখग़͠ʹ΍ΓͱΓ͢Δͱ༨ܭʹίετ͕͔͔Δʣ ▸

    ʮճ౴ظݶʯ͕ॻ͔Ε͍ͯͨΒ݁ہͦͷظݶ·Ͱճ౴ ͠ͳ͍… ▸ ٞ࿦Λ͍ͨ͠ͱ͖͸ձٞΛઃఆ͢Δඞཁ͕͋Δ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  41. ࣮ྫ ετοΫܕʹภͬͨύλʔϯ ▸ ·ͱΊ ▸ ৘ใ͕ετοΫ͞Ε͍ͯΔͱɺࠔΔ͜ͱ͸࣮͸গͳ͍ ▸ ৘ใΛޙ͔Β͓ޓ͍֬ೝͰ͖Δ͜ͱ͸ॏཁ ▸ ΍ΓऔΓ͕Ͳ͏ͯ͠΋ϏδωεϥΠΫʹͳͬͯ͠·͏

    ▸ ϑϩʔܕͷૉૣ͍ίϛϡχέʔγϣϯ͸ཉ͘͠ͳΔ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  42. ࢖͍෼͚ ▸ ୹ظܾઓɾ୯ൃ։ൃ͸ϑϩʔΛଟΊʹಓ۩Λ੔උ ▸ ௕ظϓϩδΣΫτɾେن໛ϓϩδΣΫτ͸ετοΫ͕௒ॏཁ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ

  43. ·ͱΊ ▸ ίϥϘϨʔγϣϯ։ൃ͸೉͍͠ ▸ ձࣾ͝ͱʹ࢖͑Δπʔϧʹ੍ݶ͕͋Δ ▸ ͕ࣗࣾ࢖͑ΔπʔϧΛίϥϘઌ΋࢖͑Δͱ͸ݶΒͳ͍ ▸ ಛʹΠϯλʔωοτΛ࢖ͬͨίϛϡχέʔγϣϯπʔϧ ͸੍ݶ͞Ε͕ͪ

    ▸ ετοΫͱϑϩʔͷ2ଐੑΛҙࣝͨ͠πʔϧબఆ͕ॏཁ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ
  44. ·ͱΊ ▸ ͪΐ͏Ͳ΅͘Βͷ໨ͷલʹBacklog, CacooͱTypetalkͱ͍ ͏γʔϜϨεͳྑ͍αʔϏε͕͋Γ·͢Ͷ MackerelͷΫϥΠΞϯτϫʔΫ͔ΒֶͿ৘ใڞ༗ͷ੒ޭͱࣦഊ