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 Cloud 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.

Verschillen tussen Cloud-Native en on-premise 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.