De vier kernverschillen tussen 'app' en 'cloudapp'

bliksem

Artikelgereedschap

  • Tip ons
  • Printen
  • Reacties (2)
2x Aanbevolen

Gepubliceerd: Dinsdag 20 juli 2010
Auteur: Michiel van Blommestein

Applicatie-infrastructuren trekken steeds meer richting cloud, of dat nou publieke of privé-clouds zijn. Dat heeft consequenties voor de manier waarop ontwikkelaars te werk moeten gaan.

Het is niet voor niets dat allerlei ontwikkelplatformen beschikbaar zijn gekomen waarmee ontwikkelaars applicaties voor de cloud kunnen bouwen. Denk aan Amazon, de Google App Engine of Azure van Microsoft. Maar die ontwikkeling van cloud-ontwikkelplatformen betekent ook dat ontwikkelaars zich bepaalde nieuwe principes eigen moeten maken.

"In de perfecte wereld hoeven ontwikkelaars niet na te denken over waar hun applicatie draait, of dat nou is in een eigen datacenter, op een lokaal systeem, in het datacenter van een partner, in een publieke cloud of private cloud", zegt Soma Somasegar, vice-president van de developer-divisie van Microsoft, tegen Webwereld. "Dan kunnen ze zich toeleggen op een paar architecturele kernprincipes, en kunnen ze los gaan."

Maar een perfecte wereld is het nog niet. Daarom noemt Somasegar een aantal basisprincipes die ontwikkelaars volgens hem in het oog moeten houden, als ze gaan ontwikkelen voor een cloud-infrastructuur. Het maakt daarbij niet uit welk platform ze gebruiken: de volgende vier zaken zijn voorbeelden van intrinsieke verschillen tussen het ontwikkelen van een 'klassieke' applicatie, en het ontwikkelen van een op de cloud gebaseerde applicatie.

Multitenancy

Het maakt voor een applicatie veel uit of hij voor gebruikers binnen een gesloten omgeving moet draaien, of juist meerdere gebruikers onafhankelijk van elkaar moet bedienen. "Om te beginnen moet je de applicatie zo ontwerpen dat die tegelijk kan draaien binnen verschillende hardware-omgevingen", legt Somasegar uit.

Waar een applicatie bij een lokaal systeem te maken heeft met slechts één configuratie, moet een cloudapplicatie het zonder die informatie doen omdat meerdere instances bediend dienen te worden. "Het voordeel van het on-premise draaien van een applicatie is dat je precies weet wat de configuratie is. In de cloud is dat anders, daar is het een dynamisch geheel. Het kan constant veranderen." Om die reden, zegt Somsegar, is multitenancy een steeds belangrijker wordend principe bij het ontwikkelen van applicaties.

Gedistribueerd

In programmeerland wordt het al als uiterst lastig ervaren om voor hetzelfde programma meerdere threads te gebruiken. Met cloud-infrastructuren wordt dat naar een ander niveau getild. "Je moet je applicatie opdelen in blokken die je kunt verdelen over verschillende machines", zegt Somasegar. Meerdere processen kunnen dan tegelijk worden uitgevoerd, voor meerdere gebruikers. "Ik noem dit 'distributed computing', maar je kunt het ook 'parallel computing' noemen", zegt Somasegar.

Beheer is compleet anders

Het is voor beheerders noodzakelijk dat ontwikkelaars rekening houden met de beperkingen die een applicatie-infrastructuur in de cloud op beheergebied met zich mee brengt. "Bij on-premise heeft de applicatiebeheerder bijvoorbeeld toegang tot de fysieke machine", noemt Somasegar. "De dingen die je als beheerder eerst kon doen door domweg achter het systeem te kruipen, moet je nu op een andere manier aanpakken." De ontwikkelaars krijgen daarmee volgens Somasegar een extra taak. "Ze moeten ervoor zorgen dat de onderliggende architectuur geschikt is voor zaken als beheer op afstand."

Schaal is een kernprincipe

Als laatse noemt Somasegar iets dat in een notendop alle elementen meeneemt die ontwikkelaars in hun achterhoofd moeten houden als ze 'voor de cloud' aan het ontwikkelen zijn: hun applicatie dient niet 'voor de cloud' ontwikkeld te worden, maar moet uiteindelijk overal ingezet kunnen worden. Schaalbaarheid wordt vaak pas achteraf ingecalculeerd. Ontwikkelaars bouwen een applicatie voor een bepaald doel, en pas later wordt bedacht hoe het voor andere doeleinden wordt aangepast, zo omschrijft Somasegar de situatie. "Die gedachte mag je bij het ontwikkelen voor de cloud eigenlijk niet bezigen. Maar zo ver zijn we nog niet."

Dit artikel is onderdeel van een special waarin Webwereld dieper ingaat op aspecten van applicatie infrastructuur.

Relevante whitepapers

Alle whitepapers >>

Nieuwsbrief

Ontvang dagelijks een overzicht van het laatste ICT-Nieuws in uw mailbox

Whitepapers

  • Maximaliseer het voordeel van SaaS

    Cloud-applicaties hebben grote invloed op het gebruik van de IT-architectuur en niet ieder project levert de verwachte voordelen op.

    Downloaden
  • Houdt grip op UC-uitdagingenUnified communications biedt heel veel, maar heeft ook specifieke uitdagingen!
  • Kostenbesparing voor long tail appsOplossing voor kostenkwesties in VDI. Technologie geschikt voor long tail apps.
» Meer whitepapers

Peiling

Loading Poll

Video: Review: HTC One X-smartphone met vijf...

Review: HTC One X-smartphone met vijf cores (video)