Exadata X5-2 vs Baies Flash vs AWS: Retour d’experience

Dernièrement le groupe IdKids (Okaidi, Obaibi, Oxybul) a réalisé l’étude d’une partie stratégique de son plan de reprise d’activité (PRA) dont les éléments techniques se sont relevés riches d’enseignements. PREMISEO a réalisé avec son partenaire TECHSYS l’ensemble des tests techniques. C’est pour cela que nous vous en faisons part de ce retour d’experiences sur notre blog : Exadata, Baies Full Flash et Cloud Amazon … tout est expliqué ci-dessous.

Le contexte

IdKids utilise pour la gestion de ses approvisionnements une application centrale à l’entreprise et à son métier.

Cette application étant très critique, la plateforme technique se devait de répondre à deux objectifs majeurs :

  • La disponibilité
  • La performance

C’est pour cela qu’il y a quelques années, IdKids a fait le choix d’investir dans une machine Oracle Exadata X4-2, cette plateforme permettant de répondre aux objectifs de performance requis.

Néanmoins, même si la continuité de la plateforme était assurée par l’architecture de la machine Exadata sous la forme d’un cluster Real Application Cluster, le problème de la reprise d’activité était toujours posé.

Les équipes techniques ont donc établi une liste de plateformes cibles séparées en deux catégories :

  • Les plateformes répondant a un PRA dit « hétérogène » dont le site de secours serait assuré par un ou plusieurs serveurs avec une baie de stockage full flash.
  • Les plateformes répondant à un PRA dit « homogène » dont le site de secours serait assuré par une nouvelle machine Exadata.

Les objectifs

Sur ces plateformes, nous avons réalisé un ensemble de preuves de concept (POC) avec mise en œuvre des environnements à isopérimètre technique (lorsque c’était possible), calibration des plateformes, et lancement d’une série de batchs représentant une nuit de traitements … ces traitements étant bien évidemment, les plus critiques pour l’entreprise.

Les objectifs étaient simples : faire mieux que la machine de production Exadata X4-2 notamment sur une partie sensible du traitement, tout en conservant une application équivalente entre chaque test. En d’autres termes, la phase d’optimisation de l’applicatif se ferait après le choix de la plateforme.

De plus, et afin de ne jouer que sur un minimum de paramètres, nous avons limité les instances à un CPU_COUNT de 12. C’était d’ailleurs une contrainte quant au licencing.

Les environnements techniques

Les différentes plateformes techniques ont dont été installées et configurées par nos soins, mais également avec l’aide des fournisseurs de solutions matérielles.

Sur ces plateformes, nous avons restauré la base de production via RMAN, cette base occupant près d’un Téraoctet de données utiles.

 Plateforme DELL COMPELLENT

Cette plateforme était constituée des éléments suivants :

  • Une baie SC4020 Full Flash disposant de deux volumes spécialisés (un en lecture, l’autre en écriture). Chacun de ces volumes était composé de disque SSD.
  • Un serveur Dell R920 installé sous Redhat Linux 7.1 (64 bits) disposant de 512Go de mémoire vive et de deux cartes HBA (Host Bus Adapter) de type Qlogic
  • Deux switches Dell S5000 LAN / Fiber Channel

Note : Sur cette plateforme, nous n’avons pu réaliser de tests en configuration RAC comme c’était le cas pour la base de production.

Plateforme IBM

Cette plateforme était constituée des éléments suivants :

  • Une baie IBM v840 avec code de V9000 sur les contrôleurs, cette baie disposant de 12 modules de 2 To.
  • Un serveur Lenovo X3650-M4 disposant de 384 Go de mémoire vive et de HBA permettant l’accès fibré à la baie.

Note : Sur cette plateforme, nous n’avons pu réaliser de tests en configuration RAC comme c’était le cas pour la base de production.

Plateforme HP

Cette plateforme était constituée des éléments suivants :

  • Une baie de stockage HP 3PAR 7450 Full Flash équipée de 64 disques SSD 450Go.
  • Deux serveurs DL580 G9 équipés de 20 cores sur puce Intel Xeon E7-8891v3 ainsi que 512Go de mémoire vive par serveur ainsi que de HBA permettant l’accès fibré à la baie.

Note : Sur cette plateforme, nous avons réalisé deux tests : le premier en configuration RAC sur 2 instances, le second sur une instance.

Amazon EC2

Nous avons fait le choix de l’EC2 et non du RDS car nous avions un prérequis de version d’Oracle et donc nous étions dans l’obligation d’installer la version adéquate et les patches nécessaires sur de l’EC2.

Cette plateforme était constituée des éléments suivants :

  • Une instance r3.4xlarge disposant de 122Go de Mémoire vive et de 16 vCPU.
  • 6 volumes EBS type io1 (SSD) provisionnés à 10000 IOPS par volume permettant ainsi de délivrer les 60000 IOPS dont a besoin l’application au plus haut de sa consommation IO.
  • Un VPC, un ensemble de groupes de sécurité, une instance NAT et tout le nécessaire pour isoler la plateforme

Note : Nous avions envisagé la plateforme EC2 sous cluster RAC mais la mise en œuvre de RAC sur l’infrastructure EC2 d’Amazon posait de nombreux problèmes (multicast, adresses local link utilisées par l’infrastructure Amazon et le Clusterware (HAIP) etc.).

Ces problèmes n’étaient pas insurmontables mais n’offraient pas les garanties nécessaires pour une application critique vouée à finir en production.

Machine Exadata X5-2 extreme Performance

Pour ce test, nous avons utilisé une machine mise à disposition par le centre de solution Oracle (OSC) sous configuration 1/8ème de rack et dont les spécifications techniques sont les suivantes :

  • Deux serveurs de 36 cœurs sous puce Intel Xeon E5-2699 v3 disposant de 256Go de mémoire vive et de ports QDR (Quad Data Rate) Infiniband à 40GBit/sec permettant l’accès aux Storage Servers Exadata.
  • Trois serveurs de stockage Exadata X5-2 (Storage servers) disposant de 24 cœurs, 6 cartes PCI Express Flash de 9,6To au total (bruts) pour la technologie Exadata Smart Flash Cache et 12 cartes PCI Express Flash de 1,6To pièce pour le stockage à haute-performance des données.

Le détail des spécifications techniques peut être obtenu en suivant ce lien.

Les résultats

Les résultats obtenus pour la durée globale du traitement sont les suivants :

Resultats POC IdKids

On y remarque les éléments suivants :

  • Les temps de traitement obtenus sur les plateformes disposant de la technologie Flash sont tous meilleurs que ceux obtenus sur la machine Exadata X4-2 vieillissante. Les gains allant de 17 à 45%.
  • Les plateformes On Premise Classiques (IBM, DELL et HP) s’en sortent entre 20 et 30% de gagné par rapport à la plateforme étalon (Exadata X4-2). Léger avantage à DELL et IBM qui obtiennent de meilleurs résultats par rapport à HP. Sur cette plateforme, on remarque que le RAC n’a que très peu d’incidence sur les performances.
  • La plateforme Cloud testée (ici Amazon Web Services) s’en tire avec les honneurs en faisant mieux de 17% par rapport à l’Exadata X4-2. Néanmoins, un ou plusieurs facteurs viennent augmenter les temps de traitements de cette plateforme, il peut s’agir de l’effet de mutualisation des plateformes, ou encore de l’hyperviseur utilisé par Amazon, car ce test était le seul dont l’infrastructure était virtualisée.
  • Enfin la plateforme Exadata X5-2 Extreme Performance mérite bien son nom. En effet, les temps de traitement par rapport à sa grande sœur X4-2 sont meilleurs de 45% en moyenne, soit un temps de batch quasiment divisé par deux.

IdKids a donc fait le choix de l’Exadata X5-2 sur lequel il montera un PRA homogène pour sécuriser la disponibilité de sa plateforme et en augmenter les performances.

 

Si vous êtes intéressé par un projet de ce type afin de mesurer au mieux les avantages et inconvénients de toutes vos plateformes, n’hésitez pas à contacter PREMISEO par mail contact@premiseo.com ou au 06 60 99 70 46.