Hoe het ontwikkelen van cloud-native apps uw bedrijf toekomstbestendig maakt

Abonneer je gratis op Techzine!

Er ligt een steeds grotere focus op digitale transformatie. En die benadrukt maar weer eens de zakelijke voordelen van verandering. Maar door de complexiteit en de uitdagingen waar organisaties mee te maken hebben, bieden ze niet altijd echte meerwaarde op de lange termijn.   

Een van de grootste uitdagingen bij digitale transformatieprojecten is dat systemen functioneel, veilig en voorspelbaar moeten werken. Tegelijk moeten ontwikkelaars en operationele teams de systemen snel verder kunnen ontwikkelen om nieuwe functionele voordelen te leveren.

Deze spanning tussen betrouwbaarheid en productiviteit beïnvloedt heel wat keuzes — en is met name problematisch door de huidige druk om snel te veranderen en verbeteren. IT-teams die apps ontwikkelen, moeten constant een evenwicht vinden tussen veranderingen op de korte en lange termijn. Een voorbeeld hiervan is de keuze tussen het gebruik van bestaande systemen en infrastructuur bij de creatie van nieuwe functionaliteiten of het opnieuw ontwerpen van de ontwikkel- en de levermogelijkheden. Het doel op de lange termijn is om waarde toe te blijven voegen aan de applicatieomgeving van de organisatie, en tegelijkertijd agile ontwikkeling en levering te verbeteren.

Cloud-native technologie gebruiken

De vraag hoe je met verandering moet omgaan, is bijzonder relevant in grote organisaties waar ontwikkelteams snel moeten handelen en productievere technologieën moeten gebruiken. Verschillende organisaties zochten hun heil in een cloud-native ontwikkelstrategie en in het bijzonder de stap richting containers. 

Traditionele middleware (software die applicaties, data en gebruikers met elkaar verbindt) moet heruitgevonden en herbouwd worden om cloud-native applicaties optimaal te ondersteunen. Moderne middleware moet gebruikmaken van microservices, API’s en containers om veel krachtiger te zijn in een cloud-native omgeving.

Idealiter is een cloud-native app een verzameling van kleine, onafhankelijke en losjes gekoppelde microdiensten, ingezet in Linux-containers, en verbonden via application programming interfaces (API’s). Elke dienst maakt een zakelijke dienst mogelijk, en is ontwikkeld door kleine teams die DevOps-praktijken gebruiken en continue integratie en continue ontwikkeling (CI/CD) toepassen. Dit maakt het mogelijk om diensten snel automatisch uit te rollen en geregeld van updates te voorzien.

Met DevOps-methodes zoals continue levering, kan de kwaliteit tijdens elke stap in het proces automatisch worden getest. Continu testen zorgt voor snelle feedback, zodat vroeg in het proces tijd en inspanningen worden bespaard.

Moderne infrastructuur inrichten

Het ‘fail-fast’-principe is via cloud-native development populair geworden. Een containerinfrastructuur heeft het op- en neerschalen van de failure modi veel gemakkelijker gemaakt en het op Netflix geïnspireerde begrip van ‘chaos engineering’ (experimenteren met een systeem in productie, om zo vertrouwen op te bouwen in het adequaat kunnen reageren op turbulente en onverwachte omstandigheden), wordt steeds vaker ingezet. 

Containers en containerplatforms brengen de visie van cloud-native computing tot leven. Naarmate cloud-native technologieën voet aan wal krijgen, zijn containerplatforms, gecombineerd met cloud-native runtimes, de meest flexibele innovatiekatalysator. Naarmate organisaties containertechnologieën toepassen, zal deze combinatie naar alle waarschijnlijkheid het dominante model worden, waarbij een groot deel van het orkestratievermogen van de voorgaande applicatieservers naar de containerbeheerlaag wordt overgedragen. 

Veel organisaties willen zowel nieuwe architecturen en Linux-containers gebruiken als moderne manieren om applicaties te ontwikkelen, maar hun workloads zitten vast in de traditionele omgevingen. Deze kunnen duur in onderhoud en moeilijk te beheren zijn. Het is daarom cruciaal de traditionele workloads naar een modern platform te brengen om de IT-omgevingen te vereenvoudigen. 

We zijn nu ook op het punt gekomen dat Java naar de cloud-native applicatieontwikkeltoekomst wordt gebracht door Quarkus, een Kubernetes Native Java framework. Quarkus zal een toonaangevend platform voor serverloze, cloud- en Kubernetes-omgevingen worden en plaatst Java in een betere positie om in de toekomst sneller te schalen. Met soepele en gebruiksvriendelijke API’s stelt Quarkus ontwikkelaars in staat om cloud-native apps en best-of-breed frameworks te ontwikkelen.

Juiste cultuur ontwikkelen

De weg naar cloud-native applicaties vereist dat ontwikkel- en IT-operations teams op verschillende manieren evolueren om apps sneller en efficiënter te bouwen en te implementeren. Ongeacht de sector waar ze in actief zijn of de omvang, zal elk bedrijf het brede aanbod aan activiteiten, technologieën, teams en processen die een DevOps-cultuur vormen in acht moeten nemen.             

Om te profiteren van nieuwe technologie, snellere benaderingen en een nauwere samenwerking dienen organisaties de principes en culturele waarden van DevOps te omarmen. Er ligt nog veel onontgonnen potentieel in het verbreden van de DevOps-praktijken in het applicatieportfolio. Het adopteren van een DevOps-cultuur vereist niet alleen tools en technologieën, maar ook de bereidheid en het vertrouwen van mensen om een meer geïntegreerde en collaboratieve aanpak te omarmen. Deze moedigt namelijk teamwerk, inclusie, feedback en experimenteren aan.

Introductie DevOps-processen

DevOps en developer tooling vormen de basis van cloud-native technologie. In wezen zijn veel van deze technologieën tot meer in staat dan enkel voorzien in de behoefte aan infrastructuur, en kunnen ontwikkelaars ook efficiënt en doeltreffend bijstaan. Het inzetten van DevOps-processen helpt een cloud-native cultuur op te zetten die zich snel aanpast aan de noden van de klant.  

Een combinatie van veerkracht, beheersbaarheid en waarneembaarheid (vanuit de operationele kant) en de technische impact (van de ontwikkel- en engineering-kant) bevordert een aantal technologieën die onder de cloud-native noemer zijn samengekomen. Deze eigenschappen zorgen ervoor dat cloud-native technologie zo geschikt zijn om de uitdagingen van organisaties aan te gaan die voor het gebruik van verschillende clouds en datacenters kiezen.

DevOps-praktijken, applicatiediensten, middleware, developer tools en management, evenals nieuwe  cloud-native varianten, behelzen en ondersteunen allemaal de IT-omgeving van een organisatie. Ze werken samen om de applicatieomgeving van een organisatie te vormen. Deze applicatieomgeving ondersteunt op haar beurt de functionaliteit.  

Cloud-native strategieën zorgen ervoor dat bedrijven concurrerend blijven, de applicatieontwikkeling versnelt en applicaties voor zakelijke toepassingen flexibeler zijn. 

We plukken enkel de grootste voordelen van deze nieuwe technologieën wanneer we tegelijkertijd onze cultuur en onze processen aanpassen. Daarom moeten organisaties hun mensen ook aanzetten tot het herzien en ontwikkelen van hun vaardigheden, om een belangrijk onderdeel te worden van een effectieve cloud-native applicatiestrategie die in de nabije toekomst aanzienlijke concurrentievoordelen kan bieden.

Dit is een ingezonden bijdrage van Erica Langhi, EMEA Senior Solutions Architect bij Red Hat. Via deze link vind je meer informatie over de mogelijkheden van het bedrijf.