Datum | |
---|---|
Tijd | |
Thema | |
Location |
|
Role | |
Description | |
More info |
- Podcast
Business Vooruit met IT - 23 - Platform Engineering voor snellere en schaalbare softwareontwikkeling
- Cloud
Platform engineering maakt softwareontwikkeling schaalbaarder en efficiënter door standaardisatie en automatisering. Dit versnelt het ontwikkelproces en herstelt de controle over het cloud gebruik. Tegelijkertijd behoudt het de flexibiliteit en de focus op de kernactiviteiten die DevOps beoogt. Platform engineering vertegenwoordigt daarom een natuurlijke stap voorwaarts in de evolutie van softwareontwikkeling.
Platform engineering is een opkomende discipline die voortkomt uit de DevOps-beweging. Bij DevOps krijgen ontwikkelteams meer autonomie om softwareoplossingen te ontwikkelen en te beheren. Deze aanpak vermindert afhankelijkheden tussen teams, wat resulteert in verhoogde snelheid en wendbaarheid. De cloud speelt een cruciale rol in het mogelijk maken van DevOps, aangezien ontwikkelteams via selfservice portalen eenvoudig toegang krijgen tot cloud services.
Het gebruik van cloud services vergroot echter de cognitieve belasting van ontwikkelteams en leidt tot diversiteit in technologiekeuzes, waardoor organisaties grip op hun cloud gebruik verliezen. Platform engineering biedt een oplossing door complexe technische aspecten te consolideren in gestandaardiseerde platformen, die centraal worden beheerd en als dienst worden aangeboden aan ontwikkelteams. Hierdoor kunnen ontwikkelteams zich concentreren op de business functionaliteit en sneller waarde leveren.
Platform engineering streeft naar het leveren van gestandaardiseerde platformen die ontwikkelteams voorzien van de nodige technische mogelijkheden om verschillende soorten softwareoplossingen te runnen. Info Support heeft drie standaard platformen geïdentificeerd:
Elk platform volgt een logische referentiearchitectuur en kan vervolgens geïmplementeerd worden op specifieke cloudomgevingen zoals Azure, AWS en de Info Support cloudomgeving. Deze implementatie omvat de keuze van cloud services en componenten die de benodigde capabilities bieden. Bijvoorbeeld, de “API Gateway”-capability van een integratieplatform op Azure wordt ingevuld met behulp van Azure API Management. Deze keuzes worden vervolgens vastgelegd in een technische referentiearchitectuur. Deze aanpak biedt tevens een raamwerk voor toekomstige nieuwe platformen.
Belangrijke principes bij het ontwerpen van platformen zijn:
1. Fit for purpose: Bied alleen de noodzakelijke functionaliteit voor het doel van het platform.
2. Standardization: Maak het platform herbruikbaar voor meerdere ontwikkelteams.
3. Secure by default: Hanteer least privilege op het gebied van gebruikers- en netwerktoegang.
4. Clear exit strategy: Gebruik zoveel mogelijk standaard en open-source componenten.
5. Infrastructure as code: Beschrijf de platformen in code, breng ze onder versiebeheer en automatiseer implementatie en updates.
Het gebruik van standaarden creëert een gestructureerde aanpak die herkenbaarheid bevordert. Alle platformen zijn gebaseerd op dezelfde principes, wat de onderhoudbaarheid verbetert en het onboarden van nieuwe engineers versnelt.
Om de cognitieve belasting van ontwikkelteams te verminderen, zonder het ontwikkelproces te vertragen, is het essentieel om de dienstverlening zorgvuldig te ontwerpen. Het is cruciaal om een duidelijke scheiding te creëren tussen applicatieontwikkeling en het onderliggende platform.
De dienstverlening omvat de volgende verantwoordelijkheden:
1. Inrichting: Het platform wordt direct beschikbaar gesteld bij de start van een project. Dit stelt ontwikkelteams in staat om direct te beginnen met het ontwikkelen van applicaties en deze beschikbaar te stellen aan de eindgebruikers.
2. Lifecycle management: Cloudleveranciers brengen voortdurend updates uit die moeten worden geïntegreerd in het platform. Het bijhouden van deze updates, het beoordelen van de impact en het doorvoeren op de omgevingen is daarmee een belangrijk onderdeel van de dienst.
3. Beveiliging: De dienstverlening controleert updates en kwetsbaarheden op het gebied van beveiliging en voert deze door in de platformen. Periodiek wordt de classificatie van de omgeving herijkt en worden de bijbehorende beveiligingsmaatregelen nagelopen en geïmplementeerd.
4. Monitoring: De beschikbaarheid en performance van het platform wordt continue gemonitord. Eventuele alerts worden opgevolgd en afgehandeld volgens het afgesproken service niveau.
Deze taken hoeven niet langer door ontwikkelteams te worden uitgevoerd, waardoor ze zich kunnen concentreren op het leveren van oplossingen voor de klant zonder afgeleid te worden door operationele details van de onderliggende infrastructuur.
Om platform engineering succesvol te implementeren, zijn de volgende elementen van belang:
Met de juiste mensen, processen en samenwerking kan platform engineering met succes worden geïntroduceerd, mits de organisatie bereid is om te veranderen en begeleiding biedt bij deze transitie.
Platform engineering vertegenwoordigt een cruciale evolutie in softwareontwikkeling, voortkomend uit de DevOps-beweging. Het biedt gestandaardiseerde platformen en dienstverlening die ontwikkelteams in staat stellen om zich te focussen op het leveren van waarde aan de klant, zonder overweldigd te worden door de complexiteit van cloudinfrastructuur. De belangrijkste voordelen zijn:
Platform engineering biedt organisaties niet alleen de mogelijkheid om hun concurrentiepositie te versterken, maar ook om de snelheid, efficiëntie en beheersbaarheid van softwareontwikkeling te vergroten. Dit terwijl de flexibiliteit en focus op de kernactiviteiten behouden blijven. Het is de logische volgende stap in de evolutie van softwareontwikkeling en een kans voor organisaties om hun softwareontwikkelingsprocessen te optimaliseren en zo meer waarde te leveren aan hun klanten.
Lees wat het zorgverzekeraar ONVZ oplevert of indoor farming-bedrijf Plantlab.