Le NAP ou Network Access Processing est un nouveau concept mis au point par la
société Azul Systems, fondée par des anciens ingénieurs de Sun.
Le NAP repose sur le déploiement de boitiers hardware
(appliance) contenant un grand nombre de micro-processeurs et leur mise à
disposition aux applications via le réseau. Il s’agit donc d’un dispositif qui
vise à déporter les traitements sur des périphériques spécialisés, à l’image de
ce que fait le NAS pour les systèmes de fichiers.

Comment fonctionne le NAP ?

Prenons l’exemple d’une application serveur classique. Celle-ci est déployée
sur une configuration matérielle nommée host sur laquelle la machine
virtuelle Java est remplacée par un composant logiciel appelé VM Proxy. Au lancement du programme, le VM Proxy dialogue avec un service chargé de l’affectation des ressources CPU qui lui retourne l’adresse IP d’une des appliances Azul. Ensuite, le VM Proxy va transférer sur le boitier la JVM utilisée par l’application et le code exécutable de celle-ci. Les requêtes utilisateurs arrivent quant à elles toujours sur le host, qui délègue leur traitement effectif à l’appliance. Ce sont donc les CPU de cette dernière qui sont le plus sollicités, la serveur host étant en quelque sorte transformé en passe-plat. En revanche, les entrée-sorties réalisés par le code de l’application continuent d’avoir lieu sur l’host, ce qui entraîne nécessairement une augmentation du trafic réseau.

Quels bénéfices en attendre ?

Le NAP offre de nombreux avantages tant sur le plan technique que financier. En voici un rapide condensé :

  • La mise en place est transparente pour les applications car il n’est pas nécessaire de modifier le code source. Il suffit simplement de remplacer la JVM par le VM Proxy d’Azul. Il n’y a pas de changement non plus pour les utilisateurs qui continuent d’utiliser le même serveur.
  • Le taux d’utilisation réel des ressources matérielles augmente sensiblement, car les appliances permettent une consolidation de la capacité de traitement.
  • Il est possible d’augmenter ou de réduire la puissance de traitement allouée à une application par simple paramétrage.
  • La gestion de la mémoire est optimisée de façon beaucoup plus efficace car le garbage collector d’Azul sait tirer partie de l’architecture massivement parallèle des boîtiers et n’entraîne pas de ralentissement des traitements. Par ailleurs, il n’y a plus de limite à la quantité de mémoire gérable par une JVM.

Les appliances

Il existe plusieurs types de boîtiers Azul. Leur puissance de traitement va de 4 à 16 CPU Véga disposant chacun de 24 ou 48 cœurs en fonction des modèles. Au total, chaque appliance héberge donc de 96 à 384 cœurs.

Par ailleurs, ils disposent aussi de 4 à 8 cartes réseaux. Ils sont compatibles avec les principaux Unix (Solaris, AIX, HP-UX, Red Hat et Suse) et serveurs d’application du marché (IBM WebSphere, BEA WebLogic, Oracle, JBoss et Tomcat).

Ce procédé, bien que récent, semble très prometteur sur le papier. Attendons néanmoins d’avoir les premiers retours d’expérience pour voir s’il tient toutes ses promesses.

Plus d’informations sur le NAP ici :