Gå tillbaka

Platform Engineering

Vad är Platform Engineering?

Platform Engineering är en framväxande disciplin inom mjukvaruutveckling som fokuserar på att designa, bygga och underhålla interna utvecklarplattformar (Internal Developer Platforms - IDPs). Målet är att förenkla och accelerera mjukvaruleverans genom att erbjuda utvecklare en standardiserad, självbetjäningsbaserad "gyllene stig" (golden path) för att bygga och driftsätta sina applikationer. Istället för att varje utvecklingsteam själva måste hantera den underliggande komplexiteten i molninfrastruktur, säkerhet och CI/CD, tillhandahåller plattformsteamet en uppsättning färdiga verktyg och automatiserade arbetsflöden.

Varför har Platform Engineering blivit så viktigt?

Framväxten av Platform Engineering drivs av flera trender inom modern mjukvaruutveckling:

  • Ökad kognitiv belastning på utvecklare: Utvecklare förväntas idag hantera en enorm mängd verktyg och teknologier (molntjänster, containers, Kubernetes, CI/CD, observability etc.), vilket tar fokus från deras primära uppgift: att skriva affärslogik.
  • Komplexiteten i molnbaserade miljöer: Att navigera i det molnbaserade landskapet kräver specialiserad kunskap.
  • Behovet av snabbare leveranscykler: Företag behöver leverera ny funktionalitet snabbare och mer tillförlitligt.
  • Krav på standardisering och säkerhet: Organisationer behöver säkerställa att alla team följer bästa praxis för säkerhet, regelefterlevnad och drift.

Målen och principerna med en intern utvecklarplattform (IDP)

En IDP, som är produkten av Platform Engineering, syftar till att:

  • Förbättra utvecklarupplevelsen (Developer Experience - DX): Göra det enkelt och smidigt för utvecklare att utföra sina uppgifter.
  • Möjliggöra självbetjäning (Self-Service): Utvecklare ska kunna provisionera infrastruktur, sätta upp CI/CD-pipelines och driftsätta sina applikationer utan att behöva vänta på ett driftsteam.
  • Abstrahera bort komplexitet: Dölja den underliggande infrastrukturens komplexitet bakom ett enklare, standardiserat gränssnitt.
  • Automatisera och standardisera: Bygga in bästa praxis och automatisering i plattformen för att säkerställa kvalitet och säkerhet.

Platform Engineering: Att behandla plattformen som en produkt

Ett centralt koncept inom Platform Engineering är att behandla den interna plattformen som en produkt. Det innebär att plattformsteamet har utvecklarna som sina "kunder" och arbetar kontinuerligt med att förstå deras behov, samla in feedback och förbättra plattformen för att maximera dess värde. Detta skapar en positiv loop som driver effektivitet och innovation i hela organisationen.

Vanliga frågor om Platform Engineering

Är plattformsteknik (Platform Engineering) bara för stora företag?

Även om konceptet är mest utbrett i stora organisationer med många utvecklingsteam, kan principerna vara värdefulla även för mindre företag. Målet är att minska repetitivt arbete och göra det enklare för utvecklare att leverera kod. Ett litet men växande företag kan dra nytta av att tidigt standardisera sina verktyg och processer på en enklare plattform för att undvika framtida teknisk skuld och komplexitet när de skalar upp.

Vad är en "intern utvecklarplattform" (Internal Developer Platform - IDP)?

En IDP är den konkreta produkten som ett plattformsteam bygger och underhåller. Det är en samling av standardiserade verktyg, tjänster och automatiserade arbetsflöden som är paketerade för att vara enkla att använda för utvecklare. Plattformen tillhandahåller en "gyllene stig" (golden path) som gör det enkelt för utvecklare att bygga, testa, driftsätta och övervaka sina applikationer på ett säkert och konsekvent sätt, utan att de behöver vara experter på den underliggande infrastrukturen.

Hur skiljer sig Platform Engineering från DevOps?

Platform Engineering ersätter inte DevOps, utan snarare möjliggör det i stor skala. DevOps är en kultur och ett arbetssätt som syftar till att föra samman utveckling och drift. I många organisationer har detta lett till att utvecklare förväntas hantera en stor mängd komplexa verktyg och infrastruktur ("You build it, you run it"). Platform Engineering adresserar detta genom att ett dedikerat plattformsteam bygger en intern plattform som tar hand om komplexiteten. Detta minskar den kognitiva belastningen på utvecklarna och låter dem fokusera på att skriva applikationskod, samtidigt som de fortfarande drar nytta av DevOps-principerna som plattformen tillhandahåller.

Andra relevanta ord i samma kategori