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
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBacks...
Search
VTRyo
July 11, 2025
Technology
0
52
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
SRE NEXT 2035
VTRyo
July 11, 2025
Tweet
Share
More Decks by VTRyo
See All by VTRyo
一体いつからSRE NEXTがSREだけのカンファレンスだと錯覚していた? / When did you ever get the idea that SRE NEXT was a conference just for SREs?
vtryo
1
160
一人から始めたSREチーム3年の歩み - 求められるスキルの変化とチームのあり方 - / The three-year journey of the SRE team, which started all by myself
vtryo
9
11k
2ヶ月かかるDBアップグレード検証を最大2週間に短縮した自作Go製CLIツール「Platinum」を紹介する / Introducing Go CLI tool "Platinum" for shortened DB upgrade validation
vtryo
3
1.5k
MySQLテーブル毎のデータサイズ集計をDatadog × Prometheus Exporter × Kubernetesを使って自動化する / Automate data size aggregation for each MySQL table using Datadog, Prometheus Exporter and Kubernetes
vtryo
0
380
自分だけの、誰も想像できないキャリアの育て方 ~懇親会で実践できる!偶然から始めるキャリアプラン~ / Career planning starting by luckly
vtryo
2
1.3k
なぜSREをはじめるのは難しいのか / Why is it hard to start SRE?
vtryo
1
600
Datadogでシステムとアプリケーション情報を民主化をはじめよう / System and Application information democratize with datadog
vtryo
2
3.5k
サービスと開発者に最も近いProduct SREsとして 取り組んでいるコト / Work as Product SREs closest to services and developers
vtryo
0
3k
一人から始めるプロダクトSRE / How to start SRE in a product team, all by yourself
vtryo
5
13k
Other Decks in Technology
See All in Technology
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
450
ゼロからはじめる採用広報
yutadayo
3
970
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
280
freeeのアクセシビリティの現在地 / freee's Current Position on Accessibility
ymrl
2
210
面倒な作業はAIにおまかせ。Flutter開発をスマートに効率化
ruideengineer
0
260
Claude Code に プロジェクト管理やらせたみた
unson
6
4.3k
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
170
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
480
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
370
AI専用のリンターを作る #yumemi_patch
bengo4com
6
4.3k
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
0
100
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
290
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Rails Girls Zürich Keynote
gr2m
95
14k
Why Our Code Smells
bkeepers
PRO
336
57k
Code Reviewing Like a Champion
maltzj
524
40k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
Transcript
60Ҏ্ͷϓϩμΫτΛ࣋ͭ৫ʹ͓͚Δ ։ൃऀମݧ্ͷऔΓΈ - νʔϜAPIͱBackstageͰߏங͢Δ৫ͷՄࢹԽج൫ - Money Foward, Inc - Platform
and Reliability Engineering ຊ෦ VTRyo SRE NEXT 2025
202110݄ʹϚωʔϑΥϫʔυೖࣾ ஶ ”ITΤϯδχΞͷͨΊͷ ɹɹ ۮવ͔Β࢝ΊΔΩϟϦΞϓϥϯ” - SRE NEXTॳճ͔Βࢀઓ - SRE
NEXT2022 ONLINEͰॳొஃ - “Ұਓ͔Β࢝ΊΔϓϩμΫτSRE” - Road to SRE NEXT@໊ݹ - “Ұମ͍͔ͭΒSRE NEXT͕SRE͚ͩͷΧϯϑΝϨϯε ͩͱࡨ͍֮ͯͨ͠ʁ” - ͦͷଞ SREؔ࿈ͷొஃ - SRE Kaigi 2025 - “Ұਓ͔Β࢝ΊͨSREνʔϜ3ؒͷาΈ" VTRyo
࣮αφࢣࢿ͍֨࣋ͬͯΔΒ͍͠ - ࠓճ೦ئͷεϙϯαʔϒʔεઃஔ ! ͋ͦͼʹ͖ͯͶ ʢ͜ΕεϙϯαʔηογϣϯͰ͋Γ·ͤΜʣ - झຯ - ΫϥϑτϏʔϧͷ৹ࠪһࢿ֨औಘ🍺
- ࠷ۙΠϕϯτؒआΓͰεύΠεΧϨʔमߦத🍛 VTRyo
େ͖ͳ৫ʹ͓͚Δใஅͷղܾࡦͱͯ͠ͷɺνʔϜAPIͱ Backstageͷ࣮ફత׆༻๏ ࠓ͔Β࢝ΊΒΕΔࢪࡦͱͯ͠ ᶃνʔϜؒ࿈ܞʹඞཁͳใͷఆٛํ๏ ᶄBackstageςϯϓϨʔτͷ࣮ςΫχοΫ ᶅ৫ͷنʹؔΘΒͣԠ༻Ͱ͖ΔऔΓΈ ࠓ࣋ͪؼΕΔ͜ͱ ৫ͷෳࡶੑʹཱ͔ͪ͏ώϯτ
ϚωʔϑΥϫʔυͷ৫ΛநԽͨ͠ਤ
ใͷஅͱ୳ࡧίετͷ૿େ νʔϜ͝ͱʹҟͳΔπʔϧͰใཧ Google DocɺGitHub Wikiͷπʔϧࢄ ٕज़ελοΫόϥόϥɻͲͷνʔϜ͕ԿΛ͍ͬͯΔ͔ෆ໌ ͷॴࡏ͕ෆ໌֬ ʮ͜ͷAPIʹ͕ൃੜͨ͠߹ɺ୭ʹ࿈བྷ͢Ε͍͍ͷ͔ʯ جຊతͳใͷѲ͕ࠔ എܠͱ՝
ؔੑͷՄࢹԽͷ͠͞ දܭࢉιϑτͰදݱ͢Δ߹ɺνʔϜͱϦιʔεͷෳࡶͳؔ ੑΛදݱ͢Δʹݶք͕͋Δ ԾʹͦΕͰཧ͢Δͱɺใཧऀ͕தԝूݖԽ͢ΔϦεΫ ඇޮͳΦϯϘʔσΟϯά ৽͍͠νʔϜʹࢀՃͨ͠ࡍɺͦͷνʔϜ͕ॴ༗͢ΔϦιʔε ϓϩδΣΫτΛѲ͢Δ·Ͱͷίετ ޓ͍ʹڠௐ͍ͯ͠ΔαʔϏεʹ͍ͭͯɺ͋ͪͪ͜ͷใʹΞΫ ηε͢Δඞཁ͕͋Δ എܠͱ՝
ͦ͜ͰSpotifyOSS "Backstage"
> “BackstageSpotifyͷඞཁੑ͔Βੜ·Ε·ͨ͠ɻ ࣄۀ͕͢ΔʹͭΕͯɺΠϯϑϥ͕அยԽ͠ɺΤϯδχΞͷੜ࢈ ੑ͕Լ͍ͯ͠Δ͜ͱʹؾ͖ͮ·ͨ͠ɻ νʔϜίʔυͷߏஙͱςετΛߦ͏ΘΓʹɺ࡞ۀ։࢝ʹඞཁͳ ใΛ୳͢͜ͱʹଟ͘ͷ࣌ؒΛඅ͍ͯ͠·ͨ͠ɻ" Backstageͱ ࢀর: https://backstage.io/docs/overview/background
αʔϏεɺιϑτΣΞɺπʔϧɺςετΛBackstageͰཧ ͲͷαʔϏεͰͲͷΑ͏ͳٕज़ελοΫ͕ΘΕ͍ͯΔͷ͔ ͋ΔαʔϏεʹ͓͍ͯɺ୭͕Φʔφʔͳͷ͔ αʔϏεͷར༻ऀͱͯ͠ɺରͷαʔϏεͷར༻ํ๏ Etc… Backstageͱ ࢀর: https://backstage.io/docs/overview/background
BackstageΛ։ൃऀϙʔλϧͱͯ͠ར༻ ใΛՄࢹԽ͢Δ
࣮͢Ͱʹಋೖ͞Ε͍ͯͨBackstage
ͱͱͷӡ༻ঢ়گ Πϯγσϯτൃੜ࣌ͷऀؔੑѲ͕త ֤ϦϙδτϦʹαʔϏεใͱΦʔφʔ໊Λొͨ͠ ͨͩ͠ӡ༻ʹ՝͕͋ͬͨ Φʔφʔใ͕ෆ͍ͯ͠Δʢ࿈བྷઌͳ͠ɺϝϯόʔෆ໌ͳͲʣ YAMLฤू͕ଟ͘ͷ։ൃऀʹͱͬͯෛՙ ԿΛॻ͍͍͍ͯͷ͔ෆ໌ ࣮͢Ͱʹಋೖ͞Ε͍ͯͨBackstage
BackstageͰ ςϯϓϨʔτΛ࡞Ͱ͖Δ
͜ΕΛͬͯ ొͷϋʔυϧΛԼ͛Δ
Backstage Software Templates
Backstage Software Templates ※ϦϙδτϦςϯϓϨʔτͱͯ͠͏έʔε͕ଟ͍ ใΛೖྗ͢ΔͱඞཁͳใΛࡌͯ͠ϦϙδτϦ࡞͞ΕΔ ʮXX repoΛίϐϖͯ͘͠Δͱ͍͍ΑʯͷΞϨ
Backstage Software Templates ࠓճʮYAML͠ΜͲ͍ʯʮԿΛॻ͔͘ෆ໌ʯͷղܾࡦͱͯ͠ར༻ Web UI্Ͱඞཁࣄ߲Λೖྗ͢Δ͚ͩͰYAMLࣗಈੜ ϨΠΞτύϥϝʔλͷѲʹ࣌ؒΛऔΒΕΔ͜ͱͳ͘ɺ։ ൃऀ͕؆୯ʹใΛొͰ͖Δ ඞཁͳใΛఏࣔͰ͖Δ ೖྗใΛςϯϓϨʔτΤϯδϯͰಈతʹมͰ͖Δ
AI͕ॻ͚ྑ͘ͳ͍ʁ ͱࢥͬͨΈͳ͞Μ
͜ͷऔΓΈ࣌ɺAI agent͕ࣾʹීٴ͍ͯ͠ͳ͔ͬͨ AI agentར༻Λલఏͱͨ͠߹ɺͦͷηοτΞοϓ͔Β։࢝ʹͳ Δϋʔυϧ͕͋ͬͨ TemplatesΛΘͣɺAI agentΛͬͯੜ͢Δ͜ͱͳ͍ ʢதͨͩͷYAMLͳͷͰʣ ඞཁͳใΛ࣮֬ʹੜͯ͠Β͑OK ൃද͍ͯ͠Δؒʹใ͕ݹ͘ͳΔڪΖ͍࣌ͩ͠……
※͏·͘ӡ༻Ͱ͖ΔͳΒྑ͍ͱࢥ͍·͢
ใͷूઌܾ·ͬͨ ͰԿΛొ͢Δ͖͔ʁ
ʮΦʔφʔ୭͔ʯΛಛఆ͢ΔͨΊʹ ͲͷνʔϜ͕ͲͷγεςϜαʔϏεʹΛ͍࣋ͬͯΔͷ͔ ͦͷνʔϜͲͷଞνʔϜͱؔ࿈͕͋Δͷ͔ ͦͷαʔϏεͷυΩϡϝϯτͲ͜ʹ͋Δͷ͔ Etc… ԿΛొ͢Δ͖͔ʁ
νʔϜτϙϩδʔͷߟ͑ํΛ ࠾༻
> “Ձ͋ΔιϑτΣΞΛૉૣ͘ಧ͚ΔదԠܕ৫ઃܭ” > “ݱʹ͓͚Δ৫ઃܭͱɺސ٬ͷʹԠ͑Δ͘ίϥϘϨʔ γϣϯ͢ΔͨΊͷٕज़Λઃܭ͢Δ͜ͱͰ͋Δ” νʔϜτϙϩδʔͱ ࢀর: νʔϜτϙϩδʔ Ձ͋ΔιϑτΣΞΛ͘͢ಧ͚ΔదԠܕ৫ઃܭ ɹɹ
φΦϛɾελϯϑΥʔυʰGuide to Organization Designʱ
ίϯΣΠͷ๏ଇʹج͍ͮͯ”ҙࣝతʹ”νʔϜߏͱΞʔΩςΫ νϟΛઃܭ͢Δ͜ͱ ͱʹ͔͘ૉૣ͘ϦϦʔε͢ΔͨΊʹνʔϜΛઃܭ͢Δ ೝෛՙΛཧ͢Δ͜ͱ νʔϜΛ͏·͘૬ޓ࡞༻ͤ͞Δ ڥքΛ໌֬ʹ͢Δ͜ͱͰ໌֬ʹ͢Δ νʔϜτϙϩδʔͱ
νʔϜ͕ιϑτΣΞͷΦʔφʔͱͳΔ ιϑτΣΞͷڥքαΠζΛνʔϜͷೝෛՙʹ߹ΘͤΔ దͳڥք͕ೝෛՙΛԼ͛Δ ൣғΛ߹Θ੍ͤͯݶ͢Δ νʔϜτϙϩδʔʹ͓͚ΔνʔϜϑΝʔετࢥߟ ࢀর: νʔϜτϙϩδʔ Ձ͋ΔιϑτΣΞΛ͘͢ಧ͚ΔదԠܕ৫ઃܭ
νʔϜಉ࢜ͷΓͱΓʹAPIͷΞΠσΞΛ֦ுͨ͠ͷ ίʔυɺόʔδϣϯཧɺυΩϡϝϯςʔγϣϯɺϓϥΫςΟ εɺίϛϡχέʔγϣϯɺؔ࿈ใ νʔϜͷൣғɺఏڙαʔϏεɺ࿈བྷํ๏Λ໌֬Խ ଞνʔϜ͔Βར༻͞ΕΔલఏͰఆٛ͢Δ ૬ख͙͢ʹཧղͰ͖Δ͔ɻ͙͢ʹཉ͍͠ใʹ౸ୡͰ͖Δ͔ νʔϜAPIͱ ࢀর: νʔϜτϙϩδʔ Ձ͋ΔιϑτΣΞΛ͘͢ಧ͚ΔదԠܕ৫ઃܭ
νʔϜAPIͱͯ͠ ใΛఆٛͯ͠ΈΔ
CODEOWNERSʹඥ໊ͮ͘લ Slackάϧʔϓϝϯγϣϯ໊ͱϝϯγϣϯID Slackνϟϯωϧ໊ͱϦϯΫ ϓϩδΣΫτཧπʔϧͷϦϯΫ αϒνʔϜ໊ νʔϜϝϯόʔϦετ νʔϜλΠϓʢEnablingɺstream-alignedͳͲʣ ྡਓʢར༻ऀɾඇར༻ऀʣͷνʔϜ໊ νʔϜAPIͱͯ͠ఆٛͨ͜͠ͱ GitHubݸਓ·ͨTeamΛ
ϦϙδτϦͷऀʹࢦఆͰ͖Δ
Backstage × νʔϜAPI
αʔϏεใΛҰݩཧ͢ΔϨΠϠʔͱͯ͠ͷBackstage ͦ͜ʹνʔϜใొ͞ΕΔ͜ͱͷϝϦοτ ௐࠪ࣌ؒͷॖ ΦϯϘʔσΟϯά࣌ؒͷॖ ίϥϘϨʔγϣϯ࣌ͷ࿈བྷ Backstage × νʔϜAPI
Backstage × νʔϜAPI
Backstage × νʔϜAPI
Backstage Software Templates Tips
ొਓ 1. Backstage ϦϙδτϦ Backstageͦͷͷ 2. ҙͷϦϙδτϦʢTemplatesίϯςϯπΛஔ͘ॴʣ template.yaml catalog-info.yaml(template༻) 3.
ϓϩμΫτͷϦϙδτϦʢαʔϏε͝ͱʹஔ͘ʣ catalog-info.yaml Tips ϑϩϯτΤϯυϓϥάΠϯͷ֦ ுBackstageʹมߋΛՃ͑Δ
Ͳ͏ͬͯTemplatesΛͭ͘Δͷ͔ Backstage Software Templates ࣗମ YAML 😨 ެࣜͷExample Λͥͻɻࠓͷ࣌ͳΒVibe coding
Ұ https://github.com/backstage/software-templates ςϯϓϨʔτΤϯδϯ Nunjucks ΛͬͯೖྗΛૠೖ͢Δ ݕূʹ Nunjucks ͷ PlaygroundΛ͓͏ https://nunjucks.r0b.io/ Tips: ҙͷϦϙδτϦ
Templates ίϯςϯπͷσΟϨΫτϦߏ └── team-api └── group ᵓ── content │ └──
catalog-info.yaml └── template.yaml Tips: ҙͷϦϙδτϦ BackstageͰೖྗ͞ΕΔ templateϑΝΠϧ NunjucksΛͬͨϑΝΠϧ system, component ͱ͍ͬͨผͷΧςΰϦ͕Ͱ͖Δ͔͠Εͳ͍ͷͰ "groupϦιʔε"ͱ໋໊ͯ͠
Tips: ҙͷϦϙδτϦ template.yaml
contentԼͷcatalog-info.yamlʹΛೖ͍ͯ͠Δ Tips: ҙͷϦϙδτϦcatalog-info.yaml
Array TagsͷΑ͏ʹ͍͔ͭ͋͘Δલఏͷͷ Arrayͷதʹ͞Βʹ߲ΛՃͰ͖Δ ui:field PickerΛ͔ͭͬͨೖྗิॿ Tips: ҙͷϦϙδτϦ template.yaml
templatesঢ়ଶͷcatalog-info.yaml Array forͰϧʔϓ IfذͰඞਢͰͳ͍߲Λ੍ޚ TemplatesͷܗNunjucks PlaygroundͰ Tips: template༻ͷcatalog-info.yaml
ϓϩμΫτϦϙδτϦͷσΟϨΫτϦߏ team_api └── group └── catalog-info.yaml Tips: ϓϩμΫτͷϦϙδτϦ ใ͕ೖ͞ΕͨϑΝΠϧ
࣮ࡍͷϖʔδ Tips
࣮ࡍͷϖʔδ Tips
LinksͳͲͷΟδΣοτɺϓϥάΠϯʹ͍ͭͯ BackstageOSSͷͨΊɺࣗͰΧελϜՄೳ දࣔ͢Δɾ͠ͳ͍ࣗ༝ CoreϥΠϒϥϦɾϓϥάΠϯReactͰ࣮ ๛ͳϓϥάΠϯ༗ ࣗͨͪͰ࣮Մೳ Tips
ݱ࣌ͰͷՌϙΠϯτ
ؔੑͷՄࢹԽ νʔϜͱγεςϜͷ1:Nؔͷදݱ Ұཡද͚ࣔͩͰͳཱ͍ମతͳใߏ ใؒͷؔ࿈ੑΛΑΓҰ୳ࡧ͕Մೳ ͜ͷνʔϜͲͷϦιʔεΛ୲͍ͯ͠Δ͔ݟ͑Δ ใొͷϋʔυϧ ٕज़తͳ͕ࣝͳͯ͘νʔϜใΛొͰ͖Δ ݱ࣌Ͱ࣮ݱͰ͖͍ͯΔϙΠϯτ
ࠓޙ͍͖ͬͯ͘͜ͱ
ଞνʔϜͷਁಁ ͕͍ࣗͯ͠ΔνʔϜҎ֎ొ͢Δ ొɾߋ৽࣌ɺΑΓͻͱͷख͕͔͔Βͳ͍Α͏ʹ͢ΔΈ ΦϯϘʔσΟϯάͷ׆༻ େΛѲ͠ͳ͕ΒɺࣗͰใΛ୳ࡧͰ͖ΔΑ͏ʹͳΔ ͞ΒͳΔࣗಈԽ ྫ: YAMLϑΝΠϧ͕ࣗಈతʹGitHubʹPush͞ΕΔ etc… ߋ৽ใΛͲ͏ͬͯऩू͢Δ͔
ͳ͘ɺ͘ബ͘ɺऔΓΈଓ͚Δඞཁ͕͋Δ
ࠓ͔ΒऔΓΊΔ͜ͱ
ೝෛՙΛ౿·͑ͨڥքઢΛݕ౼ʢνʔϜτϙϩδʔࢀরʣ ʢͷڥքઢ͕Ͱ͖ͨΒʣνʔϜAPIͷఆٛ ଞνʔϜʹެ։͖͢ใΛ໌֬ʹఆٛ͠ɺڞ௨ೝࣝΛ࡞Γ· ͢ɻ͜ΕνʔϜ͕গͳ͚Εಋೖ͕༰қ ΦʔφʔͱϦιʔεؔΛදݱͰ͖ΔΈΛಋೖ ϦϙδτϦʹରͯ͠ɺ࡞ॳظ͔ΒνʔϜใͱϦιʔεใ Λೖྗ͢ΔΑ͏ͳΈΛಋೖ͓ͯ͘͠ɻ͋ͱͰඦͷϦϙδ τϦʹ͍ΕΔίετ࿙ΕΛࢭͰ͖Δ ࠓ͔ΒऔΓΊΔ͜ͱ
·ͱΊ
BackstageʹΑΔใͷҰݩཧ 1:NؔͷՄࢹԽ νʔϜτϙϩδʔ: νʔϜAPIͷΞΠσΞΛར༻ͨ͠ใެ։ ใొͳΔ͔͘ΜͨΜʹ ෳࡶԽ͢ΔલʹઃܭΛ! ։ൃऀͷೝෛՙܰݮͷͨΊʹ
None