Heb jij jezelf altijd al afgevraagd op welk platform Spotify is gebouwd? Backstage. De open-source versie van Backstage is op 16 maart 2020 beschikbaar gesteld. In dit artikel beschrijven wat Backstage is, welke bekende bedrijven dit platform ook gebruiken en hoe je zelf aan de slag kunt met Backstage.
Wat is Backstage?
Backstage is ontwikkeld door het techteam van Spotify en is een open-sourceplatform dat wordt gebruikt voor het bouwen van developer portals. Het is gebaseerd op een interne tool die Spotify gebruikt om ontwikkelingstools, documentatie en processen te organiseren waarvan nieuwe ontwikkelaars op de hoogte moeten zijn bij het ontwikkelen van een nieuwe app of API.
Het is het eerste open-source infrastructuurplatform van Spotify waardoor jij je kunt concentreren op het bouwen van je applicatie in plaats van het wiel continu opnieuw uit te vinden. Het platform beschikt over een elegante en uniforme, maar eigenzinnige gebruikersinterface vooral je tooling en infrastructuur. Backstage stelt je ontwikkelaars in staat om sneller aan de slag te gaan. Dit heeft een positief effect op hun humeur en productiviteit (althans, dat denken wij).
Backstage x Cloud Native Computing Foundation (CNCF)
Ook de Cloud Native Computing Foundation (CNCF) ziet de potentie van Backstage. In september 2020 kondigde het aan dat Backstage kan beginnen met incubaten als een early-stage project in de CNCF Sandbox. Lees de volledige aankondiging op de website van Backstage.
Bekijk ook de talk van Emma Indal – Web Engineer bij Spotify op KubeCon + CloudNativeCon Europe 2021 Virtual:
Een best-in-class developer portal van een bedrijf uit de muziekindustrie
Spotify staat sinds zijn oprichting bekend als een bedrijf dat zich kenmerkt door een agile en autonome engineeringscultuur. Het klinkt misschien gek maar Spotify is meer dan muziek alleen. Het is een technologiebedrijf die developers altijd op de eerste plaats heeft gezet. Hierdoor kunnen zij snel en op grote schaal innoveren. De ontwikkeling van Backstage is een goed voorbeeld van deze focus op innovatie.
Sinds de adoptie van Backstage bij Spotify hebben zij de onboardingtijd met maar liefst 55 procent zien afnemen. Het platform wordt inmiddels door 280 technische teams binnen Spotify gebruikt om 2.000+ back-endservices, 300+ websites, 4.000+ data pipelines en 200+ mobiele functies te beheren. Lees in deze blog hoe de engineers bij Spotify het Backstage-platform inzetten.
Bekijk ook zeker deze demo van Stefan Ålund – Product Manager bij Backstage. Hij geeft je een unieke inkijk in het onstaan van het platform en krijg je een sneak peek van hoe Spotify zelf het platform gebruikt.
De architectuur van Backstage
De architectuur van Backstage bestaat uit drie onderdelen. Dit is gedaan omdat de oprichters drie groepen gebruikers zien, die elk hun eigen manieren van werken hebben. De drie componenten zijn:
- De kern- De basisfunctionaliteit is gebouwd door de ontwikkelaars uit het kernteam van dit open-source project.
- De App – De app is een instantie van een Backstage-app die wordt geïmplementeerd en aangepast. De app koppelt kernfunctionaliteit aan extra plug-ins. De app wordt gebouwd en onderhouden door app-ontwikkelaars, meestal wordt dit gedaan door het productiviteitsteam binnen een bedrijf.
- De Plugins – Extra functionaliteit om uw Backstage app bruikbaar te maken voor je bedrijf. Plug-ins kunnen specifiek zijn voor een bedrijf of open source en herbruikbaar zijn. Bij Spotify hebben we meer dan 100 plug-ins gebouwd door meer dan 50 verschillende teams. Het was erg krachtig om bijdragen van verschillende infrastructuurteams in één enkele ontwikkelaarservaring te krijgen.
Op de demo-pagina vind je verschillende klantverhalen (van Zalando, Expedia en Telus) en use cases om je te laten zien welke voordelen het platform je als ontwikkelaar kan bieden.
De belangrijkste tools en frameworks voor de implementatie
Voor gebruikers zijn er een aantal belangrijke tools en frameworks die centraal staan in het ontwerp en de functionaliteit. Je hoeft geen expert te zijn maar basiskennis maakt het beheren, configureren en bedienen van Backstage eenvoudiger. We sommen een aantal tools en frameworks voor je op:
- Node.js: Backstage is een web-frontend die is ontworpen om op Node.js te draaien, in ieder geval tijdens de developmentfase. Backstage vereist minimaal Node 12.
- TypeScript: Backstage is meestal geschreven in TypeScript, maar je kunt ook in JavaScript coderen als dit je beter ligt.
- React: De frontend-code is geschreven met React. React-componenten spelen een fundamentele rol in de plug-inarchitectuur van Backstage. De Plug-ins zijn in feite afzonderlijk verpakte React-componenten
- Yarn en Lerna: Deze twee JavaScript-tools gaan hand in hand met Backstage. De Yarn-pakketbeheerder voegt een paar extra mogelijkheden toe die de monorepo-structuur van Backstage mogelijk maken. Op dezelfde manier helpt Lerna ook een monorepo-structuur mogelijk te maken.
Wat vinden de developers van True ervan?
In dit artikel beschreven we wat Spotify’s Backstage inhoudt en hoe je hiermee aan de slag kunt. Ook onze developers zijn fan van dit systeem en dan met name van TechDocs.
Techdocs is wat ons betreft de kern van wat Backstage biedt en maakt van documentatie een first-class citizen binnen je core repository. Dit doet het door markdown-files via MkDocs te integreren in je code. Dit stelt je in staat om je code en documentatie op dezelfde plek en in dezelfde Git- repository te beheren. Dit integreert vervolgens goed met de servicecatalogus binnen Backstage. Hierdoor werkt het systeem twee kanten op: de documentatie is makkelijk te schrijven en bij te houden en vervolgens op een logische en uniforme manier terug te vinden.