Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サービス開発と健全なプロダクトメンテナンスを開発チームで持続的に取り組む / Develope...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
astj
PRO
June 15, 2019
Technology
1.5k
1
Share
サービス開発と健全なプロダクトメンテナンスを開発チームで持続的に取り組む / Developers Boost KANSAI
https://event.shoeisha.jp/devboost/20190615
astj
PRO
June 15, 2019
More Decks by astj
See All by astj
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
520
Mackerel の時系列データベースにおける Redis Cluster の利用と Amazon ElastiCache への移行について / AWS Purpose-Built Databases Week
astj
PRO
3
6.1k
Mackerel のコンテナ監視の近況 / Mackerel Meetup #13
astj
PRO
1
2.6k
Observability: Mackerel による観測と Mackerel の観測 / NoOps Meetup Tokyo #8
astj
PRO
2
2.4k
Mackerel and Stripe / Qiita x Stripe Meetup
astj
PRO
0
5.7k
Mackerel をオンプレミスから AWS に移してからの1年半を振り返る / Hatena Engineer Seminar #11
astj
PRO
0
1.3k
AWS で実現した Mackerel 時系列データ1分粒度長期保存の裏側 / Mackerel Meetup #11 Tokyo
astj
PRO
6
30k
稼働中の Web サービスの perl のバージョンを上げていく
astj
PRO
0
7.5k
Perl 6 で Web Application Framework をつくる
astj
PRO
0
4.8k
Other Decks in Technology
See All in Technology
写真で見るAWS Summit Singapore 2026
k_adachi_01
0
110
Claude Code で使える DuckDB Skills を試してみた / DuckDB Skills and Claude Code
masahirokawahara
1
690
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
2
200
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
6
630
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
250
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
4
190
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
2.1k
パーソルキャリア IT/テクノロジー職向け 会社紹介資料|Company Introduction Deck
techtekt
PRO
0
220
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.6k
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
3.6k
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
1
420
R&D 祭 2024 UE5で絵コンテ・作画の制作支援ツールをつくる話
olmdrd
PRO
0
180
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Skip the Path - Find Your Career Trail
mkilby
1
120
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
ラッコキーワード サービス紹介資料
rakko
1
3.3M
Code Reviewing Like a Champion
maltzj
528
40k
Designing for humans not robots
tammielis
254
26k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Docker and Python
trallard
47
3.8k
Transcript
αʔϏε։ൃͱ ݈શͳϓϩμΫτϝϯςφϯεΛ ։ൃνʔϜͰ࣋ଓతʹऔΓΉ 2019/06/15 Developers Boost KANSAI Asato WAKISAKA (astj)
id:astjʢ͋͞ͱ͐͡ʔʣ ͯͳ ΞϓϦέʔγϣϯΤϯδχΞ ৽ଔ (2014/04) Mackerel ։ൃνʔϜ (2016/08~) Mackerel ςοΫϦʔυ
(2018/05~) มભ: ͯͳϒοΫϚʔΫͯͳϒϩά ➡डୗϓϩδΣΫτ➡Mackerel
Mackerel
None
None
None
• 20149݄ਖ਼ࣜϦϦʔε • ͔ͦ͜ΒຖिʢຖӦۀिʣͷ৽ػೳϦϦʔε • 200+िଓ͚·ͨ͠ • Ҏ߱ΞΫςΟϒʹػೳ։ൃΛܧଓ https://mackerel.io/ja/blog/entry/announcement/20180705
• αʔόʔαΠυ: Scala / Go • ϑϩϯτΤϯυ: TypeScript + AngularJS
• ػցֶशαϒγεςϜ: Python • AWS Lambda : NodeJS ࢁ
ຊͷத • ࠓ͢ϓϩμΫτϝϯςφϯεͷఆٛ • Mackerel ։ൃνʔϜͰͷՁ؍ • Mackerel ։ൃνʔϜͷऔΓΈ
ϓϩμΫτϝϯςφϯε
• ʢΤϯδχΞͷΔ͜ͱͷ͏ͪʣ • ϦϑΝΫλϦϯά • ґଘιϑτΣΞͷߋ৽ • ΠϯϑϥɺϛυϧΣΞͷߋ৽ ʮػೳ։ൃҎ֎͍͍ͩͨશ෦ʯ
ٕज़తෛ࠴ͷ͜ͱʁ
์ஔͯ͠ΒͤΔͱٕज़తෛ࠴ ੵۃతʹऔΓΉͱརӹ͕͋Δ
Ձ؍
৽͍͠ྑ͍
ιϑτΣΞ৽͘͢͠Δͱྑ͘ ͳ͍ͬͯ͘ͱࢥ͍ͨ͘ͳ͍Ͱ͔͢ʁɹ ࣮ͦͯ͠ࡍଟ͘ͷ߹Γཱͭͣ
৽͍͠ྑ͍ • ػೳͷՃ • ෆ۩߹ͷमਖ਼ • ੑೳͷ্ • etc…
όʔδϣϯΞοϓ͕ۜͷؙ ……ʹͳΔ͜ͱ͋Δ
• Scala ͷίϯύΠϧ͍ͱݴΘΕΔ • ࣮ࡍ Mackerel Ͱ·͞Ε͖ͯͨ
• Scala 2.11.12 ➡ 2.12.6 • ϑϧίϯύΠϧ 30 ➡ 5
• CI 40~50 ➡ 16 • push ͢Δͨͼʹ͜Ε͚ͩͬͯͨ… • ࠓࢥ͏ͱੲͷॴཁ࣌ؒϠό͍
৽͘͢͠Δඞཁ͋ΔΜͰ͢ʁ ʮࠓͷ··Ͱͳ͘ಈ͍ͯΔ͡ΌΜʁʯ ʮมߋରԠ͢Δͷखؒͩ͠…ʯ ʮ͏ͪͷίϯύΠϧ30͔͔Βͳ͍ΜͰ…ʯ ʮಈ࡞֬ೝ͢Δͷେมʂʯ
ͦΕΘ͔Δ
͕
ྑ͠ѱ͠Ͳ͜Ζ͡Όͳ͍ྫ • όά • ηΩϡϦςΟ • αϙʔτऴྃ
ಀ͛ΕΔ͔Ͳ͏͔ • ख͕ΕΔ·Ͱಀ͛ΕͨΒউͪ • ʮೲͯྃ͠ʯʮӡ༻ظ͕ؒݶఆʯ༗ར • ʮಀ͛ΕΔํʹṌ͚·͔͢ʁʯ • ಀ͛Δલʹߋ৽͕ආ͚ΒΕͳ͘ͳͬͨΒʁ
ߋ৽ͷखؒ • ಥવͷେ͖ͳมߋඇৗʹ͠ΜͲ͍ʂʂ • ܭըతʹ৽͍ͯ͘͘͠͠ͱେδϟϯϓճආ • ʢܭըతʹͬͯ݁ہେδϟϯϓͷ͜ͱ…ʣ
=> ϦεΫϔοδͱͯ͠ͷ ܭըతͳߋ৽ ʢͱ͍͏໘͋Δʣ
ߋ৽ͷखؒ • ಥવͷେ͖ͳมߋඇৗʹ͠ΜͲ͍ʂʂ • ܭըతʹ৽͍ͯ͘͘͠͠ͱେδϟϯϓճආ • ʢܭըతʹͬͯ݁ہେδϟϯϓͷ͜ͱ…ʣ
• ීஈͷ։ൃʹ͓͚ΔՁ؍Λ౿ऻ͢Δ • খཻ͍͞ͰͷϦϦʔεΛੵΈॏͶ͍ͯ͘ • ڊେͳϓϧϦΫΤετ࡞Βׂ͍ͣͯ͘͠ • ཁมʹಛผѻ͍͢Δ͜ͱͳ͍Ͷͱ͍͏
ͳ͍ • ػೳ։ൃ༏ઌ͞Εͯ͠·͏ɺͳͲ • ։ൃܭըଆͱՁ؍Λڞ༗Ͱ͖Εྑ͍ • Mackerel ͷ߹ΤϯδχΞ͕ଟ͍ • ͜ͷղ͋·Γ࣋ͬͯͳ͍Ͱ͢……
None
࣮ࡍͷऔΓΈ
•৽ͨʹߟ͑Δ͜ͱ / அ͢Δ͜ͱ͕ग़ݱ •վΊͯνʔϜঢ়گΛ࠶֬ೝ ςοΫϦʔυʹͳͬͨ (2018/05)
લఏ • εΫϥϜ • 2िؒεϓϦϯτ • εϓϦϯτͷʹόοΫϩάΛؔऀͰཧ • ظతʹ̏ϲϩʔυϚοϓ •
̏ϲ݄͝ͱʹݟ͠
• খ͍͞λεΫʢ1εϓϦϯτ͘Β͍ʣ • XXX ͷίʔυϦϑΝΫλϦϯά͍ͨ͠ • ͋ͷαʔόʔΛೖΕସ͑ͳ͍ͱ͍͚ͳ͍ • ͓͓͖ͳ •
Play Framework ͷόʔδϣϯΞοϓ • Redis Λ ElastiCache ʹҠߦ͢Δ ৭ʑͳϓϩμΫτϝϯςφϯε
ݩʑ (astj TL बޙ)
Α͍͜ͱ • Δ͖͜ͱΈΜͳͷཪʹ֓Ͷ͋Δ • ϝϯςφϯεʹϦιʔεΛׂ͖͍ͨҙࣝ͋Δ • ʮ৽͍͠ྑ͍ʯ • ΤϯδχΞʹݶΒͣνʔϜϨϕϧͰ࣋ͬͯΔ •
ҙࣝͷߴ͞ͱؾ߹ͰͦΕͳΓʹਐΜͰΔ
͓ࠔΓ • λεΫʹ৫తʹऔΓΉྲྀΕ͕ະඋ • ݸਓͷؤுΓۦಈ͕ଟ͍ • ҙࣝͷߴ͞ͱؾ߹པΈ • ࣋ଓੑ͕ͳ͍ʢؾ߹͕࣋ͯ࣋ଓ͢Δ…ʣ
• ΞϓϦ TL, SM, PO ͰόοΫϩάͱͯ͠ཧ • ىථ issue Ͱ୭ͰͰ͖Δ
• ཧ͢ΔձͰ͓ΓΌͬͱܾΊͯͨ • Πϯϑϥ SRE ʹλεΫཧ͓ͤ খ
• ϩʔυϚοϓʹج൫ܥλεΫͱͯ͠Ճ͑Δ • SM ͱ PO ͕ issue ͔ΒงғؾͰर͍ͬͯͨ େ
• ΤϯδχΞ͕༨ྗͱؾɾؾ߹Ͱߋ৽͢Δ • ґଘϥΠϒϥϦͷߋ৽ͱ͔ ແ
astj TL ब(2018/05)
͜ΕܾΊΒΕͳ͘ͳ͍ʁ
• ΞϓϦ TL, SM, PO ͰόοΫϩάͱͯ͠ཧ • ىථ issue Ͱ୭ͰͰ͖Δ
• ཧ͢ΔձͰ͓ΓΌͬͱܾΊͯͨ • Πϯϑϥ SRE ʹλεΫཧ͓ͤ খ
• όοΫϩάཧͷͦͷͰஅͰ͖ͳ͍ • ʮͬͨ΄͏͕͍͍Ͱ͢Ͷʯݴ͑Δ • ʮ༏ઌͲ͏Ͱ͔͢ʯʹ͕͑ग़ͳ͍ • ຊདྷΤϯδχΞͷ૯ҙʢʁʣͷஅͰ • ΤϯδχΞΛදͯ͠ཧͷʹग़ͯΔ
• ϩʔυϚοϓʹج൫ܥλεΫͱͯ͠Ճ͑Δ • SM ͱ PO ͕ issue ͔ΒงғؾͰर͍ͬͯͨ େ
• ;Θͬͱͯ͠Δʂʂʂʂʂʂʂʂʂ • ΤϯδχΞ͕ͪΌΜͱؔ༩͍ͨ͠ • ϩʔυϚοϓͳͷͰަবௐ͢Δɹ
ܾΊΔͨΊʹԿ͕ඞཁʁ
ϓϩμΫτϝϯςφϯεͷλεΫཧ
• ΤϯδχΞϦϯάλεΫͷ༏ઌΛཧ͍ͨ͠ • ͦͯ͠ΤϯδχΞͰ͍ٞͨ͠ • ࠷ऴతͳλεΫཧνʔϜશମ • খͳΒόοΫϩά / େͷޙड़ʂ
• λεΫΛೋॏཧͨ͘͠ͳ͍ʢϜμʣ ➡όοΫϩά / ϩʔυϚοϓͷલஈ֊Λཧ
None
• GitHub Project ʹ issue ΛूΊΔ • ʮػೳ։ൃλεΫೖΕͳ͍ʯ͕ϧʔϧ • νʔϜશମͷλεΫཧͱผͷϘʔυ
• ఆظతʹΤϯδχΞͰ༏ઌΛ͚ͭΔ • ༏ઌ͍ͱ์ྲྀʢؾ͕͍ͨΒͬͯʂʣ
• খʢεΫϥϜͷόοΫϩάʹՃ͑Δʣ • νʔϜͷόοΫϩάཧͰϘʔυΛݩʹ͢ • େʢϩʔυϚοϓʹΈࠐΉʣ • ϩʔυϚοϓΛࡦఆ͢Δձٞʹ TL ग़Δ
͜ΕܾΊΒΕͳ͘ͳ͍ʁ ղܾ
None
ͱ͜ΖͰ
• ΞϓϦ TL, SM, PO ͰόοΫϩάͱͯ͠ཧ • ىථ issue Ͱ୭ͰͰ͖Δ
• ཧ͢ΔձͰ͓ΓΌͬͱܾΊͯͨ • Πϯϑϥ SRE ʹλεΫཧ͓ͤ খ
• SRE ΤϯδχΞձʹࢀՃͯ͠૭ޱ౷Ұ • ΤϯδχΞΈΜͳͰ՝ʹऔΓΉ • αʔόʔͷߋ৽ιϑτΣΞͷߋ৽ಉྻ ҰॹʹΖ͏͡ΌΜ
None
ͱ͜ΖͰ̎
• ΤϯδχΞ͕༨ྗͱؾɾؾ߹Ͱߋ৽͢Δ • ґଘϥΠϒϥϦͷߋ৽ͱ͔ ແ
=> ϦεΫϔοδͱͯ͠ͷ ܭըతͳߋ৽ ʢͱ͍͏໘͋Δʣ ࠶ܝ
• αʔόʔαΠυ: Scala / Go • ϑϩϯτΤϯυ: TypeScript + AngularJS
• ػցֶशαϒγεςϜ: Python • AWS Lambda : NodeJS ࢁ ࠶ܝ
• ϝϯόʔʹΑΓಘखෆಘख͕͋Δ • Γͩ͘͞Μ • ܭըతʹফԽ͢Δͱେྔͷ issue ͕ग़ݱ
ʢݸਓʣ ؾ߹େ͖ʂʂʂʂʂ
ʢTLʣ ؾ߹Ί͍ͨʂʂʂʂ
×TL͕ҟৗʹ͕ΜΔ ×ಛఆͷ୭͔͕ҟৗʹ͕ΜΔ ʓνʔϜͰ࣋ଓతʹ͕ΜΔ
• ҆ఆతʹϥΠϒϥϦΛߋ৽͍ͨ͠ • νʔϜͰऔΓΜͰ͍͖͍ͨ • ຖि issue ݐͯΔͷେมͰ • ʢਐḿཧγϏΞ͡Όͳ͍ʣ
➡ ΤϯδχΞձͰٞ
➡൪੍
None
• ͱͱΤϯδχΞͰिସΘΓͷ൪੍ • ϦϦʔε୲ɺΤεΧϨʔγϣϯ͚ etc • ൪ͷҰͭͱͯ͠Ճ
None
• େྔʹ͋ΔͷͰ͍͔ͭ͘ળҙͰબΜͰߋ৽ • ͬ͞ͱ্͛ΒΕͳ͍߹దٓઌૹΓ • ➡λεΫͱͯ͠ܭըతʹ͖߹͏
None
• ߋ৽߹͍εϓϨουγʔτʹه • ͠Βͬͯ͘Δͱ͘ͳΔ • పఈ͍ͨ͠ͱ͍͏ΑΓՄࢹԽ͍ͨ͠
None
;ΓฦΓ
ΤϯδχΞձ / GitHub Project
• ॠൃతͳஅྗʹཔΒͣ༏ઌܾఆͰ͖Δ • ٕज़తཁ݅ͳͲ֬ೝ͘͢͠ͳͬͨ • গ͠Πϯϑϥߋ৽ʹภͬͯΔؾͯ͠Δ • SRE ۀTL ͕͔ͬͯͨΒʁؔͳ͍ʁ
• ➡࠷ۙ SRE ૿һ͕͋ͬͨͷͰௐ͍ͯ͘͠
Ξοϓσʔτ൪
• ґଘ͕ݹͷ··์ஔ͞ΕΔ͜ͱ͕ͳ͘ͳͬͨ • ༷ࢠ͕ՄࢹԽͰ͖ͨ • τϥϒϧͷࣄલճආޭ • Amazon S3: AWS
ॺ໊όʔδϣϯ2ഇࢭ • aws-sdk-go Λߋ৽ͨ࣌͠ʹࣗવͱҠߦ
• Ұͷߋ৽ʹඞཁͳؾ߹ήʔδݮͬͨ • ؾ߹θϩͰߋ৽Ͱ͖ͳ͍ͷࣄ࣮ • Ͳ͏ͯۤ͠खͷͷख͕͖ͭͮΒ͍ • ➡νʔϜͰͲ͏ٕज़Λ͛Δ͔ • εΩϧϚοϓͳͲͷऔΓΈ
Mackerel։ൃνʔϜΧΠθϯͷཱྀʢৼΓฦΓɾϞϒϓϩɾεΩϧϚοϓͳͲʣ https://developer.hatenastaff.com/entry/2018/04/04/111410
·ͱΊ
• ʮ৽͍͠ྑ͍ʯͰͬͯ·͢ • ϓϩμΫτΛ݈શʹ৽͍ͯ͘͘͠͠ • νʔϜͰ͖߹͏औΓΈΛ͍ͯ͠·͢ • ։ൃϩʔυϚοϓͷΈࠐΈ • ΤϯδχΞͰͷλεΫ༏ઌ͚
• Ξοϓσʔτ൪
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͳʹ͔͋Ε࠙ձ or Twitter @astj ·Ͱʂ