Cinq façons d'accélérer les applications virtuelles

Auteur: Laura McKinney
Date De Création: 2 Avril 2021
Date De Mise À Jour: 1 Juillet 2024
Anonim
Cinq façons d'accélérer les applications virtuelles - La Technologie
Cinq façons d'accélérer les applications virtuelles - La Technologie

Contenu


Source: Viktorus / Dreamstime.com

À emporter:

Apprenez cinq techniques pour accélérer les applications virtuelles sans vous ruiner.

L'une des frustrations liées à la virtualisation des applications et des postes de travail réside dans les performances. Personne ne veut attendre plus d'une seconde ou deux avant qu'une application apparaisse après son lancement. En tant qu'utilisateurs, nous nous attendons à ce que nos applications apparaissent immédiatement après un double-clic sur l'icône. Nous ne savons pas ce qui se passe en arrière-plan pour fournir ces applications entre serveurs, par le biais de pare-feu, d'équilibreurs de charge, par liaison radio ou par fil vers nos ordinateurs de bureau et nos appareils mobiles, et cela ne nous dérange pas. Notre patience collective est épuisée par les promesses d’une technologie plus efficace, plus rapide et plus sûre, et il est temps que les fournisseurs, tout comme le personnel d’assistance, réagissent. À leur tour, les fournisseurs et le personnel d’assistance partagent nos difficultés et ont réagi avec certaines technologies d’accélération offrant des performances équivalentes aux niveaux installés localement.


Pour les utilisateurs, tout est une question de rapidité, mais contrairement aux utilisateurs, architectes, administrateurs système et DSI ne recherchent pas une réponse plus rapide aux doubles-clics des utilisateurs; ils recherchent également une évolutivité, une sécurité améliorée et une espérance de vie technologique plus longue que jamais. En fin de compte, les utilisateurs sont les critiques les plus sévères des fournisseurs et du support. C’est pourquoi il est possible d’explorer les techniques et technologies des applications virtuelles. Cet article examine cinq façons d'accélérer les applications virtuelles. Les cinq solutions ne sont dans aucun ordre particulier, mais se concentrent toutes dans l'un des trois domaines clés d'optimisation et d'accélération: infrastructure, code d'application et bande passante.

Optimisation WAN et LAN

Vous pouvez faire référence à l'optimisation WAN et LAN en tant que solution de bande passante, l'objectif ultime étant de mettre plus d'informations et plus de données sur un pipeline de réseau de manière plus efficace. Les performances des applications étant essentielles pour les utilisateurs finaux, il existe des méthodes ingénieuses pour diffuser davantage de contenu en un temps très court, telles que la création d'un réseau de diffusion de contenu (CDN) qui rapproche essentiellement les données du consommateur ou de l'utilisateur final. Le fait de rapprocher les données de l'utilisateur diminue le temps de latence car les données doivent traverser moins de «sauts» ou de réseaux pour parvenir à leur destination. La plupart des fournisseurs de services cloud ont déjà mis en place des CDN afin d'aider les propriétaires d'applications à diffuser du contenu distribué à proximité de leurs clients.


L'équilibrage de charge optimise la bande passante en répartissant les demandes des clients entre plusieurs serveurs ou entre plusieurs sites afin de mieux partager le fardeau de la livraison des applications. Les équilibreurs de charge améliorent la vitesse de livraison des applications en supprimant les embouteillages liés aux demandes des utilisateurs pour une seule application. Mais ils augmentent également la fiabilité en étant en mesure de livrer efficacement l’application à un serveur qui n’est pas surchargé par d’autres requêtes.

L'augmentation de la bande passante brute entre les applications et les clients semble être une amélioration évidente à apporter pour accélérer la livraison des applications. Qui peut affirmer qu'une connexion réseau gigabit entre l'infrastructure de l'application et l'ordinateur client est une mauvaise chose? Même une application mal conçue et mal conçue recevra un gain de performances significatif en augmentant la bande passante entre la source et la cible.

La compression des données et l'utilisation de types de supports compressés tels que JPEG, MPEG-4 et MP3 peuvent avoir un impact significatif sur la livraison des applications. La compression des données de contenu basé sur le contenu, ce qui signifie HTML, CSS et JavaScript, peut entraîner une réduction de 30% ou plus du temps de chargement.

SSD et Flash Arrays

Les disques SSD et les baies de mémoire flash semblent être la nouvelle technologie de référence pour tout type d'amélioration des performances des applications. Il est vrai que le stockage à l’état solide est bien plus rapide que les disques en rotation, mais c’est aussi beaucoup plus cher. Il serait peut-être judicieux d’envisager une utilisation différente des disques SSD - en tant que cache pour les données «chaudes» et non pour les données au repos. Les disques SSD peuvent fournir des données beaucoup plus rapidement que les disques en rotation, mais une partie de cette efficacité est perdue en traduction sur le réseau et par divers composants de réseau. Toutefois, si l’on utilise ce que l’on appelle le «cache flash» pour tirer parti de la vitesse SSD sur laquelle stocker les informations en cache, les résultats sont impressionnants. Intel rapporte jusqu'à «12 fois plus de performances en matière de traitement de base de données transactionnelle et jusqu'à 36 fois plus rapide de traitement de charges de travail virtualisées gourmandes en E / S».

Les disques SSD pour la mise en cache des données sont utiles en raison de la vitesse à laquelle les données peuvent être récupérées et placées en mémoire. Et si les disques SSD sont utilisés uniquement à des fins de mise en cache, il faudra en acheter beaucoup moins pour satisfaire les améliorations de performances qui en résultent. (Pour plus d'informations sur le stockage, voir Comment optimiser votre solution de stockage d'entreprise.)

Pas de bugs, pas de stress - Votre guide étape par étape pour créer un logiciel qui change la vie sans vous détruire

Vous ne pouvez pas améliorer vos compétences en programmation lorsque personne ne se soucie de la qualité des logiciels.

GPU virtuels

Demandez à quiconque utilise un programme de CAO, un logiciel de montage vidéo ou même une application de gestion de projet s'il souhaite charger ces applications et vous entendrez un chorus de «local». Transformer ces applications gourmandes en graphiques en un environnement virtuel épelé en catastrophe jusqu’à la sortie de la technologie de l’unité de traitement graphique virtuel (GPU).

Les GPU virtuels permettent enfin de placer n'importe quelle charge de travail dans une machine virtuelle. Les supports de CAO de la vieille école ont maintenant été assimilés, de même que les éditeurs de vidéo et les graphistes. Même ceux qui travaillent en trois dimensions ont maintenant une présence virtuelle grâce aux GPU virtuels.

Ce qui a rendu cette technologie possible, c’est que des cartes GPU spéciales, compatibles avec les systèmes hôtes de machines virtuelles, sont installées dans ces systèmes hôtes, puis leurs attributs matériels sont abstraits ou virtualisés de manière à pouvoir être utilisés par des machines virtuelles.

Logiciel à performances optimisées

Les administrateurs système en colère et frustrés vous diront souvent que réparer le code n’est pas leur travail. Le problème omniprésent est toutefois que les développeurs peuvent être de premier ordre pour la programmation d’une application, mais qu’ils n’ont absolument aucune idée ou désir d’obtenir un indice sur l’optimisation du code en termes de performances.On pense souvent que davantage de RAM, de disques plus rapides ou de processeurs plus puissants résoudront tous les problèmes de performances pouvant exister dans le code, ce qui est vrai dans une certaine mesure. Alternativement, réparer le code est beaucoup moins coûteux et beaucoup plus facile à résoudre que la reconstruction d'une infrastructure simplement pour accélérer les applications mal écrites.

Certains, comme le pionnier de l'informatique Donald Knuth, ont déclaré à propos de l'optimisation du code informatique: «Si vous optimisez tout, vous serez toujours malheureux.» Malgré l'avis de M. Knuth, l'optimisation du code pour une quantité équilibrée d'amélioration doit être effectuée et tolérée. . Mais qu'en est-il des programmes commerciaux que vous achetez et déployez auprès de vos utilisateurs? Par exemple, la suite evergreen Microsoft Office est une suite d'applications standard que les administrateurs système doivent mettre à la disposition des utilisateurs locaux et distants.

Dans le cas de programmes commerciaux sur lesquels les administrateurs n'ont aucun effet de levier, ils doivent appliquer une stratégie d'amélioration des performances à plusieurs niveaux. La mise en cache de bits d’applications communes constituera la technologie la plus avancée de l’administrateur pour accélérer la livraison des applications volumineuses aux utilisateurs.

Caching

Chaque fois que vous lisez ou entendez les termes préchargement, prétraitement ou précompilation, le rédacteur ou le locuteur fait probablement référence à une sorte de mise en cache. La mise en cache d’applications fait généralement référence au chargement de certains éléments de contenu statiques et dynamiques dans une mémoire tampon afin qu’elle soit facilement récupérable sur demande. Les seuls bits transmis tout au long du pipeline sont ceux qui concernent spécifiquement l'utilisateur ou d'autres données dépendant de l'heure ou de la session. Tout le reste est mis en cache dans la mémoire.

Le cache met moins de stress sur le stockage, la bande passante du réseau et les processeurs. Les données attendent en mémoire jusqu'à ce qu'elles soient appelées, puis poursuivent leur trajet beaucoup plus court jusqu'à l'utilisateur final. La plupart des technologies combinent la mise en cache avec l'emplacement pour fournir du contenu plus rapidement. En d’autres termes, les données communes, c’est-à-dire les données communes à tous les utilisateurs, sont placées dans les CDN susmentionnés, puis transmises aux utilisateurs proches des données demandées. Certaines solutions vont jusqu'à mettre en cache localement les données sur des sites distants ou satellites, de sorte que ces bits communs résident là où ils sont consommés et qu'il ne soit pas nécessaire de les extraire directement sur le WAN ou un lien Internet.

La mise en cache est souvent une méthode d’accélération d’application préférée, car elle est beaucoup moins coûteuse que des solutions à performances comparables qui reposent sur des améliorations de l’infrastructure. (Pour en savoir plus sur la mise en cache, voir Quelle écriture est la bonne? Présentation des méthodes de mise en cache d'E / S.)

Sommaire

Peut-être que la règle de base lorsqu’on tente d’optimiser ou d’accélérer des applications virtuelles dans n’importe quel environnement est d’abord d’essayer de mettre en cache, puis de compléter cette stratégie avec d’autres technologies. La mise en cache est la solution la moins chère et la moins invasive. Le meilleur conseil est d'acheter beaucoup de RAM pour la mise en cache de la mémoire et des disques SSD pour la mise en cache de données à chaud. Essayez de garder les coûts gérables, mais rappelez-vous que lorsque vous dépensez de l'argent en infrastructure et en logiciels, vous pouvez l'amortir sur toute la durée de la technologie et le répartir par utilisateur pour faciliter la digestion de la gestion. En fin de compte, veillez à ce que vos utilisateurs restent productifs et heureux et qu’ils vous maintiennent dans l’emploi.