Table des matières:
- Qu'est-ce que le SaaS?
- Virtualisation et livraison de logiciels
- Virtualisation et SaaS
- Complexité croissante
La virtualisation englobe diverses technologies informatiques et peut être réalisée à la fois au niveau matériel et au niveau logiciel. Dans une entreprise, la virtualisation peut améliorer la capacité des services logiciels, en particulier les applications SaaS. C'est également le moyen le plus efficace pour les entreprises de réduire leurs coûts informatiques. Mais associez virtualisation et SaaS et vous obtiendrez peut-être une combinaison gagnante.
Qu'est-ce que le SaaS?
Le logiciel en tant que service (SaaS) est un modèle de licence logicielle dans lequel le logiciel est concédé sous licence et est hébergé de manière centralisée par un fournisseur ou un fournisseur de services. Ces applications logicielles distribuées sont mises à la disposition des clients sur Internet.
Le SaaS devient populaire parmi les technologies qui prennent en charge l'architecture orientée services (SOA) ou les services Web. Le SaaS présente de nombreux avantages. Les plus courants sont:
- Administration facile
- Mises à jour et gestion des correctifs faciles
- Compatibilité (tous les utilisateurs auront la même version du logiciel)
- Accessibilité globale
- Gestion des technologies de l'information en tant que service (ITMaaS)
Virtualisation et livraison de logiciels
Le concept de virtualisation a été correctement adopté et accepté dans la communauté du développement logiciel. Il a la capacité de fournir des mécanismes de développement et de test plus rapides en créant rapidement des environnements de développement et de test.
VMware et VBox sont la technologie la plus utilisée et permettent à plusieurs utilisateurs de s'exécuter sur différents systèmes d'exploitation, versions et instances. La plupart des entreprises de développement logiciel adoptent la technique de virtualisation en adoptant d'abord le mécanisme de virtualisation logicielle puis en se déplaçant progressivement vers la virtualisation matérielle.
Virtualisation et SaaS
Malgré ses nombreux avantages, le SaaS n'a pas encore obtenu le crédit qui lui est dû. De nombreux facteurs en sont responsables. Ceux-ci inclus:- Coût de démarrage énorme: les revenus investis dans l'installation sont récupérés sur plusieurs années.
- Il peut violer les principes du logiciel libre: le militant de la liberté logicielle Richard Stallman qualifie le SaaS de "service en tant que substitut de logiciel (SaaSS)" et considère qu'il s'agit d'une violation des principes du logiciel libre.
"Avec le SaaS, les utilisateurs n'ont pas de copie du fichier exécutable: il se trouve sur le serveur, où les utilisateurs ne peuvent ni le voir ni le toucher. Il leur est donc impossible de savoir ce qu'il fait réellement et impossible de changer Le SaaS donne intrinsèquement à l'opérateur du serveur le pouvoir de modifier le logiciel utilisé ou les données des utilisateurs qui sont exploitées ", a écrit Stallman sur le site Web de GNU.
Si nous nous concentrons au-delà de l'infrastructure et des coûts de démarrage, une fois déployée, une plate-forme d'application SaaS ne devrait se soucier que de la reproductibilité. Chaque instance de l'application basée sur SaaS doit être identique. Il devrait y avoir des différences minimales afin de maintenir le comportement cohérent de chaque instance d'application pour chaque client et pour l'équipe de support. Ceci est fait afin qu'ils aient une base uniforme afin de résoudre tout problème, si nécessaire. L'ingénieur de support ne souhaite pas découvrir un problème causé par un module de bibliothèque manquant pour une seule instance client. De même, un client ne souhaite pas non plus savoir qu'il pourrait y avoir un problème dans chaque application commandée car la société basée sur le SaaS ne peut pas reproduire le problème en utilisant les mêmes étapes pour chaque commande. L'ensemble du processus doit être automatisé pour des raisons de cohérence et de rentabilité.
Complexité croissante
Il devient important de comprendre la nature complexe du déploiement pour les applications d'aujourd'hui - que ce soit le modèle SaaS ou le modèle traditionnel. Même l'application Web la plus simple n'est plus responsable de la gestion de la couche de stockage de données sous-jacente. La pratique standard consiste à avoir une base de données, par exemple, MySQL, Oracle, DB2 ou SQL Server. La combinaison de ces éléments avec des piles Web typiques telles que Java, Ninja, Grails, Rails, etc., conduit à une architecture à plusieurs niveaux exigeant un déploiement évolutif. Par exemple, lors de la configuration d'un environnement Rails, nous avons utilisé MySQL.
La nature agile des applications, qui permet des mises à niveau faciles du logiciel via des plugins, des correctifs, des macros et des mashups, peut facilement être intégrée dans le modèle SaaS. Une extension ou un correctif est développé pour un problème plus petit, la plupart du temps une correction de bogue, qui doit être fourni sous forme de correctif sur le logiciel sortant. Habituellement, un client ne souhaite pas entendre qu'un problème est survenu en raison d'une contrainte de ressources ou d'autres circonstances, ou qu'il est créé par un autre client.
Selon Wikipedia, la séparation des préoccupations est la prémisse de la décomposition d'une application en fonctionnalités distinctes, ce qui minimise le chevauchement des fonctionnalités. Avec la virtualisation en place, ce concept peut être appliqué à l'infrastructure. La séparation peut être appliquée à la base par application, par client et / ou par cluster. Tout en utilisant le matériel à sa capacité maximale, il offre la possibilité d'évoluer horizontalement et verticalement. Cela est avantageux pour les applications à locataire unique qui souhaitent pénétrer le marché SaaS. La mutualisation instantanée sur le matériel sous-jacent avec un changement de code proche de zéro peut être obtenue facilement.
Il existe deux modèles de déploiement déployés sur la plate-forme SaaS de Contegix. Le facteur de différenciation dépend de la façon dont l'application est développée:
- Pour prendre en charge un seul client par déploiement, ou
- Pour prendre en charge plusieurs clients sur un même déploiement
Quel que soit le modèle de déploiement, il est très important de séparer le système d'exploitation et l'installation de l'application des données d'application. Cela conduit à des discussions sur la façon dont les mises à niveau sont traitées et gérées. Le système d'exploitation et l'installation de l'application doivent prendre en compte la quantité de données volatiles, qui doivent pouvoir être remplacées à tout moment par une copie actualisée ou une nouvelle version.