Wat is nieuw aan cloud-based ontwikkelen?

 
06 juni 2010

Cloud computing is hip. Salesforce, Google apps en wat niet al meer worden vaak voor eindgebruikers van software als cloud-based oplossingen gepresenteerd. Maar wat is nu precies het verschil voor software ontwikkelaars als je echt software gaat maken voor één van de grote cloud platformen?

Allereerst hieronder even een kort plaatje ter verduidelijking. Ik heb drie lagen geschetst waar voor software ontwikkelaars eigenlijk alleen de groene tegenwoordig nog van belang is. We hebben vrijwel niet meer te maken met hardware-inrichting: vaak hebben we te maken met een bepaalde virtuele infrastructuur waar al naargelang de vereisten die later veranderen ook een bepaalde rek in zit.
Platform en diverse benodigde services die op deze virtuele structuur draaien hebben we wel degelijk mee te maken, en virtualisatie blijft het concept van een ‘machine’ vasthouden. Je leeft binnen de beperkingen van deze (nu weliswaar virtuele) machine en moet je daarop aanpassen. Je zult dus met je non-functional requirements aan de slag moeten voor het bepalen van de benodigde capaciteit van je machine.

Focus_SoftwareEngineer

Als we bovenstaand plaatje projecteren over allereerst Amazon EC2 als platform, maar ook Windows Azure van Microsoft, dan verandert er niet veel. Er wordt nog steeds gesproken in termen van ‘machines’ die je zult moeten configureren. Development in de cloud op die platformen verandert daar niets aan.

Hoe anders is het op de Google Appengine. Het meest essentiële verschil is wel dat daar het concept machine totaal losgelaten is. Je spreekt slechts in termen van applicaties die, weinig verrassend, exact samenhangen met je ontwikkelde stuk software. Je moet je non-functionals dan ook wel degelijk in de gaten houden (hoe meer resources je gebruikt hoe meer je moet gaan betalen) maar dat is volgens een heel ander model.

AppengineAbstractions

Een ander interessant verschil is wel dat je je kunt richten op applicatieontwikkeling, niet of nauwelijks bezig bent met deployment en/of configuratie dus al snel zo’n 10 à 20 % overhead kunt wegstrepen. Als je daarbij optelt dat je authenticatie/autorisatie van Google cadeau krijgt (ook dat is ‘infrastructuur’ geworden) en je op de Appengine als enig mij bekend platform kleine applicaties gratis kunt draaien dan lijkt mij de keuze als je de cloud in wilt als ontwikkelaar snel gemaakt :).


Werken met ?
Kijk dan bij onze mogelijkheden voor starters en/of ervaren IT'ers.


Categorieën: Development