Huis Cloud computing Hoe virtualisatie SaaS-applicaties kan ondersteunen

Hoe virtualisatie SaaS-applicaties kan ondersteunen

Inhoudsopgave:

Anonim

Virtualisatie omvat verschillende computertechnologieën en kan zowel op hardwareniveau als op softwareniveau worden bereikt. In een onderneming kan virtualisatie het vermogen van softwarediensten verbeteren, met name SaaS-toepassingen. Het is ook de meest effectieve manier voor bedrijven om hun IT-kosten te verlagen. Maar stel virtualisatie en SaaS samen en je hebt misschien een winnende combinatie.

Wat is SaaS?

Software as a service (SaaS) is een softwarelicentiemodel waarbij de software op basis van een abonnement wordt gelicentieerd en centraal wordt gehost door een leverancier of een serviceprovider. Deze gedistribueerde softwareapplicaties worden beschikbaar gesteld aan klanten via internet.


SaaS wordt populair in alle technologieën die servicegeoriënteerde architectuur (SOA) of webservices ondersteunen. SaaS biedt tal van voordelen. De meest voorkomende zijn:

  • Eenvoudig beheer
  • Eenvoudig updates en patchbeheer
  • Compatibiliteit (alle gebruikers hebben dezelfde versie van de software)
  • Wereldwijde toegankelijkheid
SaaS wordt ook beschouwd als onderdeel van de cloudcomputernomenclatuur, samen met:

  • Beheer van informatietechnologie als een service (ITMaaS)

Virtualisatie en softwarelevering

Het concept van virtualisatie is terecht overgenomen en geaccepteerd in de software-ontwikkelingsgemeenschap. Het biedt de mogelijkheid om snellere ontwikkel- en testmechanismen te bieden door snel ontwikkel- en testomgevingen te creëren.


VMware en VBox zijn de meest gebruikte technologie en kunnen meerdere gebruikers op verschillende besturingssystemen, versies en exemplaren draaien. De meeste softwareontwikkelingsondernemingen passen de virtualisatietechniek toe door eerst het softwarevirtualisatiemechanisme te gebruiken en vervolgens geleidelijk over te gaan op hardware-virtualisatie.

Virtualisatie en SaaS

Ondanks zoveel voordelen, moet SaaS nog de eer krijgen. Er zijn veel factoren die hiervoor verantwoordelijk zijn. Waaronder:

  • Enorme opstartkosten: de geïnvesteerde inkomsten in de installatie worden over een periode van jaren terugverdiend.
  • Het kan de principes van vrije software schenden: softwarevrijheidsactivist Richard Stallman verwijst naar SaaS als "service als een softwarevervanger (SaaSS)" en beschouwt het als een schending van de principes van vrije software.


    "Met SaaS hebben de gebruikers geen kopie van het uitvoerbare bestand: het bevindt zich op de server, waar de gebruikers het niet kunnen zien of aanraken. Het is dus onmogelijk voor hen om te bepalen wat het echt doet, en onmogelijk om te wijzigen SaaS geeft de serveroperator inherent de mogelijkheid om de gebruikte software of de gegevens van de gebruikers die worden gebruikt te wijzigen, "schreef Stallman op de GNU-website.

Een goed voorbeeld van SaaS via virtualisatie is Amazon Web Services (AWS). AWS biedt een scala aan software en platforms. De software is geïnstalleerd op virtuele hosts en kan naar behoefte worden opgeschaald of verkleind.


Als we ons verder richten dan de infrastructuur en de opstartkosten, moet een SaaS-applicatieplatform, eenmaal geïmplementeerd, zich alleen bezighouden met reproduceerbaarheid. Elke instantie van de op SaaS gebaseerde applicatie moet identiek zijn aan elkaar. Er moeten minimale verschillen zijn om het consistente gedrag van elke applicatie-instantie voor elke klant en voor het ondersteuningsteam te behouden. Dit wordt gedaan zodat ze een uniforme basis hebben om eventuele problemen op te lossen, indien nodig. De ondersteuningsingenieur wil niet een probleem ontdekken dat wordt veroorzaakt door een ontbrekende bibliotheekmodule voor één exemplaar van een klant. Evenmin zou een klant willen weten dat er een probleem zou kunnen zijn in elke bestelde applicatie omdat het op SaaS gebaseerde bedrijf het probleem niet kan reproduceren met dezelfde stappen voor elke bestelling. Het hele proces moet worden geautomatiseerd voor consistentie en kostenvoordelen.

Toenemende complexiteit

Het wordt belangrijk om de complexe aard van de implementatie voor hedendaagse applicaties te begrijpen, of het nu het SaaS-model of het traditionele model is. Zelfs de eenvoudigste webtoepassing is niet langer verantwoordelijk voor het beheer van de onderliggende gegevensopslaglaag. De standaardpraktijk is om een ​​database te hebben, bijvoorbeeld MySQL, Oracle, DB2 of SQL Server. De combinatie hiervan met typische webstapels zoals Java, Ninja, Grails, Rails, enz. Leidt tot een architectuur met meerdere lagen die schaalbare implementatie vereist. Bij het opzetten van een Rails-omgeving hebben we bijvoorbeeld MySQL gebruikt.


De behendige aard van applicaties, die eenvoudige upgrades van de software mogelijk maakt via plug-ins, patches, macro's en mashups, kan eenvoudig worden geïntegreerd in het SaaS-model. Een extensie of een patch is ontwikkeld voor een kleiner probleem, meestal een bugfix, die als patch op de bestaande software moet worden geleverd. Gewoonlijk zou een klant niet graag horen dat er een probleem is opgetreden vanwege een beperkte resource of andere omstandigheden, of dat het door een andere klant is gemaakt.


Volgens Wikipedia is het scheiden van zorgen het uitgangspunt om een ​​toepassing op te splitsen in afzonderlijke functies, waardoor de functionaliteit overlapt. Met virtualisatie kan dit concept worden toegepast op de infrastructuur. Scheiding kan worden toegepast tot op basis van de toepassing, per klant en / of per cluster. Hoewel de hardware nog steeds op zijn maximale capaciteit wordt gebruikt, biedt het de mogelijkheid om horizontaal en verticaal te schalen. Dit is gunstig voor toepassingen met één huurder die de SaaS-markt willen betreden. Onmiddellijke multitenancy op de onderliggende hardware met vrijwel nul codewijziging kan eenvoudig worden bereikt.


Er zijn twee implementatiemodellen geïmplementeerd op het SaaS-platform van Contegix. De onderscheidende factor hangt af van hoe de applicatie is ontwikkeld:

  • Om één klant per implementatie te ondersteunen, of
  • Ter ondersteuning van meerdere klanten bij een enkele implementatie
Het andere veel voorkomende implementatiemodel is om een ​​hogere mate van scheiding te bieden. De onderliggende infrastructuurapplicaties zijn gescheiden in virtuele machines, elk geschaald op de respectieve vereiste niveaus. Afgezien van het single-tenant-model, maakt dit model het mogelijk om niet alleen de afzonderlijke componenten in termen van virtuele machinebronnen te schalen, maar ook het aantal instanties. Dit model dient zeer goed voor grote instanties of meerdere klantentoepassingen.


Ongeacht het implementatiemodel, is het erg belangrijk om het besturingssysteem en de applicatie-installatie te scheiden van de applicatiegegevens. Dit leidt tot discussies over hoe upgrades worden verwerkt en verwerkt. Het besturingssysteem en de applicatie-installatie moeten rekening houden met de hoeveelheid vluchtige gegevens, die op elk moment kunnen worden vervangen door een vernieuwde kopie of een nieuwe versie.

Hoe virtualisatie SaaS-applicaties kan ondersteunen