Innehållsförteckning:
Virtualisering omfattar olika datorteknologier och kan uppnås både på hårdvarunivå och på mjukvarunivå. I ett företag kan virtualisering öka förmågan hos mjukvarutjänster, särskilt SaaS-applikationer. Det är också det mest effektiva sättet för företag att minska sina IT-kostnader. Men sätt virtualisering och SaaS ihop så kan du ha en vinnande kombination.
Vad är SaaS?
Software as a service (SaaS) är en mjukvarulicenseringsmodell där programvaran är licensierad på prenumerationsbasis och värd centralt av en leverantör eller en tjänsteleverantör. Dessa distribuerade programapplikationer görs tillgängliga för kunder över Internet.
SaaS blir populär bland tekniker som stöder tjänstorienterad arkitektur (SOA) eller webbtjänster. SaaS har många fördelar. De vanligaste är:
- Enkel administration
- Enkla uppdateringar och patchhantering
- Kompatibilitet (alla användare har samma version av programvaran)
- Global tillgänglighet
- Management av informationsteknologi som en tjänst (ITMaaS)
Virtualisering och leverans av mjukvara
Begreppet virtualisering har med rätta antagits och accepterats i mjukvaruutvecklingsgemenskapen. Det har förmågan att ge snabbare utvecklings- och testmekanismer genom att snabbt skapa utvecklings- och testmiljöer.
VMware och VBox är den mest använda tekniken och gör det möjligt för flera användare att köra på olika operativsystem, versioner och instanser. De flesta mjukvaruutvecklingsföretag använder sig av virtualiseringstekniken genom att först anta mjukvaruvirtualiseringsmekanismen och sedan gradvis gå mot hårdvaruvirtualisering.
Virtualisering och SaaS
Trots att de har så många fördelar har SaaS ännu inte fått sin kredit. Det finns många faktorer som ansvarar för detta. Dessa inkluderar:- Enorma startkostnader: Intäkterna som investerats i installationen återvinns under en period av år.
- Det kan bryta mot principerna för fri programvara: Programvarufrihetsaktivisten Richard Stallman hänvisar till SaaS som "tjänst som mjukvarubehandlare (SaaSS)" och anser det vara ett brott mot principerna för fri programvara.
"Med SaaS har användarna inte en kopia av den körbara filen: den finns på servern, där användarna inte kan se eller röra den. Därför är det omöjligt för dem att fastställa vad den verkligen gör och omöjligt att ändra SaaS ger i sig serveroperatören makt att ändra programvaran som används, eller användarens data som används, "skrev Stallman på GNU: s webbplats.
Om vi fokuserar utöver infrastrukturen och startkostnaderna, en gång de har installerats, bör en SaaS-applikationsplattform endast vara upptagen av reproducerbarhet. Varje instans av den SaaS-baserade applikationen ska vara identisk med varandra. Det bör finnas minimala skillnader för att upprätthålla ett konsekvent beteende hos varje applikationsinstans för varje kund och för supportteamet. Detta görs så att de har en enhetlig bas för att felsöka eventuella problem, om det behövs. Supportingenjören vill inte upptäcka ett problem orsakat av en saknad biblioteksmodul för en enda kundinstans. På samma sätt skulle inte heller någon kund vilja veta att det kan finnas problem i varje beställd applikation eftersom det SaaS-baserade företaget inte kan reproducera problemet med samma steg för varje beställning. Hela processen ska automatiseras för konsekvenser och kostnadsfördelar.
Ökande komplexitet
Det blir viktigt att förstå komplexiteten av implementeringen för dagens applikationer - vare sig det är SaaS-modellen eller den traditionella modellen. Även den enklaste webbapplikationen är inte längre ansvarig för att hantera det underliggande lagringsmedlet. Standardmetoden är att ha en databas, till exempel MySQL, Oracle, DB2 eller SQL Server. Att kombinera dessa med typiska webbstackar som Java, Ninja, Grails, Rails etc. leder till en flerskiktsarkitektur som kräver skalbar implementering. Till exempel, medan vi skapade en Rails-miljö, använde vi MySQL.
Den smidiga karaktären av applikationer, som möjliggör enkel uppgradering av programvaran via plugins, patches, makron och mashups, kan enkelt integreras i SaaS-modellen. En förlängning eller en patch utvecklas för en mindre fråga, oftast en bug fix, som måste levereras som en patch på den existerande programvaran. Vanligtvis skulle en kund inte vilja höra att ett problem uppstod på grund av en resursbegränsning eller andra omständigheter, eller att det skapas av en annan kund.
Enligt Wikipedia är separering av oro förutsättningen att dela upp en applikation i distinkta funktioner, vilket minimerar överlappningen mellan funktionalitet. Med virtualisering på plats kan detta koncept tillämpas på infrastrukturen. Separation kan tillämpas ner per per applikation, per kund och / eller per kluster basis. Medan hårdvaran fortfarande används till sin maximala kapacitet ger den möjligheten att skala horisontellt och vertikalt. Detta är fördelaktigt för applikationer med enskilda hyresgäster som vill komma in på SaaS-marknaden. Omedelbar multitenancy på den underliggande hårdvaran med kodändring nära noll kan uppnås med lätthet.
Det finns två distributionsmodeller som distribueras på Contegix SaaS-plattform. Skillnadsfaktorn beror på hur applikationen utvecklas:
- Att stödja en enda kund per distribution, eller
- Att stödja flera kunder på en enda distribution
Oavsett distributionsmodell är det mycket viktigt att separera operativsystemet och applikationsinstallationen från applikationsdata. Detta leder till diskussioner om hur uppgraderingar bearbetas och hanteras. Operativsystemet och applikationsinstallationen bör ta hänsyn till mängden flyktiga data, som bör kunna ersättas när som helst med en uppdaterad kopia eller ny version.
