《万物皆插件:后台架构如何帮助 Spotify 及其他平台的团队分散责任并创造价值.pdf》由会员分享,可在线阅读,更多相关《万物皆插件:后台架构如何帮助 Spotify 及其他平台的团队分散责任并创造价值.pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、Everything is a pluginHow the Backstage architecture helps platform teams at Spotify and beyond spread ownership and deliver valuePia NilssonSenior Director of Engineering SpotifyMike LewisStaff Engineer SpotifyOur Backstage journey .Library with a small API Downstream dependenciesComplexity across
2、SpotifyBackend servicesData endpointsMobile moduleshttps:/ finding things2.Context switching3.Infrastructure toilDeveloper productivity blockersSpotify needed a solution for SpeedScaleChaos-controlBackstage-a single pane of glasshttps:/ as code Distributed code ownership through extensibility Key Ba
3、ckstage engineering best practices https:/ as code Distributed code ownership through extensibility Key Backstage engineering best practices TODAYS FOCUSBackstage Extensibility ArchitectureBackstage High Level ArchitectureBackstage DBBackstage BackendBackstage BackendBackstage BackendexpressBackstag
4、e BackendBackstage BackendThird-party APIsFor example:GitHub,GCP,AWS,SonarQube,OktaWhat is a Backstage plugin?backstage/plugin-lighthouse-backendspotify/backstage-plugin-soundcheckmy-local-backstage-pluginWe did it?expressRoute path=/discover element=/app.use(/api/discovery,discoveryMiddleware)Exten
5、sibility by default is not enoughFiddly wiring for Backstage adoptersThey have to wire everything up themselves!Render the plugin components Sometimes in multiple places Hook up the middlewares Provide dependenciesHard work for extension builders No shared solutions Lots of decisions,increased cogni
6、tive load Both less efficient to build,and produces less consistent resultsFor plugin builders:the Backstage tool library Configuration Identity Logging Access Control Database management Caching Distributed task scheduling Navigation&routing Application UI Shared components For Backstage adopters:d