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
380
Mackerel の時系列データベースにおける Redis Cluster の利用と Amazon ElastiCache への移行について / AWS Purpose-Built Databases Week
astj
PRO
3
5.9k
Mackerel のコンテナ監視の近況 / Mackerel Meetup #13
astj
PRO
1
2.4k
Observability: Mackerel による観測と Mackerel の観測 / NoOps Meetup Tokyo #8
astj
PRO
2
2.2k
Mackerel and Stripe / Qiita x Stripe Meetup
astj
PRO
0
5.5k
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.4k
Perl 6 で Web Application Framework をつくる
astj
PRO
0
4.6k
Other Decks in Technology
See All in Technology
Large Vision Language Modelを用いた 文書画像データ化作業自動化の検証、運用 / shibuya_AI
sansan_randd
0
110
BtoBプロダクト開発の深層
16bitidol
0
360
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.9k
Goにおける 生成AIによるコード生成の ベンチマーク評価入門
daisuketakeda
2
110
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
270
スタートアップにおけるこれからの「データ整備」
shomaekawa
1
200
生成AIを活用したZennの取り組み事例
ryosukeigarashi
0
210
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
5
610
多野優介
tanoyusuke
1
460
Oracle Cloud Infrastructure:2025年9月度サービス・アップデート
oracle4engineer
PRO
0
460
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
150
データエンジニアがこの先生きのこるには...?
10xinc
0
450
Featured
See All Featured
Done Done
chrislema
185
16k
Making Projects Easy
brettharned
119
6.4k
Unsuck your backbone
ammeep
671
58k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Designing for Performance
lara
610
69k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
The Cult of Friendly URLs
andyhume
79
6.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
4 Signs Your Business is Dying
shpigford
185
22k
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 ·Ͱʂ