Vad är plattformsteknik?
Plattformsteknik är en metod som bygger på DevOps-principer som syftar till att förbättra varje utvecklingsteams säkerhet, efterlevnad, kostnader och tid-till-företag-värde genom förbättrade utvecklarupplevelser och självbetjäning inom ett säkert, styrt ramverk. Det är både produktbaserat tankesättsskifte och en uppsättning verktyg och system som stöder det.
På senare tid finns det mycket branschspänning kring termen plattformsteknik. Faktum är att Gartner förväntar sig att cirka 80 procent av ingenjörsorganisationerna kommer att ha ett team som är dedikerade till plattformsteknik till 2026. De här teamen fokuserar på att skapa vad som kallas en intern utvecklarplattform. Oavsett domän – försäljning (till exempel Microsoft Dynamics, Salesforce), tjänstuppfyllelse (till exempel ServiceNow), kommunikation (t.ex. Twilio) – är plattformarna utformade för att uppnå skalning och minska den tid det tar att leverera affärsvärde.
Plattformar som utvecklare antingen använder eller utökar kan eliminera slitningar under hela utvecklingsprocessen med mycket optimerade utvecklarupplevelser och förenklade åtgärder. Dessa plattformar innehåller verktyg som:
- Hjälp utvecklare att vara självförsörjande (till exempel startpaket, IDE-plugin-program)
- Hjälp med vanliga uppgifter
- Kapsla in vanliga mönster och metoder i återanvändbara byggstenar
- Ge tidig rådgivning och feedback om problem eller säkerhetsrisker
- Förenkla åtgärder genom att hantera underliggande infrastruktur och verktyg
Vad är en intern utvecklarplattform?
En intern utvecklarplattform fokuserar på ett företags interna utvecklingsmetoder. Du definierar en uppsättning rekommenderade och utvecklingsvägar som stöds till produktion och stegvis "banar" en väg genom dem med en intern plattform. För att använda en verklig analogi börjar nya vägar ofta som smutsspår, men när fler människor använder dem är de banade för att förbättra säkerheten samtidigt som hastighet och dataflöde upprätthålls. Banade vägar inom en intern utvecklarplattform har liknande mål. De är utformade för att vägleda utvecklare genom kritiska krav och standarder utan att offra utvecklarnas leveranshastighet. Detta uppnås genom att ge utvecklingsteam standardiserade, säkra och skalbara självbetjäningsfunktioner. Samtidigt gör du det fortfarande enkelt för driften och IT-organisationen att se till att den underliggande infrastrukturen och verktygen är effektiva, kompatibla och kostnadseffektiva. Även om vissa vägar kan vara delvis asfalterade, minskar en helt asfalterad, gyllene väg kognitiv belastning för alla inblandade. Utvecklare är de främsta konsumenterna eller kunden för en intern utvecklarplattform. Automatisering och centralisering möjliggör effektiva åtgärder samtidigt som intressenternas krav som efterlevnad uppfylls.
Med plattformsteknik skapar du den här interna plattformen genom att kombinera ett produkttänk med lärdomar från DevOps och DevSecOps för att leverera en uppsättning verktyg. Dessa verktyg ger tillräcklig automatisering, spårning, styrning och observerbarhet som vägleder utvecklingsteamen naturligt "i framgångsgropen". Som plattformsteknikledare för ett multinationellt massmedieföretag uttryckte det:
Plattformsteknik antogs för att öka hastigheten eller hastigheten för att leverera produkter. Centraliserade team eliminerar behovet av att varje team oroar sig för infrastrukturen, vilket ökar effektiviteten... De förbättrar också säkerhet och säkerhet eftersom allt är fördefinierat, vilket minskar felen. - Daniel, Molntekniker, Fortune 500 Media Company
Med andra ord hjälper en intern utvecklarplattform dig att centralisera och skala specialiserade kunskaper över hela utvecklings- och driftlivscykeln genom att minska eller eliminera kognitiv belastning och manuella steg.
Att implementera en framgångsrik plattformsteknikstrategi kräver arbete – men det är värt det. Det är inte ovanligt att team med färre än 20 personer kan stödja tusentals utvecklare och hundratals projekt.
Att skapa en intern utvecklarplattform är dock en resa. Vi rekommenderar inte en "big bang"-metod eller en uppifrån och ned-driven ansträngning. En viktig aspekt av plattformstekniken är att tillämpa ett produkttänk där du behandlar utvecklare, maskininlärningspersonal eller dataexperter som kund. Som en plattformstekniker på ett teknikföretag uttryckte det:
[Det finns] två huvudsakliga problem som [våra] plattformsverktyg utformades för att lösa. Det första var att underlätta etableringen av tjänster med hjälp av en självbetjäningsmodell. … Den andra var att tillhandahålla automatiska supportsystem som prestandamått och programtillgänglighet. Målet var att göra det möjligt för utvecklare att arbeta snabbare och mer effektivt, samtidigt som de hade all nödvändig information för att felsöka och optimera sina program. - Alex, Lead Cloud Architect, Large Technology Company
Detta kan vara en lång order att implementera, men inga två företag är desamma, så tänk på dina interna kunders specifika behov för att rita en inkrementell kurs under den här resan. Genom att upprätta en uppsättning grundläggande byggstenar som du kommer att sätta ihop med tiden kan du se till att din interna utvecklarplattform har tillräckligt med värde för att utvecklingsteamen ska bli förespråkare och vill använda den på vägen. Använd den här informationen för att skapa en tunnaste livskraftig plattform (TVP, en minsta livskraftig produkt för din plattform) och växa därifrån.
Det viktiga är att du vill tänka på vilka investeringar du gör inom dessa områden som viktiga byggstenar för din plattformsteknikresa.
Sedan kan du fokusera på att skapa sammanhängande lim med dina anpassade investeringar för att ge ditt företag ett unikt värde i stället för att skapa allt från grunden.