Wat is cloud native? En welke voordelen biedt cloud native development?

Wat is cloud native?
Wat is cloud native?
Home / Blog & Nieuws / Cloud / Cloud-native / Wat is cloud native? En welke voordelen biedt cloud native development?
Wat is cloud native? Wat betekent het voor development van een webapplicatie? En welke voordelen heeft het om een webapp cloud native te bouwen? Je ontdekt het in deze blog!

Cloud native is een manier van ontwikkelen van (web)applicaties die specifiek zijn bedoeld om op de cloud te draaien. Deze applicaties zijn schaalbaar, maken gebruik van cloud services, en kennen een snellere time-to-market.

Wat is cloud native (ontwikkelen)?

Cloud native is een manier van ontwikkelen van moderne (web)applicaties en opbouwen van infrastructuur, specifiek bedoeld om in de cloud te draaien. Niet alleen dat: een cloud native (web)app maakt ook optimaal gebruik van de opbouw van de cloud en services hiervan. Vaak is een cloud native applicatie opgesplitst in kleinere, functionele elementen: microservices. Microservices zijn op een standaard manier met elkaar verbonden, bijvoorbeeld door API’s, data streaming of message bussen. Een optimaal gebouwde cloud native applicatie gaat verder dan alleen microservices. Een dergelijke app maakt gebruikt van de mogelijkheden van automatisering en (automatisch) schalen die bij gebruik van de cloud komen kijken. De cloud is daarbij zo opgezet dat cloud services de complexiteit van serverbeheer overnemen.

CNCF, de Cloud Native Computing Foundation, definieert cloud native als: “Cloud native technologieën stellen organisaties in staat om schaalbare applicaties te bouwen en te draaien in moderne, dynamische omgevingen zoals publieke, private en hybride cloud. Containers, service meshes, microservices, onveranderlijke infrastructuur en declaratieve API’s illustreren deze aanpak.”

Wat heb je nodig voor cloud native development?

Om cloud native te ontwikkelen, moet een applicatie gesplitst worden in microservices én de samenwerking tussen deze microservices moet worden gedefinieerd. Daar komen nieuwe uitdagingen bij kijken. Microservices zijn stateless; ze zijn niet-datahoudend. Data (zoals afbeeldingen en bestanden) moet in centrale databases of object storage staan opgeslagen.

Voor een cloud native applicatie ontwikkel je functionaliteiten zoveel mogelijk los in microservices. Deze moet vervolgens zowel los worden getest als getest binnen het geheel. Bij een grote hoeveelheid aan microservices zul je dit testen en deployen vergaand moeten automatiseren om tijdrovend werk te voorkomen.

Daarnaast heb je een cloud provider nodig die je voorziet in technologie van cloud computing en cloud services. De interactie met cloud services is behoorlijk technisch en zeer specifiek. Hiervoor heb je een ontwikkelaar met operations kennis nodig: een DevOps engineer. Draait je cloud native applicatie op Kubernetes, dan zul je ook voor dit platform specifieke kennis voor nodig hebben.

Wat zijn de voordelen van cloud native development?

De voordelen van cloud native development lijken heel erg op de voordelen van microservices. Als je webapp op een goede manier is opgedeeld in kleinere functionelere delen, ontwikkel je al deels op een cloud native manier.

De voordelen van microservices zijn onder andere: de mogelijkheid om in kleine, autonome teams te werken; flexibiliteit in technologiekeuze; en verhoogde productiviteit van ontwikkelteams.

Daarnaast zijn er nog deze voordelen van cloud native development:

🚀 Sneller nieuwe releases uit te rollen

Cloud native development, het werken met microservices, (test) automatisering, en een (automatische) CI/CD pipeline helpen je bij het versnellen van het release proces. Hierdoor kun je sneller (kleinere) releases uit rollen en heb je een kortere time-to-market van features waarmee je inspeelt op feedback van je klanten of (nieuwe) eisen uit de markt.

🧑‍💻 Schaalbare applicaties

Als een cloud native applicatie goed is ontwikkeld, draait deze als een zonnetje in de cloud. De applicatie is dan schaalbaar, wendbaar en zeer sterk geautomatiseerd. Vernieuwde of nieuwe code is sneller te testen en in productie te deployen.

⛅️ Makkelijker cloud management door platform-as-a-service

De cloud naar keuze voor je webapp is ingericht volgens het ‘as a service’ principe. Daardoor heb je meer keuze in wat je zelf moet beheren en wat je aan een gespecialiseerde partner overlaat. Zeker met platform-as-a-service hoef jij niet meer naar cloud hosting om te kijken en kun je je compleet op ontwikkelen focussen.

Wat is cloud native architectuur?

Cloud native architectuur bestaat uit elementen die nodig zijn om een applicatie in de cloud te laten draaien.

☸️ Container-orkestratie (Kubernetes)

Kubernetes is een open source container-orkestratie platform, waarmee je grote groepen containers makkelijker kunt beheren.

🧑‍💻 Onveranderlijke infrastructuur (Infrastructure as Code)

Onveranderlijke infrastructuur is een eis voor cloud native applicaties. Als een server faalt, moet een andere server met dezelfde infrastructuur het kunnen overnemen. Voor veel cloud native applicaties wordt de configuratie van de cloud omgeving gedefinieerd in code: Infrastructure as code. Via deze code weet de cloud welk type infrastructuur er opgezet moet worden. Daarbij maakt het niet uit om welke cloud aanbieder het gaat (private cloud, Azure of AWS).

🧑‍💻 Service mesh

Een service mesh is een abstractielaag voor je applicatie. Deze specifieke laag verzorgt de communicatie tussen microservices, in plaats van dat je handmatig moet coderen hoe elke microservice moet communiceren. Een service mesh geeft je daarbij inzicht en controle over de communicatie.

🧑‍💻 Declaratieve API’s

Met een declaratieve API geef je de gewenste state van het endpoint, in plaats van directe opdrachten.

🪈 CI/CD

Vanwege de splitsing in microservices wordt gewijzigde of nieuwe code van de applicatie vaak automatisch uitgerold, in een CI/CD pipeline (Continuous Integration en Continuous Delivery). Het doel van deze methode: code sneller en foutlozer deployen in een stabiele en hoogwaardige productieomgeving.

Waar moet ik aan denken als het om cloud native security gaat?

Omdat een cloud native app zo anders in elkaar steekt dan een traditionele app, verschilt ook cloud native security van traditionele security. Voor optimale beveiliging van applicaties die in Kubernetes draaien, bestaat het 4C model voor cloud native security: code, container, cluster en cloud. Elk van deze lagen kent eigen vorm van security.

Het ecosysteem van je webapp: cloud native landschap

Cloud native development hangt nauw samen met het ecosysteem waarin je clusters en microservices zich bevinden. Zo heb je bijvoorbeeld service meshes nodig, een container-orkestratieplatform, en tools voor runtime, networking en provisioning. Het CNCF heeft daarvoor een landschap aan technologieën en tools samengesteld. Nice fact: True is onderdeel van dit cloud native landschap!

Een gespecialiseerde partner voor jouw cloud native development

Steeds meer organisaties ontwikkelen hun webapp, webshop of website met microservices en containerisatie. Dat levert veel voordelen op, al kan de orkestratie ervan en beheer van onderliggende infrastructuur complex zijn. Engineers van True helpen je om deze complexiteit te lijf te gaan en beheren de infrastructuur voor je, met Managed Kubernetes van True. Meer weten? Vraag een vrijblijvend adviesgesprek aan.

Zelf met Kubernetes aan de slag?

Steeds meer ontwikkelteams verkennen containerisatie en microservices. Het levert veel voordelen op maar kan ook complex zijn. Managed Kubernetes van True helpt ontwikkelteams met meer efficiëntie en zorgvuldigheid te ontwikkelen.

object storage large
object storage small
Daniëlle van Gils
Content Marketeer
Categorie: Cloud-native