Bouwen op de cloudomgeving: cloud-native applicaties uitgelegd

De officiële betekenis van cloud-native is te vinden bij de Cloud Native Computing Foundation, het walhalla voor cloud-native fanaten. Het komt er kortgezegd op neer dat applicaties worden gebouwd in de cloudomgeving en daar draaien. 

Dit stuk is een onderdeel van onze ‘IT uitgelegd‘-reeks, waarin we belangrijke begrippen en technologieën achter producten en innovaties vandaag op een begrijpelijke manier uitleggen.

Geliefd bij gebruikers en bedrijven

Cloud-native applicaties bieden voordelen aan zowel de gebruikers van de applicaties, als aan ondernemingen. Ze spelen in op de hedendaagse behoeftes van personen, door een hoge gebruikssnelheid te combineren met gemak. In een tijdperk waarin iedereen voortdurend online is, zijn trage reactiesnelheden van applicaties uit den boze.

Voor bedrijven zijn dan weer meer flexibiliteit, de mogelijkheid om snel te schakelen, en een lage kostprijs redenen om de cloudomgeving te gebruiken. Naast nieuwe applicaties, is het eveneens mogelijk reeds bestaande applicaties over te zetten naar de cloud. Door de vele voordelen is de overstap naar de cloud een vast ingrediënt van de digitalisering waar de meeste organisaties volop mee bezig zijn.

Cloudmigratie

Applicaties overzetten naar de cloud heeft de chiquere benaming cloudmigratie gekregen. In veel organisaties werd de basisinfrastructuur al ontwikkeld, voordat de cloud überhaupt bestond.

De evolutie naar cloud-native applicatieontwikkeling heeft vele dimensies. Het heeft betrekking op de cultuur, processen, architectuur en technologie binnen een organisatie. Cloud-native betekent als zodanig een cyclus van verandering, die voor veel bedrijven een uitdaging kan zijn.

Om deze uitdaging te begrijpen, is het handig te kijken naar de sleutelelementen van cloud-native applicaties:

  • Microservices
  • Application Programming Interfaces (API’s)
  • Containers
  • DevOps

Microservices

Microservices zijn een mogelijk resultaat van het bouwen van cloud-native applicaties. Ontwikkelaars gooien voor de opbouw van een applicatie met microservices kleine, afzonderlijke bouwsteentjes bij elkaar. Op het moment dat iemand de applicatie gebruikt, werken die onderdelen samen.

Het mag duidelijk zijn dat de opbouw minder complexe handelingen vraagt door het gebruik van microservices. Ook het onderhoud vereenvoudigt. Ontwikkelaars passen namelijk makkelijk één bouwsteentje aan, zonder heel de applicatie te veranderen. Bij een update is er daarom minder kans dat de volledige applicatie tijdelijk niet werkt.

Onafhankelijke microservices worden bijvoorbeeld gebruikt door Netflix en Uber, zo kunnen ze inspelen op de individuele behoeftes van bepaalde locaties en updaten zonder dat de klantenervaring erop achteruitgaat.

API

Een API wordt gepubliceerd door een softwareontwikkelaar, en helpt anderen in het vak met het koppelen van  nieuwe software aan de eigen software. In de API combineert de ontwikkelaar technische bestanden, documenten en andere hulpmiddelen.

De communicatie van cloud-native applicaties is gebaseerd op API’s. Via een API kan een gegeven toepassing met een andere praten in de taal van die toepassing, zonder via de interface bedoeld voor menselijke gebruikers te moeten passeren.

Containers

Om de inhoud van cloud-native applicaties te laten draaien bij verschillende gebruikers, zijn de applicaties afhankelijk van containers. In een container vind je één applicatie, die verder omringd is door al zijn dependencies: alle bibliotheken, drivers en stukken software die de applicatie in kwestie effectief nodig heeft. In een cloudomgeving is het eenvoudig om nieuwe containers te starten of te stoppen om tegemoet te komen aan de actuele vraag voor een applicatie. Gebruikers van de applicatie profiteren hierdoor van een hoge reactiesnelheid, ook als er veel gebruikers op eenzelfde moment actief zijn.

lees ook

Waarom containers geen virtuele machines zijn

Containers werken perfect samen met microservices. Dat ligt aan het onafhankelijke karakter van microservices. De verschillende bouwsteentjes worden namelijk geïsoleerd en zijn daardoor niet langer afhankelijk van de overkoepelende infrastructuur.

DevOps

Dit samengestelde woord, omvat een combinatie van ontwikkeling (Dev) en bedrijfsactiviteiten (Ops).

Server vs. container

In een fysiek datacenter worden servers behandeld als huisdieren van de werknemers. De servers krijgen verzorging en elk een unieke naam. Onder die verzorging valt bijvoorbeeld het oplappen van geïnfecteerde servers.  Wanneer dat echter niet meer mogelijk is en de server voorgoed moet verdwijnen, dan kan de server niet ongemerkt worden verwijderd. Niemand verliest namelijk graag een huisdier.

In een virtuele machine of container daarentegen, worden componenten behandeld als vee. Componenten worden gelabeld met opeenvolgende namen, net als vee die met een plaatje in het oor geïdentificeerd worden. Als één van de componenten niet langer bruikbaar is, dan wordt deze verwijderd, zonder enig effect te hebben op de overige componenten.

Scaling up vs. scaling out

Het laatste verschil duikt op bij de wijze van uitbreiding. Bij fysieke servers kopen organisaties doorgaans krachtigere exemplaren wanneer bestaande systemen niet meer voldoende presteren (scaling up). Scaling out wordt toegepast bij containers. In het proces werken verschillende processoren over de hardware heen toch samen met elkaar. Is er onvoldoende capaciteit, dan huur je een identiek stuk hardware bij om de totale capaciteit te verhogen, zonder dat je bestaande hardware door een krachtiger alternatief moet vervangen.

Businesscases

Er zijn verschillende businesscases te onderscheiden waarin cloud-native applicaties het verschil kunnen maken:

  • Het verhoogt de snelheid waarmee zowel bestaande als nieuwe applicaties aan klanten worden afgeleverd.
  • Het zorgt voor snellere verandering door bestaande applicaties te moderniseren en aan te passen aan de markten en klanten.
  • Het verhoogt de snelheid waarmee nieuwe applicaties worden ontwikkeld om nieuwe businessopportuniteiten aan te boren.
  • Het verhoogt de snelheid van innovatie over de hele organisatie heen, zodat die in lijn ligt met het ritme van de businessverwachtingen.

nieuwsbrief

Abonneer je gratis op ITdaily !

  • This field is for validation purposes and should be left unchanged.