Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サービス開発と健全なプロダクトメンテナンスを開発チームで持続的に取り組む / Develope...
Search
astj
PRO
June 15, 2019
Technology
1
1.4k
サービス開発と健全なプロダクトメンテナンスを開発チームで持続的に取り組む / Developers Boost KANSAI
https://event.shoeisha.jp/devboost/20190615
astj
PRO
June 15, 2019
Tweet
Share
More Decks by astj
See All by astj
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
420
Mackerel の時系列データベースにおける Redis Cluster の利用と Amazon ElastiCache への移行について / AWS Purpose-Built Databases Week
astj
PRO
3
5.9k
Mackerel のコンテナ監視の近況 / Mackerel Meetup #13
astj
PRO
1
2.5k
Observability: Mackerel による観測と Mackerel の観測 / NoOps Meetup Tokyo #8
astj
PRO
2
2.2k
Mackerel and Stripe / Qiita x Stripe Meetup
astj
PRO
0
5.6k
Mackerel をオンプレミスから AWS に移してからの1年半を振り返る / Hatena Engineer Seminar #11
astj
PRO
0
1.2k
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.7k
Other Decks in Technology
See All in Technology
チーリンについて
hirotomotaguchi
6
2k
初めてのDatabricks AI/BI Genie
taka_aki
0
150
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
210
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
360
乗りこなせAI駆動開発の波
eltociear
1
1.1k
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
210
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
sagara
0
140
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
2
460
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
120
モダンデータスタック (MDS) の話とデータ分析が起こすビジネス変革
sutotakeshi
0
490
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
280
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
180
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Balancing Empowerment & Direction
lara
5
800
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Code Reviewing Like a Champion
maltzj
527
40k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
4 Signs Your Business is Dying
shpigford
186
22k
Git: the NoSQL Database
bkeepers
PRO
432
66k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
A Tale of Four Properties
chriscoyier
162
23k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
KATA
mclloyd
PRO
32
15k
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 ·Ͱʂ