Marc schetst hoe organisaties hierin kunnen groeien. Veel organisaties doen vandaag de dag alles in eigen beheer, van compute en storage tot en met functies en data. Bij Infrastructure as a Service (IaaS) besteed je de onderlaag uit aan een MSP of cloudprovider. Daardoor hoef je alleen nog je eigen omgeving en runtime te beheren. Als je de abstractielaag verder opschroeft, werk je op een containerlaag waarop je runtime draait.
Het hoogste niveau is FaaS: Function as a Service. Hierbij wordt de volledige onderlaag automatisch opgebouwd en beschikbaar gesteld, inclusief security en policies. Daardoor kun je sneller risico’s reduceren. Bij een zero day-exploit kun je alle getroffen apps weggooien, het golden image bijwerken en alle apps opnieuw opbouwen. Dat is een kwestie van uren, terwijl dit bij klassieke applicaties, zeker bij grote aantallen, weken kan duren.
Waarom modern apps ook grip geven op governance
Modern apps bieden niet alleen snelheid en wendbaarheid, maar ook voordelen voor enterprise governance. Met een gestandaardiseerde, betrouwbare productieomgeving en een sterk geautomatiseerd platform kun je security en compliance afdwingen voor alle apps. Dat maakt modern apps geschikt voor cloud-native apps, voor de modernisering van legacy apps en als fundament onder een multi- of hybride cloudstrategie.
Moderniseren begint met kiezen: wat, waarom, wanneer en hoe?
Succesvolle appmodernisering begint volgens Marc met bepalen welke applicaties je waarom en wanneer verandert. Veelvoorkomende redenen om apps te moderniseren zijn licentiekosten, kansen in de markt, risicoreductie bij bedrijfskritische toepassingen en het verhogen van de snelheid van changes. Daarna bepaal je wat je kunt moderniseren. Daarbij kijk je naar technische factoren zoals architectuurontwerp, statefulness, het gebruik van proprietary tools en het gebruik van workloads. Vervolgens bepaal je wanneer en hoe je applicaties moderniseert: zijn domeinexperts beschikbaar of huur je die in, en is de nieuwe werkwijze al ingebed in de organisatie? Om de cloud(on)mogelijkheden van applicaties in kaart te brengen, classificeren Marc en André apps met het 5 R-model: Retain, Retire, Replatform, Rehost en Refactor.
Het groeipad naar cloud-native: refactoren als maturity model
Bij Refactoring herstructureer je de applicatie-architectuur tot een collectie microservices, zodat het een volledige cloud-native applicatie wordt. Daardoor kan de applicatie op iedere cloud draaien. In de praktijk gebeurt het maken van cloud-native applicaties gefaseerd, op basis van de genoemde factoren. Marc: “Wij adviseren om het 5R-model als leidraad te nemen om jouw organisatie naar cloud native te transformeren. Je kunt het zien als een maturity model, dus je hoeft niet alle stappen in één keer te zetten.”
Daarna wordt duidelijk waar organisaties op moeten letten. Marc en André haalden in de sessie een aantal situaties aan, zodat organisaties op voorhand gewaarschuwd zijn.
- Uitdaging 1: cloud-native vraagt om strikte principes
Cloud-native werken vraagt om strikte principes in architectuur, processen en automatisering. Die principes zijn vastgelegd in de 15 Cloud-Native Factors. Kies je ervoor om een applicatie te replatformen, dan moet je er zeker van zijn dat de app aan deze eisen voldoet. Doe je dat niet, dan crasht de app op Kubernetes. Dit geldt uiteraard ook voor refactoring.
- Uitdaging 2: het cloud-native tools landscape blijft groeien
Een tweede uitdaging is het cloud-native ecosysteem. Dat is ongelofelijk omvangrijk en groeit nog steeds. De kunst is daarom om de juiste tooling te kiezen en daarop te standaardiseren. In de sessie belichtten Marc en André twee van de meest gebruikte platforms.
- Platformkeuze 1: Kubernetes voor schaalbare en modulaire orkestratie
Kubernetes is het meest gangbare platform, mede omdat veel externe softwareontwikkelbedrijven hierop zijn gestandaardiseerd. Kubernetes biedt een schaalbaar en modulair platform waarin control plane en worker nodes applicaties betrouwbaar orkestreren. Het bestaat uit bouwblokken waarmee je applicatie-uitrol abstraheert via objecten zoals Deployments, Pods en Services voor consistente operations. Deze apps kunnen zowel op bare metal als op virtual machines draaien.
- Platformkeuze 2: Cloud Foundry voor eenvoud en controle
Cloud Foundry is volgens Marc en André de overtreffende trap om in control te komen over soevereiniteit, eigen apps en data warehouses. Het biedt een hoog geautomatiseerd platform waarmee developers zonder infrastructuurkennis applicaties kunnen uitrollen. Cloud Foundry abstraheert nog meer van de onderliggende lagen, waardoor de leercurve veel lager is dan die van Kubernetes.
Kubernetes en Cloud Foundry: kiezen of combineren?
Tijdens de sessie viel het de zaal op dat Kubernetes veel populairder is, terwijl Cloud Foundry veel makkelijker is. Marc liet dat zien in een demo. Hij demonstreerde hoe snel en eenvoudig een voorbeeldapplicatie met Cloud Foundry kan worden gemaakt, vergeleken met wat daarvoor nodig is in Kubernetes. Cloud Foundry biedt minder flexibiliteit en minder keuzemogelijkheden, maar kan erg waardevol zijn als je één of meer eigen softwareontwikkelteams hebt. Kubernetes is door de eerdergenoemde standaardisatie juist goed inzetbaar als je applicaties van leveranciers wilt draaien. Moet je dan kiezen? Nee: je kunt ze ook allebei draaien.
Welke vendor past bij jouw platformkeuze?
Diverse vendoren bieden Kubernetes-platformen aan die verschillen in beheerlast, integratie en enterprise-functionaliteit. VMware biedt vSphere Kubernetes Service en Tanzu. Red Hat biedt OpenShift en SUSE biedt Rancher. Bij hyperscalers heb je de keuze tussen Amazon Elastic Kubernetes Service, Google Kubernetes Engine en Azure Kubernetes Services. Zo ontstaat de laatste keuzevraag: wat past het beste bij jouw organisatie? Daarover adviseren Marc en André graag.
Wat namen de bezoekers mee uit de sessie tijdens Rust.?
- Modern apps zijn een versneller voor jouw organisatie. Je kunt apps zelf ontwikkelen en runnen. Ze zijn meestal gebaseerd op code waardoor ze beter reproduceerbaar, dupliceerbaar, aanpasbaar en wendbaar zijn. Transformatie van bestaande apps gaat je ook helpen om releases, updates en lifecycle management te versnellen.
- Modern apps dragen ook bij aan enterprise governance door automatisering, standaardisatie, snellere software delivery en ingebouwde security en compliancy.
- Kies je voor containers of app development? Dat bepaalt mede de keuze voor Kubernetes of Cloud Foundry.
- En kies je voor closed of open source tools? Hou dan rekening met de beschikbare ondersteuning, van de vendor of via een community. Ook speelt een financieel aspect mee. Zet de kosten van de licenties eens af tegen de kosten van de specialisten die je nodig hebt.
Meer weten of dit live zien werken?
Wil je meer informatie over enterprise automation voor jouw organisatie, heb je interesse in een inspiratiesessie of wil je het live zien werken? Neem dan contact met ons op.