Bij Cegeka bouwen we al jaren applicaties voor klanten. We hebben ervaren dat we applicatieontwikkeling nooit los kunnen beschouwen van de onderliggende infrastructuur. Deze infrastructuur verschuift ook steeds vaker van de Cegeka Datacenters richting public cloud met Microsoft Azure als voornaamste speler. Dit kan in de publieke cloud zijn of in een hybride set-up. Omdat we telkens dezelfde uitdagingen tegenkomen, hebben we nagedacht over hoe we die op een gestructureerde manier kunnen aanpakken.
De drie infrastructuuruitdagingen waarmee elke applicatieontwikkelaar te maken krijgt, zijn observability, security en selfservice.
Observability
In de praktijk hebben de afdelingen die verantwoordelijk zijn voor infrastructuur en applicatieontwikkeling vaak elk hun eigen monitoringtools. Daardoor zijn de inzichten die daaruit voortvloeien onvolledig. Het gevolg: bij het analyseren van problemen rond beschikbaarheid, performance, compliancy, security … is er niet één overkoepelend zicht om de oorzaak bloot te leggen.
Observability (de interne toestand van uw systeem te weten komen op basis van zijn outputs) moet daarom end-to-end zijn. Alleen zo hebt u op elk moment een overzicht van het hele systeem. Dat realiseert u door de verschillende tools niet op te zetten vanuit de technologie, maar vanuit de verwachtingen van de eindgebruikers.
Security
De traditionele aanpak – een applicatie ontwikkelen en voordat die in productie gaat, controleren of de beveiliging in orde is – volstaat niet meer. Na de controles door de beveiligingsexperts moet de applicatie altijd herwerkt worden om de kwetsbaarheden op te lossen. Dat stelt de uitrol in productie uit.
Een betere aanpak is Shift Left Security: voeg die beveiligingscontroles al toe in het begin van het ontwikkelproces en laat ze continu de code testen door bijvoorbeeld runtime scanning. Wanneer besloten moet worden of de applicatie klaar voor productie is, zijn die controles al gebeurd en is er geen grote herwerking meer nodig. Dat geldt overigens niet alleen voor de applicatiecode. Als u uw infrastructuur met code definieert (Infrastructure as Code), kunt u ook die bestanden automatisch en continu laten scannen tegenover de gewenste security baseline of security best practices.
Selfservice
De interactie tussen applicatieontwikkelaars en infrastructuurbeheerders verloopt doorgaans stroef. De applicatieontwikkelaars signaleren een nood, geven die door aan de infrastructuurafdeling en die heeft een hele tijd nodig om met een oplossing te komen. Dat vertraagt het werk van de applicatieontwikkelaars en vraagt ook veel tijd van de infrastructuurafdeling.
Een andere aanpak is dat die laatste een bibliotheek van standaard platformcomponenten ontwikkelt, die in een selfserviceportaal aangeboden worden of onmiddellijk mee worden opgenomen in de Kubernetes uitrol. Wanneer de applicatieontwikkelaars dan platformcomponenten nodig hebben, kunnen ze dat zelf uit een lijst kiezen.
Het selfservice portal laat toe om de verschillende onderliggende infrastructuur componenten te selecteren en te laten deployen zonder dat de applicatieontwikkelaar daar kennis van moet hebben. Deze infrastructuurlaag kan in een private Cloud of een publieke Cloud draaien. Naast onze eigen private datacenters heeft Cegeka ook de nodige kennis om ontwikkelaars binnen de Microsoft Azure publieke cloud te ontzorgen. Landing zones tot en met de containers gebaseerd op Azure Kubernetes Services (AKS) worden op deze manier transparant aangeboden aan de ontwikkelaar.
Hoe pakt Cegeka deze uitdagingen aan?
Verschillende klanten kwamen naar ons met bovenstaande uitdagingen en vroegen of we hen daarbij konden ondersteunen. Intussen hadden onze eigen ontwikkelteams ook al gemerkt dat ze, voordat ze aan een project begonnen, vaak dezelfde basiscomponenten nodig hadden en dus bij de start steeds een platform aan het ontwikkelen waren.
Op basis van die ervaring kwamen we tot de conclusie dat een DevSecOps-infrastructuurplatform ons en onze klanten heel wat tijd zou uitsparen. Daarnaast kunnen we ook de steeds toenemende security en compliancy eisen invullen door te werken met standaard componenten die aan best practices voldoen. Op basis van deze feedback hebben we een managed platform gebouwd dat ontwikkelaars van de nodige infrastructuur voorziet, zodat ze niet meer voor elk project het wiel opnieuw moeten uitvinden.
Op het vlak van monitoring hebben we vooral onze al volwassen infrastructuurmonitoring uitgebreid, zodat die ook platform- en applicatiemonitoring op zich kan nemen. Op die manier bieden we een end-to-end overzicht van infrastructuur tot de applicatie. Daarnaast hebben we een uitgebreide set aan componenten die het inrichten van observability mogelijk maken.
Wat security betreft, hebben we gekozen voor een open architectuur, daardoor kunnen we eenvoudig nieuwe tools integreren voor security en compliance testing. En van dit alles hebben we een managed service gemaakt, met een selfserviceportaal waar applicatieontwikkelaars platformcomponenten uit kunnen kiezen. Zowel onze eigen ontwikkelaars als die van klanten kunnen hierdoor sneller aan de slag.
Managed platform voor DevSecOps
In een recent interview legde Gaetan Willems, Director Hybrid Cloud bij Cegeka, de bedoeling van ons managed platform uit vanuit zijn infrastructuurperspectief:
“Het platform omvat alle niet-functionele elementen en DevSecOps tooling. Hierdoor hoeven ontwikkelaars niet bij elk project opnieuw het wiel uit te vinden en kunnen ze zich volledig focussen op hun opdracht. Dat zal niet alleen ons, maar ook onze klanten, tijd en middelen besparen. Het framework biedt ook de garantie dat de ecosystemen altijd gestandaardiseerd, beveiligd en performant zijn, of je nu kiest voor een privaat of publiek implementatiemodel.”
Toon Martens, onze Director Application Modernisation, zit vanuit zijn applicatieperspectief volledig op dezelfde lijn:
“Je investeert ook best in een cloud-native applicatieplatform waarin alle niet-functionele elementen standaard voorzien zijn. Zo kunnen ontwikkelaars zich focussen op de applicatiefunctionaliteit en hoeven ze niet het warm water uit te vinden. Die verschuiving van de niet-functionele elementen naar een geautomatiseerd platform zorgt niet alleen voor een enorme efficiëntieslag, maar helpt ook om alles veilig en stabiel te houden.
Loopt u bij uw applicatieontwikkeling ook tegen infrastructuuruitdagingen, observability, security en selfservice aan? Neem dan contact met ons op om te kijken hoe ons managed platform voor DevSecOps uw applicatieontwikkelaars kan ontlasten.