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.4k
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.3k
Perl 6 で Web Application Framework をつくる
astj
PRO
0
4.5k
Other Decks in Technology
See All in Technology
Java 30周年記念! Javaの30年をふりかえる
skrb
4
2.3k
障害を回避するHttpClient再入門 / Avoiding Failures HttpClient Reintroduction
uskey512
1
340
LT:組込み屋さんのオシロが壊れた!
windy_pon
0
550
継続戦闘能⼒
sansantech
PRO
0
230
Flutterアプリを⾃然⾔語で操作する
yukisakai1225
0
190
CSS polyfill とその未来
ken7253
0
150
GitHub Coding Agent 概要
kkamegawa
1
2k
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
31
11k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
NW運用の工夫と発明
recuraki
1
820
Applied NLP in the Age of Generative AI: Future-Proof Strategies for Banking and Finance
inesmontani
PRO
0
130
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
8
66k
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Why Our Code Smells
bkeepers
PRO
336
57k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Optimizing for Happiness
mojombo
378
70k
KATA
mclloyd
29
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
750
Faster Mobile Websites
deanohume
307
31k
RailsConf 2023
tenderlove
30
1.1k
Designing Experiences People Love
moore
142
24k
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 ·Ͱʂ