Une désinformation dangereuse autour du sujet
J’ai très récemment trouvé, sur un site communautaire professionnel un article qui évoquait certains aspects du licensing Oracle sur VMWare comme étant une « légende urbaine ».
L’auteur expliquait qu’installer Oracle sur VMWare n’impliquait pas du tout de licencier tous les processeurs tous les serveurs ESX de l’entreprise : Ce serait une légende urbaine colportée par des commerciaux au mieux ignorants et au pire malhonnêtes.
J’écris donc ces quelques mots pour clarifier ce point : Les règles de licensing Oracle sont très précises en citant ce qui est autorisé. Elles ne citent donc pas ce qui est interdit puisque cela se déduit directement. Pour autant, je vous propose une visite guidée adaptée à notre sujet.
Le partitionnement, la virtualisation selon Oracle
En premier lieu, Oracle définit le « partitionnement » d’un système : C’est la capacité à le découper en sous-système notamment en répartissant les processeurs. Ainsi, un serveur à huit cœurs peut être « découpé » en deux machines de 6 et 2 cœurs. Deux types de partitionnements existent : le logique et le physique. Le physique permet de ne licencier que les cœurs affectés à une « partition ». Le logique quant à lui… ne le permet pas. Il faut licencier tous les cœurs.
Mais comment différencie-t-on un système de partitionnement physique d’un logique ? Simple : Oracle le fait pour vous en dressant unilatéralement la liste dans son document de référence « Oracle Partitioning Policy« . Évidemment, seuls les systèmes dans lesquels l’éditeur a « entière confiance » sont sélectionnés. Et ces systèmes n’incluent pas VMWare… tout simplement.
Le « système » et le vMotion
En second lieu, il se pose donc la question de « ce qu’on partitionne ».
Avec le logiciel VWWare, vous partitionnez en machines virtuelles (VM) un ensemble de serveurs ESXi regroupés dans ce qu’on pourrait appeler une « ferme » ou un « cluster » VMWare. Le « système » est considéré comme composé de tous les serveurs du cluster puisqu’une VM peut migrer vers n’importe quel serveurs du cluster grâce à la technologie vMotion. Oracle considère donc que tous les serveurs ESXi d’un cluster contenant une VM hébergeant Oracle doivent être intégralement licenciés.
Quand le système devient… tout l’univers
En dernier lieu, il reste le point le plus polémique.
Comme écrit précédemment, un cluster regroupe l’ensemble des serveurs vers lesquels une migration vMotion (déplacement à chaud d’une VM) est possible. Dans les versions plus anciennes, une migration vMotion requérait que les machines aient du stockage partagé. On devait donc licencier totalement les serveurs ESXi reliés par du stockage afin d’héberger de l’Oracle. C’est l’époque des « fermes dédiées à Oracle » créé par certains clients. Ils y regroupaient leurs VM Oracle, dans un « coin à part ».
Seulement voilà, VMWare ne cesse de s’améliorer… et les machines virtuelles sont devenues capables de faire du vMotion de plus en plus « loin ».
- Jusqu’en version 5.0, on ne basculait qu’au sein d’un cluster ESXi partageant exactement le même stockage (datastore) : C’était, comme déjà dit, « gérable ».
- En version 5.1 et 5.5, le vMotion est devenu possible entre deux cluster ne partageant pas de stockage mais étant sous le même VCenter. On est donc passé à l’échelle du Datacenter et à une situation bien moins gérable.
- Depuis la version 6.0, VMWare fait des merveilles : Il est possible de faire du VMotion en différents VCenter, stockage, vSphere etc. dès lors qu’ils peuvent communiquer. Même si des câbles, des ports et des routes sont absents, on considère qu’ils peuvent s’ajouter à volonté. Oracle peut donc tourner « n’importe où dans l’entreprise ». Il faut donc alors licencier tous les cœurs de tous les serveurs ESXi de l’entreprise dans le monde.
En conclusion, selon la version de VMWare, faire tourner Oracle sur cette plateforme avec un mode de licence « classique » est difficile voire impossible.
Alors, « bien » ou « pas bien » ? « vrai » ou « faux » ?
Entendons nous bien, il ne s’agit pas ici de justifier ni de critiquer le mode de licencing Oracle. L’objectif est de vous exposer la démarche intellectuelle.
D’ailleurs je me dois de vous parler de ceux qui réfutent cette logique. VMWare a évidemment pris position contre ces règles, et c’est clairement exposé dans leur document « understanding Oracle certification, support and licensing for VMWare environments« . Vous y trouverez beaucoup d’arguments développés très légitimement ainsi qu’une référence à un procès entre Mars et Oracle en 2015. Ces documents pointent les failles du discours qui vous ont sans doute fait lever les sourcils durant cette lecture.
La réalité du risque (et sa gestion ?)
Le problème est donc bien quasiment rhétorique. Pour autant, après de nombreuses missions d’assistance à des clients sur des points de licensing, je peux vous garantir qu’Oracle s’appuie sur les règles que j’ai citées. Dans un cas d’audit de compliance, il vous sera donc demandé un redressement correspondant à l’achat de licence pour tous les cœurs de toute votre entreprise.
Un exemple :
Une machine virtuelle est installée chez vous sur une ferme ESXi de deux serveurs à deux cœurs.
Vous possédez donc deux licences « processor » Oracle (grâce au « core factor » de 0.5).
D’autre part, vous possédez une ferme ESX sur un réseau physique à part et dédié, comportant dix machines à 8 cœurs.
En cas d’audit, vous êtes exposés à un redressement de quatre-vingts cœurs Oracle « prix public », soit 80*0.5*47500= 1 900 000 €. Il faudrait ajouter les trois ans de support rétroactifs également imputés, mais je vous épargne le calcul qui rajoute 70% environ.
Une fois tout cela dit, la question qui reste est donc de savoir : devant de telles conditions, suis je prêt pour aller contester les règles Oracle et surtout leur interprétation ? Vous êtes en droit, tout comme Mars, de voir différemment les choses. Mais aurez vous la force et les moyens de vous faire entendre ?
Quelles solutions se présentent ?
Notre positionnement est donc que face au risque, il vaut mieux accepter les règles du jeu en même temps qu’on accepte d’acheter un logiciel Oracle.
Cette règle VMWare est la plus fortement récriminée. Mais il en existe beaucoup d’autres qui exposent énormément beaucoup de clients. Notre mission est généralement de détecter ces « violations », les expositions et surtout de proposer des remédiations afin de sécuriser ce point « Licensing ». Comme nous disons souvent : une architecture hébergeant de l’Oracle se définit d’abord en fonction des couts et des risques Oracle.
Pour terminer, si vous cherchez des pistes de solution et donc d’optimisme, sachez qu’il en existe.
On peut par exemple souscrire des accords de licences particuliers comme les « Unlimited Licence Agreements« . Il est également possible maintenant de recourir à des systèmes de virtualisation « physique » comme OLVM, basé sur KVM. Il faut également penser au Cloud ou à l’hybride exaCC qui, étrangement, s’avèrent être les meilleures manières de reprendre possession de vos couts de supports, voire de les diminuer à termes.
Il est également possible de se prendre une « assurance conformité » via des logiciels, comme celui d’Aspera, qui surveillent vos assets. C’est particulièrement important pour les options Oracle qui représente un risque très délicat à contrôler. Je leur dédierai d’ailleurs un article prochainement.
N’hésitez pas à me contacter si vous souhaitez plus d’information : Nous avons notamment des opportunités à saisir sur les logiciels de conformité en cette fin d’année 2020.
4 réflexions sur “Oracle et VMware : risques, enjeux et solutions”
Sylvain
Apres avoir pas mal cherché je pense que tu as tord.
L’éligibilité se fait sur les Serveurs et non pas sur la FERME.
Dans les 2 cas VMWARE ou Physique on doit acheter 16 SE2
Bonjour Bruno,
Une ferme VMWare est considérée (au même titre qu’un RAC) comme une configuration « Cluster ». La SE autorise 4 sockets au maximum dans la « configuration cluster ». Ainsi, de la même manière qu’on ne pouvait « licensier » un cluster RAC en SE avec plus de 4 sockets, on ne peut « licensier » une ferme VMWare avec plus que ces 4 mêmes : il faut passer en EE. La règle d’Oracle sur SE2 est encore plus restrictive en page 39 : « Oracle Database Standard Edition 2 may only be licensed on servers that have a maximum capacity of 2 sockets. When used with Oracle Real Application Clusters, Oracle Database Standard Edition 2 may only be licensed on a maximum of 2 one-socket servers. »
Je n’ai personnellement aucun doute sur cette règle vu les dizaines de cluster SE à deux noeuds de deux sockets que j’ai rencontrés. Si plus avait été possible, les clients ne se seraient pas bridés.
J’en veux également pour preuve qu’aucun client ne veut mettre ne serait ce qu’une seule VM en SE/SE2 au sein de son cluster VMWare, sachant qu’il devra licencier tous ses ESX sous vmware en EE.
En revanche, je suis très intéressé par les références qui t’amènent à penser que je me trompe. Je voudrais les éplucher et les challenger pour ma culture personnelle.
La question qui se pose est la suivante.
Comment s’applique l’éligibilité ?
Si on a 8 Serveurs Bi Sockets Quad Core :
Peut on acheter 16 Sockets SE2
Doit on acheter 8*2*4*0.5 Licences EE
Merci de la réponse
Bruno,
Si l’ensemble est sur VMWare, alors une ferme comportant plus de 2 processeurs est interdite (depuis la SE2, c’était 4 en SE). C’est pour cela que le RAC en SE2 devient bien moins intéressant. D’ailleurs il disparait des accords de licence SE2 à partir de la 19c…
On doit donc effectivement passer en EE et donc acheter 8*2*4*0.5 Licences EE
Si maintenant on parle de machines standalones non regroupées, on peut alors acheter effectivement 16 licence « processor » SE2 et non pas de la l’édition Enterprise