Platform-As-A-Service (PAAS) is een van de servicemodellen die wordt geassocieerd met Cloud computing. In dit model speelt de softwareomgeving een spilfunctie bij het creëren van een softwareoplossing op maat. Een PAAS-platform biedt een geïntegreerde ontwikkelomgeving met alle benodigde tools om een geavanceerde Cloud-applicatie te creëren en te implementeren. Dit artikel gaat in op de basisprincipes van dit model en leert tegelijkertijd over het concept in relatie tot andere servicemodellen en beschikbare tools.
Een overzicht
Er zijn drie basismodellen voor cloudservices:IAAS, PAAS en SAAS. Onder hen zijn PAAS en IAAS nauw verwant. De overeenkomst ligt in hun doel; beide proberen het probleem van het effectief beheren en publiceren van softwarediensten aan de eindgebruiker op te lossen. Het onderscheid zit hem echter in de manier waarop ze hun diensten leveren. In IAAS ligt de focus bijvoorbeeld op het leveren van infrastructuur als primaire resource. Het assimileert verschillende infrastructurele componenten zoals virtuele machines, containers, netwerken en andere gerelateerde diensten onder de vlag van één enkel standaardraamwerk. De beheerder en engineers rollen vervolgens resources uit in de vorm van applicaties en services. De inherente samenhang van dit model maakt het gemakkelijk te beheren en zorgt voor een snelle end-to-end infrastructuurlevering.
PAAS daarentegen neemt code als eerste benadering. De ontwikkelaars en programmeurs gebruiken een reeks programmeertalen en frameworks om de software-oplossing te ontwikkelen en aan de service-end in te zetten. PaaS-servicetechnici hoeven de onderliggende low-level infrastructuur vaak niet te configureren of zelfs maar te begrijpen, omdat het allemaal voor hen wordt gedaan. Dit is het onderscheid waar IAAS voor deze componenten zorgt, terwijl PAAS zich richt op het leveren van het platform voor softwarediensten.
In feite vervaagt het onderscheid tussen Cloud-servicemodellen vaak omdat de modellen nauw met elkaar verbonden zijn in een piramidale structuur. De softwarediensten die door PAAS worden geleverd, hebben de platforminfrastructuur nodig om zaken als opslagruimte, geheugen, verwerkingskracht, enzovoort uit te voeren. Zonder deze kunnen we geen platform krijgen (PAAS), en zonder dat het platform gereed is, kunnen we de software-oplossing (SAAS) niet draaien. Daarom is er een klein verschil als we dieper in het Cloud-servicemodel duiken. Dit kan mooi worden geïllustreerd met een piramidestructuur, zoals weergegeven in figuur 1.
Figuur 1: De piramide van softwarediensten
Het PAAS-servicemodel
Dit model beschrijft software die de runtime-omgeving, ontwikkelings- en implementatietools biedt. Een softwareontwikkelaar gebruikt deze omgeving en tools om een softwareoplossing op maat te maken. Het platform bevat een reeks ontwikkeltalen, applicatieframeworks en andere constructietools, zoals aanwijzen en klikken tools die zelfs niet-ontwikkelaars helpen bij het maken van een softwareoplossing. De PAAS-tool biedt vaak een volledig geïntegreerde ontwikkelomgeving om u te helpen, vanaf de kickstart-ontwikkeling tot de implementatie ervan als onderdeel van de service. Het heeft ook een volwaardige standaardondersteuning voor het ontwerpen van gebruikersinterfaces, zoals HTML, JavaScript en andere rich media-technologieën.
Eindgebruikers in PAAS zijn over het algemeen programmeurs, ontwikkelaars, geeks en zelfs semi-technische personen, of kunnen iedereen zijn die weet hoe hij met het platform en de tools moet werken. Natuurlijk varieert de mate van interactie van het louter invoeren van gegevens tot het ophalen ervan om een complete geavanceerde oplossing te creëren. Dit wordt bepaald door de mate van vrijheid van functionaliteit die de platformaanbieder toestaat. De PAAS-eindgebruiker hoeft noch de hardware noch de software te onderhouden of te beheren. De enige rol die zij spelen is het gebruik van de omgeving voor ontwikkeling. Kortom, de PAAS-serviceprovider is dus verantwoordelijk voor alle operationele activiteiten, het onderhoud en het beheer van de eigen productlevenscyclus.
Enkele belangrijke voordelen van het PAAS-model zijn:
- Weinig onderhoud en aanschaf dure hardware, servers, opslagruimte, verwerkingskracht, enzovoort.
- Lage onderhoudskosten; de Cloud service provider neemt de verantwoordelijkheid voor de administratie op zich.
- De service kan op aanvraag snel omhoog of omlaag worden geschaald.
Er zijn ook enkele problemen met PAAS.
- Vanwege platformafhankelijkheid is draagbaarheid een probleem.
- Omdat gegevens worden bewaard in cloudopslag, is beveiliging een probleem.
PAAS-ontwikkeling
PAAS biedt een groot aantal services die de applicatie-infrastructuur, het besturingssysteem en de middleware abstraheren, samen met een team van ontwikkelaars om een softwareoplossing te bouwen, testen en implementeren met weinig IT-hulp. Er zijn selfservice en on-demand tools, bronnen, automatisering en platformruntime-containers die helpen bij het beheer van de levenscyclus van applicaties (zie afbeelding 2).
Figuur 2: Het PAAS-servicemodel
Afgezien van schaalmogelijkheden, biedt het platform hoge beschikbaarheid samen met automatische configuratie, beheer en taakverdelingstools.
PAAS stelt zijn meerdere exemplaren bloot in de Cloud-omgeving. Als gevolg hiervan kan het op een afzonderlijke manier inspelen op een geïsoleerde zakelijke behoefte. Dit is cruciaal voor toepassingen met nalevingsproblemen of zoals intern gerichte versus extern gerichte sets van toepassingen. De normen voor het bouwen van tools en applicaties zijn echter gebruikelijk voor ontwikkelaars, zelfs als ze in afzonderlijke kopieën van omgevingen werken. De PAAS-service kan lokale bronnen en gegevens samenvoegen om de applicatie een persoonlijk tintje te geven voor een verscheidenheid aan webservices.
IAAS levert de bouwstenen voor een efficiënte PAAS. Dit komt omdat ontwikkelaars die in een cloudomgeving bouwen, meer flexibiliteit krijgen als ze diepe toegang hebben tot de onderliggende infrastructuur van het platform. Toegang tot applicatieservers, webservers en databases maakt het voor ontwikkelaars gemakkelijk om de capaciteit en kwaliteit van de geleverde service op of af te schalen. Dit is niet alleen van vitaal belang voor de toepassing, maar ook voor de algehele PAAS-mogelijkheden.
PAAS-tools
De Google App-engine is een van de populaire voorbeelden van het PAAS Cloud-servicemodel. Het publiceert API's die door de programmeurs worden gebruikt om een softwareoplossing te creëren. Google biedt ook de nodige tools, zoals een ontwikkelingsframework, bestandssysteem en opslag. De leveranciers die een PAAS-oplossing maken met behulp van Google API's, zijn in feite ontwikkelaars die de klant de volledige oplossing bieden. In dit opzicht treedt Google ook op als PAAS-leverancier die veel webservices aanbiedt aan ontwikkelaars. Ook Google Maps, Google Earth, Gmail en dergelijke zijn enkele van de services die aan de klanten worden aangeboden en die toepasselijk SAAS-services worden genoemd, maar als geheel voldoen ze ook aan het PAAS-servicemodel.
Het probleem met het PAAS-servicemodel is dat het zowel de ontwikkelaar als de eindgebruiker bindt aan een specifiek platform dat door de leverancier wordt aangeboden. Een applicatie die is gebouwd met behulp van de Google API en werkt in Google App Engine, is bijvoorbeeld bedoeld om alleen in die specifieke omgeving te werken. Daarom is de mogelijkheid van uitbreidbaarheid buiten de ondersteuning van een specifieke leverancier vrij beperkt.
Er zijn momenteel steeds meer PAAS-leveranciers op de markt. Ze bieden diensten aan als onderdeel van private en publieke clouddiensten. Google, Amazon Web Services en Facebook richten zich bijvoorbeeld op zakelijke gebruikers om hun diensten aan te bieden, Red Hat's OpenShift biedt een privé datacenter, Jelastic biedt cloudservices om Java- en PHP-applicaties te bouwen met minimale codering. Het heeft ook internationale hostingpartners en datacenters. Enkele andere namen zijn Salesforce-platform, IBM Bluemix, Oracle Cloud-platform, Windows Azure. Heroku, Ubuntu for Cloud, CloudBees, AppFog, Caspio, Cloud Foundry (open source), Iron Foundry (open source), enzovoort.
Conclusie
In dit internettijdperk is PAAS ideaal voor het bouwen van Cloud-aware applicaties, niet alleen voor computers, maar ook voor veel draagbare apparaten. Dit maakt gebruik van de groeiende trend van kosteneffectieve ondersteuning voor IT-consumenten en ook van Bring Your Own Device (BYOD)-programma's. Een consument heeft dezelfde applicatie nodig die niet alleen op zijn computer beschikbaar is, maar ook op veel draagbare apparaten, zoals mobiele telefoons. PAAS heeft het nu mogelijk gemaakt en in de komende jaren zal het onderscheid tussen verschillende cloudservicemodellen vrij irrelevant zijn.