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
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
320
Mackerel の時系列データベースにおける Redis Cluster の利用と Amazon ElastiCache への移行について / AWS Purpose-Built Databases Week
astj
PRO
3
5.8k
Mackerel のコンテナ監視の近況 / Mackerel Meetup #13
astj
PRO
1
2.3k
Observability: Mackerel による観測と Mackerel の観測 / NoOps Meetup Tokyo #8
astj
PRO
2
2.1k
Mackerel and Stripe / Qiita x Stripe Meetup
astj
PRO
0
5.5k
Mackerel をオンプレミスから AWS に移してからの1年半を振り返る / Hatena Engineer Seminar #11
astj
PRO
0
1.1k
AWS で実現した Mackerel 時系列データ1分粒度長期保存の裏側 / Mackerel Meetup #11 Tokyo
astj
PRO
6
30k
稼働中の Web サービスの perl のバージョンを上げていく
astj
PRO
0
7.4k
Perl 6 で Web Application Framework をつくる
astj
PRO
0
4.6k
Other Decks in Technology
See All in Technology
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
310
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
12
4.4k
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5k
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.4k
Prox Industries株式会社 会社紹介資料
proxindustries
0
220
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
120
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.7k
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
930
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
130
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
2
490
Observability в PHP без боли. Олег Мифле, тимлид Altenar
lamodatech
0
310
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
2.5k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
The Invisible Side of Design
smashingmag
299
51k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
200
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Facilitating Awesome Meetings
lara
54
6.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Agile that works and the tools we love
rasmusluckow
329
21k
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 ·Ͱʂ