Indholdsfortegnelse:
Virtualisering omfatter forskellige computerteknologier og kan opnås både på hardwareniveau og på softwareniveau. I en virksomhed kan virtualisering øge muligheden for softwaretjenester, især SaaS-applikationer. Det er også den mest effektive måde for virksomheder at reducere deres it-omkostninger på. Men sæt virtualisering og SaaS sammen, og du har muligvis en vindende kombination.
Hvad er SaaS?
Software as a service (SaaS) er en softwarelicenseringsmodel, hvor softwaren er licenseret på abonnementsbasis og hostes centralt af en leverandør eller en tjenesteudbyder. Disse distribuerede softwareapplikationer stilles til rådighed for kunder over internettet.
SaaS bliver populært på tværs af teknologier, der understøtter serviceorienteret arkitektur (SOA) eller webservices. SaaS leveres med en række fordele. De mest almindelige er:
- Nem administration
- Nemme opdateringer og patchhåndtering
- Kompatibilitet (alle brugere har den samme version af softwaren)
- Global tilgængelighed
- Management af informationsteknologi som en service (ITMaaS)
Virtualisering og softwarelevering
Begrebet virtualisering er med rette blevet vedtaget og accepteret i softwareudviklingssamfundet. Det har evnen til at levere hurtigere udviklings- og testmekanismer ved hurtigt at skabe udviklings- og testmiljøer.
VMware og VBox er den mest anvendte teknologi, og de gør det muligt for flere brugere at køre på forskellige operativsystemer, versioner og forekomster. De fleste softwareudviklingsvirksomheder anvender virtualiseringsteknikken ved først at anvende softwarevirtualiseringsmekanismen og derefter gradvist bevæge sig hen imod hardwarevirtualisering.
Virtualisering og SaaS
På trods af at have så mange fordele, har SaaS endnu ikke fået sin behørige kredit. Der er mange faktorer, der er ansvarlige for dette. Disse inkluderer:- Enorme opstartomkostninger: De indtægter, der er investeret i opsætningen, inddrives over en periode på år.
- Det kan krænke principperne for fri software: Softwarefrihedsaktivist Richard Stallman omtaler SaaS som "service som en softwareerstatning (SaaSS), " og betragter det som en krænkelse af principperne for fri software.
"Med SaaS har brugerne ikke en kopi af den eksekverbare fil: den er på serveren, hvor brugerne ikke kan se eller røre ved den. Derfor er det umuligt for dem at undersøge, hvad den virkelig gør, og umulig at ændre SaaS giver i sagens natur serveroperatøren beføjelse til at ændre softwaren, der er i brug, eller brugernes data, der drives, ”skrev Stallman på GNU-webstedet.
Hvis vi fokuserer ud over infrastrukturen og opstartomkostningerne, bør en SaaS-applikationsplatform, når den først er implementeret, kun dreje sig om reproducerbarhed. Hver forekomst af den SaaS-baserede applikation skal være identisk med hinanden. Der skal være minimale forskelle for at opretholde den konsistente opførsel af alle applikationsinstanser for hver kunde og for supportteamet. Dette gøres, så de har en ensartet base for at løse eventuelle problemer, hvis det er nødvendigt. Supportingeniøren vil ikke gerne opdage et problem forårsaget af et manglende biblioteksmodul til en enkelt kundeinstans. Tilsvarende vil heller ikke en kunde vide, at der kan være et problem i hver bestilt applikation, fordi det SaaS-baserede firma ikke kan gengive problemet ved hjælp af de samme trin for hver ordre. Hele processen skal automatiseres for konsistens og omkostningsfordele.
Øget kompleksitet
Det bliver vigtigt at forstå den komplekse karakter af implementering til dagens applikationer - det være sig SaaS-modellen eller traditionelle modellen. Selv den enkleste webapplikation er ikke længere ansvarlig for styring af det underliggende datalagringslag. Standard praksis er at have en database, for eksempel MySQL, Oracle, DB2 eller SQL Server. Kombination af disse med typiske webstacks som Java, Ninja, Grails, Rails osv. Fører til en flerlagsarkitektur, der kræver skalerbar implementering. For eksempel brugte vi MySQL, mens vi opsatte et Rails-miljø.
Applikationernes agile karakter, der muliggør let opgradering af softwaren via plugins, patches, makroer og mashups, kan let integreres i SaaS-modellen. En udvidelse eller en patch er udviklet til et mindre problem, for det meste en bug fix, som skal leveres som en patch på den spændende software. Normalt vil en kunde ikke gerne høre, at der opstod et problem på grund af en ressourcebegrænsning eller andre omstændigheder, eller at det oprettes af en anden kunde.
Pr. Wikipedia er adskillelse af bekymringer forudsætningen for at opdele en applikation i forskellige funktioner, hvilket minimerer overlapning af funktionalitet. Når virtualisering er på plads, kan dette koncept anvendes på infrastrukturen. Separation kan anvendes ned til per-applikation, per kunde og / eller per-cluster-basis. Mens den stadig bruger hardwaren til sin maksimale kapacitet, giver den muligheden for at skalere vandret og lodret. Dette er fordelagtigt for applikationer med en lejer, der ønsker at komme ind på SaaS-markedet. Øjeblikkelig multitenance på den underliggende hardware med kodeændring næsten nul kan opnås med lethed.
Der er to implementeringsmodeller, der er implementeret på Contegixs SaaS-platform. Den differentierende faktor afhænger af, hvordan applikationen udvikles:
- At støtte en enkelt kunde per implementering, eller
- At støtte flere kunder på en enkelt distribution
Uanset implementeringsmodellen er det meget vigtigt at adskille operativsystemet og applikationsinstallationen fra applikationsdataene. Dette fører til diskussioner om, hvordan opgraderinger behandles og håndteres. Operativsystemet og applikationsinstallationen skal tage hensyn til mængden af flygtige data, som til enhver tid skal kunne erstattes med en opdateret kopi eller ny version.