
Het is dé hype van de afgelopen paar jaar, de Cloud. Voor jou als developer is het natuurlijk razend interessant om over de capaciteiten te beschikken om een graantje mee te pikken van deze hype. Dan moet je wel weten hoe het allemaal werkt en je alles het beste aan kan pakken. Gelukkig kunnen wij je daarbij helpen. Lees deze blog en wordt de nieuwe Cloudwise developer waar iedereen op wacht.
Wat is Cloud-Native?
In het algemeen is "Cloud-Native” een manier om applicaties
te bouwen en te runnen. Deze applicaties maken gebruik van de voordelen van het
Cloud Computing Delivery model. Het
Cloud Computing Delivery model bestaat uit Software as a Service (SaaS),
Platform as a Service (PaaS) en Infrastructure as a Service (IaaS). De
term Cloud-Native gaat over hoe applicaties gecreëerd en ingezet worden, en
niet waar. Het impliceert dat de applicaties in de publieke Cloud staan, in
tegenstelling tot in een on-premise datacenter.
Je zou Cloud-Native nog iets beter kunnen definiëren: Het is
het gebruik van open source software stack om in containers te stoppen, waar
elk deel van de app ingepakt is in z’n eigen container. Deze container is
dynamisch georganiseerd zodat ieder deel actief gepland en beheerd kan worden
om het resource gebruik te optimaliseren. Het is microservices-oriented om de
algemene flexibiliteit en het onderhoud van de applicaties te verbeteren. De
microservices architectuur houdt in dat je allerlei gekoppelde services hebt in
één applicatie. Dus eigenlijk heb je allerlei delen van de grotere service
verpakt in containers die met elkaar samenwerken.
Een Cloud-Native app is specifiek gebouwd om te runnen in de
dynamische en verdeelde omgeving die aanwezig is op moderne Cloud computing
platformen. Het voordeel van dit soort applicaties is dat ze ‘loosely coupled’
zijn, dit betekent dat de hardware veranderd kan worden aan de buitenkant of
met veranderingen in de software. De apps zijn dus niet gekoppeld aan de
infrastructuur componenten. Op deze manier kan de app eenvoudig groter en
kleiner worden op basis van de vraag. Normaal gezien worden deze apps gebouwd
met behulp van microservices, maar dat is geen verplichting.
Cloud-Native
app development bevat DevOps en Agile methodes, Microservices, Cloud platforms
en containers. Oftewel, alle nieuwe en moderne methodes voor het ontwikkelen
en inzetten van apps. Daarom wil je natuurlijk een PaaS model. Het is niet
verplicht maar het maakt je leven wel een heel stuk makkelijker. De meeste
gebruikers van de Cloud zullen starten met IaaS, wat natuurlijk helpt om je
apps los te koppelen van de onderliggende hardware. PaaS, daarentegen, voegt
een extra laag toe om het Operating System verder abstract te maken, zodat jij
je volledig kan concentreren op de bedrijfslogica van je app. Geen zorgen dus
meer over het Operating System.
On-premise vs Cloud applicaties
Cloud-Native applicatie development vereist een heel
verschillende architectuur dan de traditionele enterprise applicaties.
Hieronder komen enkele aspecten aan bod waar je rekening mee dient te houden.
Talen
On-premise applicaties die geschreven zijn om te runnen op
bedrijfsservers zijn meestal geschreven in de traditionele talen, zoals C/C++,
C# of een andere Visual Studio taal als die ingezet wordt op een Windows Server
platform, en Java.
Cloud-Native apps daarentegen zijn vaker geschreven in een
web-centrale taal, zoals HTML, CSS, Java, JavaScript, .Net, PHP en Python.
Updatebaarheid
Cloud-Native apps zijn altijd up-to-date en beschikbaar.
On-premise apps hebben regelmatig updates nodig en komen meestal op basis van
een abonnement bij een bedrijf vandaan, daarnaast kost het tijd om de updates
te installeren. Hier heb je bij Cloud-Native apps helemaal geen last van.
Flexibiliteit
Cloud-Native apps maken gebruik van de elasticiteit van de Cloud
door gebruik te maken van verhoogde resources wanneer er een piek is in het
aantal gebruikers. Je kunt instellen dat wanneer er een gebruikers piek is in
je app dat er dan extra computing power bij komt zodat je app goed blijft
functioneren. Wanneer de piek over is kun je dat natuurlijk ook weer
uitschakelen. Wanneer je dit eenmaal hebt ingeschakeld kan het programma zelf
heel goed bepalen wanneer dit gedaan moet worden. Een on-premise app kan dit
niet doen. Die heeft namelijk een vastgestelde capaciteit die je permanent moet
upgraden of downgraden.
Verbonden resources
Een on-premise app is nogal star in de verbindingen met de
resources van het netwerk, zoals beveiliging, toegankelijkheid en opslag. De
meeste van deze resources moeten hard-coded zijn, wat betekent dat de
instellingen hiervoor in de bron zitten van waar je je resources vandaan haalt
en dus moeilijk te veranderen zijn. Dankzij het feit dat het hard-coded moet
zijn kunnen deze verbindingen breken als iets veranderd of verplaatst wordt.
De uitdagingen van Cloud-Native computing
Een veel gemaakte fout is dat mensen simpelweg hun oude
on-premise apps naar de Cloud willen tillen. Zoals eerder aangegeven
verschillen de on-premise en Cloud apps vaak in de taal waarin ze geschreven
zijn, je kunt ze dus niet zomaar overzetten. Daarnaast maak je dan niet gebruik
van alle voordelen die de Cloud te bieden heeft ten opzichte van on-premise.
Het weggooien van oude developer methodes is iets heel
lastigs maar absoluut nodig om te slagen in de cloud. Het advies is om
Cloud-Native approaches zoals minimum viable product (MVP), multivariate
testing en rapid iteration te leren en je eigen te maken.
Helemaal in de Cloud bij Master it Training
Om goede Cloud applicaties te maken heb je talen nodig als
HTML, Python en PHP. Maar waar leer je deze? Bij Master it Training natuurlijk!
Je zou bijvoorbeeld kunnen kiezen voor de Training
Microsoft Azure Architect Technologies (AZ-300 examen). Hierbij leer je om in
Azure een Cloud omgeving vorm te geven en te ontwerpen. Daarnaast kun je ook
HTML leren met de Training
Programming in HTML5 with JavaScript and CSS3. HTML wordt gezien als een
van de makkelijkste programmeertalen, dus als je nog niet zo thuis bent in
programmeren is dit misschien iets voor jou.
Python is ook zeker een goede optie om een Cloud mee op te
zetten, het voelt aan als een natuurlijke taal aangezien het goed leesbaar is. Voor
de beginners in Python is de Training
Introduction to Python echt een aanrader, ben je al wat verder in Python
dan is de Training
Advanced Python zeker de moeite waard om eens te proberen. Tot slot mag een
training voor PHP, namelijk de Training
Introduction to PHP, niet ontbreken.
Kun je tussen al deze suggesties door de bomen het bos niet
meer zien? Geen stress, onze experts staan voor je klaar met vrijblijvend
advies op 040 23 23 390. Je kunt daarnaast ook met ze chatten in het
chatvenster rechtsonder in je beeldscherm.
Gerelateerde trainingen
Thuisstudie | AZ-203 Online Training Developing Solutions for Microsoft AzureThuisstudie | AI-100 Online Training Designing and Implementing an Azure AI Solution
Thuisstudie | AZ-500 Online Training Microsoft Azure Security Technologies
Thuisstudie | DP-200 Online Training Implementing an Azure Data Solution
Thuisstudie | AZ-400 Online Training Microsoft Azure DevOps Solutions
Thuisstudie | AZ-301 Online Training Microsoft Azure Architect Design
Thuisstudie | DP-100 Online Training Designing and Implementing a Data Science Solution on Azure
Migrate Open Source Data Workloads to Azure
Migrate SQL workloads to Azure
Developing ASP.NET Core MVC Web Applications