Casa Cloud computing Come la virtualizzazione può potenziare le applicazioni saas

Come la virtualizzazione può potenziare le applicazioni saas

Sommario:

Anonim

La virtualizzazione comprende varie tecnologie informatiche e può essere realizzata sia a livello hardware che a livello software. In un'azienda, la virtualizzazione può migliorare la capacità dei servizi software, in particolare delle applicazioni SaaS. È anche il modo più efficace per le aziende di ridurre i costi IT. Metti insieme virtualizzazione e SaaS e potresti avere una combinazione vincente.

Che cos'è SaaS?

Software as a service (SaaS) è ​​un modello di licenza software in cui il software è concesso in licenza su base di abbonamento ed è ospitato centralmente da un fornitore o un fornitore di servizi. Queste applicazioni software distribuite sono rese disponibili ai clienti su Internet.


SaaS sta diventando popolare tra le tecnologie che supportano l'architettura orientata ai servizi (SOA) o i servizi Web. SaaS offre numerosi vantaggi. I più comuni sono:

  • Amministrazione facile
  • Semplici aggiornamenti e gestione delle patch
  • Compatibilità (tutti gli utenti avranno la stessa versione del software)
  • Accessibilità globale
SaaS è anche considerato parte della nomenclatura del cloud computing insieme a:

  • Gestione della tecnologia dell'informazione come servizio (ITMaaS)

Virtualizzazione e consegna del software

Il concetto di virtualizzazione è stato giustamente adottato e accettato nella comunità di sviluppo software. Ha la capacità di fornire meccanismi di sviluppo e test più rapidi creando rapidamente ambienti di sviluppo e test.


VMware e VBox sono la tecnologia più utilizzata e consentono a più utenti di funzionare su diversi sistemi operativi, versioni e istanze. La maggior parte delle aziende di sviluppo software adotta la tecnica di virtualizzazione adottando prima il meccanismo di virtualizzazione del software e poi gradualmente spostandosi verso la virtualizzazione dell'hardware.

Virtualizzazione e SaaS

Nonostante abbia così tanti vantaggi, SaaS deve ancora ottenere il dovuto credito. Ci sono molti fattori che ne sono responsabili. Questi includono:

  • Enorme costo di avvio: le entrate investite nell'impianto vengono recuperate per un periodo di anni.
  • Può violare i principi del software libero: l'attivista per la libertà del software Richard Stallman si riferisce a SaaS come "servizio come sostituto del software (SaaSS)" e lo considera una violazione dei principi del software libero.


    "Con SaaS, gli utenti non dispongono di una copia del file eseguibile: si trova sul server, dove gli utenti non possono vederlo o toccarlo. Pertanto, è impossibile per loro accertare ciò che fa realmente e impossibile cambiare SaaS offre intrinsecamente all'operatore del server la possibilità di modificare il software in uso o i dati degli utenti su cui viene operato ", ha scritto Stallman sul sito Web GNU.

Un buon esempio di SaaS sulla virtualizzazione è Amazon Web Services (AWS). AWS offre una serie di software e piattaforme. Il software è installato su host virtuali e può essere ridimensionato come e quando richiesto.


Se ci concentriamo oltre l'infrastruttura e i costi di avvio, una volta distribuiti, una piattaforma applicativa SaaS dovrebbe occuparsi solo di riproducibilità. Ogni istanza dell'applicazione basata su SaaS dovrebbe essere identica l'una all'altra. Dovrebbero esserci differenze minime al fine di mantenere il comportamento coerente di ogni istanza dell'applicazione per ciascun cliente e per il team di supporto. Questo viene fatto in modo che abbiano una base uniforme al fine di risolvere eventuali problemi, se necessario. Il tecnico dell'assistenza non vorrebbe scoprire un problema causato da un modulo di libreria mancante per una singola istanza del cliente. Allo stesso modo, nemmeno un cliente vorrebbe sapere che potrebbe esserci un problema in ogni applicazione ordinata perché la società con sede a SaaS non può riprodurre il problema usando gli stessi passaggi per ogni ordine. L'intero processo dovrebbe essere automatizzato per coerenza e vantaggi in termini di costi.

Complessità crescente

Diventa importante comprendere la natura complessa della distribuzione per le applicazioni odierne, che si tratti del modello SaaS o del modello tradizionale. Anche l'applicazione Web più semplice non è più responsabile della gestione del livello di archiviazione dei dati sottostante. La pratica standard è di avere un database, ad esempio MySQL, Oracle, DB2 o SQL Server. La combinazione di questi con stack Web tipici come Java, Ninja, Grails, Rails, ecc., Porta a un'architettura a più livelli che richiede una distribuzione scalabile. Ad esempio, durante la configurazione di un ambiente Rails, abbiamo utilizzato MySQL.


La natura agile delle applicazioni, che consente facili aggiornamenti del software tramite plugin, patch, macro e mashup, può essere facilmente integrata nel modello SaaS. Un'estensione o una patch viene sviluppata per un problema più piccolo, il più delle volte una correzione di bug, che deve essere consegnata come patch sul software esistente. Di solito un cliente non vorrebbe sapere che si è verificato un problema a causa di un vincolo di risorse o di altre circostanze o che è stato creato da un altro cliente.


Secondo Wikipedia, la separazione delle preoccupazioni è la premessa per suddividere un'applicazione in caratteristiche distinte, che minimizza la sovrapposizione delle funzionalità. Con la virtualizzazione in atto, questo concetto può essere applicato all'infrastruttura. La separazione può essere applicata fino alla base per applicazione, per cliente e / o per cluster. Pur continuando a utilizzare l'hardware alla sua massima capacità, offre la possibilità di ridimensionare in orizzontale e in verticale. Ciò è vantaggioso per le applicazioni a tenant singolo che desiderano entrare nel mercato SaaS. La multi-tenancy istantanea sull'hardware sottostante con cambio di codice quasi zero può essere facilmente raggiunta.


Esistono due modelli di distribuzione distribuiti sulla piattaforma SaaS di Contegix. Il fattore di differenziazione dipende da come viene sviluppata l'applicazione:

  • Per supportare un singolo cliente per distribuzione o
  • Supportare più clienti in un'unica distribuzione
L'altro modello di distribuzione comune è quello di fornire un grado più elevato di separazione. Le applicazioni dell'infrastruttura sottostante sono separate in macchine virtuali, ciascuna ridimensionata ai rispettivi livelli richiesti. Oltre al modello a tenant singolo, questo modello consente di ridimensionare non solo i singoli componenti in termini di risorse della macchina virtuale, ma anche il numero di istanze. Questo modello funziona molto bene per istanze di grandi dimensioni o per più applicazioni del cliente.


Indipendentemente dal modello di distribuzione, è molto importante separare il sistema operativo e l'installazione dell'applicazione dai dati dell'applicazione. Questo porta a discussioni su come gli aggiornamenti vengono elaborati e gestiti. Il sistema operativo e l'installazione dell'applicazione dovrebbero prendere in considerazione la quantità di dati volatili, che dovrebbero poter essere sostituiti in qualsiasi momento con una copia aggiornata o una nuova versione.

Come la virtualizzazione può potenziare le applicazioni saas