Vier evoluties in de wereld van applicatieontwikkeling
Het ontwikkelen en beheren van applicaties zijn een stuk complexer geworden door vier belangrijke evoluties in de sector. Deze veranderingen hebben een grote impact gehad op de manier waarop we applicaties ontwikkelen, deployen en onderhouden. Hierdoor moeten developers zich bezighouden met taken die veel verder gaan dan het schrijven van code.
1. Deployment: van on-premise naar (hybride) cloud
Applicaties worden steeds vaker gemigreerd van lokale servers naar cloudomgevingen. Dit biedt tal van voordelen, zoals
- verbeterde flexibiliteit,
- schaalbaarheid,
- kostenefficiëntie,
- bedrijfscontinuïteit.
MAAR: Ontwikkelaars moeten rekening houden met een veel bredere en complexere infrastructuur.
2. Architectuur: van monoliet naar microservices
De tijd van de monolithische applicatie, één groot softwaresysteem dat in zijn geheel gewijzigd en gedeployed moest worden, is voorbij. Cloud-native applicaties bestaan vandaag uit losse, lichtgewicht microservices die in containers verpakt zijn voor onafhankelijke werking.
Dit verhoogt de productiviteit van ontwikkelaars, de flexibiliteit en schaalbaarheid, en de veerkracht van applicaties.
MAAR: Ontwikkelaars moeten zich verdiepen in de technologiestapel en het ecosysteem van containertechnologie, zoals Kubernetes.
3. Methodologie: van waterval naar DevSecOps
De watervalmethode, met zijn lineaire en sequentiële aanpak van softwareontwikkeling, is niet langer de gouden standaard. De overstap naar DevSecOps bevordert de samenwerking tussen verschillende teams. Continue interactie door gemeenschappelijke doelen en verantwoordelijkheden, en snellere feedback loops leiden tot kortere doorlooptijden.
MAAR: DevSecOps vereist dat ontwikkelaars een nieuwe set ontwikkeltools en praktijken onder de knie moeten krijgen, zoals CI/CD-tools en GitOps. Bovendien komen de traditionele taken van Operations in DevSecOps-omgevingen vaak terecht bij ontwikkelteams. En deze teams zijn hier niet op toegerust en hebben niet de nodige controles om security, compliance en application lifecycle management te garanderen.
4. Security en observability: van ongecontroleerd naar gereguleerd
Security en observability waren vroeger vaak een ondergeschoven kindje in applicatieontwikkeling. Met de komst van strengere wet- en regelgeving, hanteren organisaties nu strikte securityprincipes en gedetailleerde observatiemogelijkheden voor een betere compliance.
MAAR: security en observability worden een gedeelde verantwoordelijkheid van alle applicatieontwikkelaars.
Het gevolg van deze vier evoluties is dat men een ecosysteem van tools én een platform nodig heeft rond applicaties.
Omgaan met complexiteit: valkuilen
Hoewel het nuttig is om bredere vaardigheden te hebben dan alleen applicatieontwikkeling, kunnen we niet verwachten dat elke developer een expert is in cloudinfrastructuur, containers en security. Door deze verantwoordelijkheden bij ontwikkelaars te leggen, kan kostbare tijd verloren gaan die besteed zou kunnen worden aan hun hoofdtaken.
Enkele valkuilen van deze aanpak:
- Het platform kampt met een gebrek aan updates doordat ontwikkelaars moeite hebben om de continue stroom van versie-upgrades bij te houden.
- Het platform raakt gefragmenteerd doordat teams individueel hun voorkeurstools selecteren in plaats van gezamenlijke keuzes te maken.
- Basisfunctionaliteiten zoals observability, back-ups en security patching worden steeds opnieuw geïmplementeerd.
Binnen een infrastructuurafdeling zouden deze problemen automatisch worden gedetecteerd. Infrastructuur beschikt immers over controles rond security, patchbeheer, application lifecycle management en heeft bovendien een toegewijd team om de systemen draaiende te houden.
Het ontbreken van deze controles in een ontwikkelingsomgeving kan veel problemen veroorzaken. Daar komt platform engineering as a service als oplossing om de hoek.
Opzetten van een platform engineering team
Om deze uitdagingen het hoofd te bieden, kiezen veel organisaties ervoor om een platform engineering team op te richten. Dit team is verantwoordelijk voor het creëren en onderhouden van een gezamenlijk platform dat is uitgerust met alle tools en services die applicatieontwikkelaars nodig hebben, waaronder:
- Infrastructuur
- Container orchestration
- Continuous integration and continuous delivery/continuous deployment (CI/CD)
- Observability
- Security
Deze mogelijkheden worden op self-service basis aangeboden via een Internal Development Platform (IDP) zodat ontwikkelaars er naar behoefte toegang toe hebben, wat hun productiviteit verhoogt.
“80% van de grote software engineering organisaties zal tegen 2026 een intern platform engineering team hebben om de levering van applicaties te ondersteunen. Dit is een significante stijging van 45% ten opzichte van 2022.”
- Gartner
Een platform engineering team biedt een aantal duidelijke voordelen.
Het team zorgt voor een consistente en schaalbare manier om betrouwbare en veilige oplossingen te leveren, en biedt tools en best practices om complexiteit te beheersen en innovatie in IT-architecturen te stimuleren.
Enterprise Architect: herbruikbare en aanpasbare oplossingen
Enterprise Architects kunnen platform engineering gebruiken om herbruikbare en aanpasbare oplossingen te creëren binnen de hele organisatie. Verschillende applicatieteams binnen de organisatie kunnen vertrouwen op een gestandaardiseerde en consistente manier om applicaties te ontwikkelen, testen, deployen en beheren.
Een platform engineering team dat al deze aspecten verzorgt, vermindert de complexiteit en kosten die gepaard gaan met het beheer van vele platformen, tools en technologieën.
CIO: betrouwbaarheid en monitoring
Voor CIO's (ook IT-managers) ligt het voordeel van een effectief platform engineering team op betrouwbaarheid en monitoring. Door te profiteren van de best practices, governance en standaarden van het team, kunnen CIO's de betrouwbaarheid van de softwarelevering verbeteren.
Met proactieve detectie en oplossing van incidenten via monitoring, in combinatie met een robuust release- en patchbeheerproces om kwetsbaarheden te verhelpen, krijgt de algehele platformbeveiliging een flinke boost. Zo creëert het platform engineering team een solide basis die horizontaal kan schalen, waardoor verhoogde workloads en nieuwe projecten met minimale downtime en onderbrekingen kunnen worden opgevangen.
Kubeport: platform Engineering as a service
De grootste uitdaging bij het opzetten van een platform engineering team is het vinden van de juiste profielen mét de vereiste kennis om het platform te bouwen en onderhouden.
Aangezien één persoon doorgaans niet over zo'n uitgebreide kennis beschikt, moet een platform engineering team bestaan uit domeinexperts op verschillende gebieden:
- Infrastructuur,
- Netwerken,
- Containerisatie,
- Cloud-native tooling.
En om problemen te voorkomen wanneer één van deze experts uitvalt, heeft het team idealiter meerdere experts voor hetzelfde domein nodig. Dit resulteert al snel in een groot team, wat vaak niet kostenefficiënt is.
Bovendien is het lastig om deze vaardigheden on-the-job te leren. Onze ervaring met infrastructuur- en applicatieontwikkeling leert dat het bouwen van dit soort platformen gemiddeld twee tot vier jaar duurt, nadat het team de juiste vaardigheden heeft verworven. Dit is kostbare tijd in een snel veranderende wereld
Met Kubeport bieden wij een platform engineering as a service dat focust op de ontwikkeling van uw applicatie, zonder dat men zich zorgen moet maken over de onderliggende infrastructuur, het containerplatform of de cloud-native tooling.
Dankzij KubePort maakt u gebruik van een service die wordt onderhouden door ons platform engineering team, waardoor u gegarandeerd bent van een stabiele, consistente en beheerde infrastructuur om op verder te bouwen. Doordat we het platform hebben gestandaardiseerd en geautomatiseerd en het als een service aanbieden, vereist KubePort geen grote initiële investering in termen van opzet.