80% of enterprise software is running on SaaS. The majority of users access these from outside the corporate network. How can you troubleshoot poor SaaS performance to maintain their productivity and make sure your business processes keep running smoothly?
Let’s first look at what drives SaaS performance and then take a closer look at how you can run diagnostics that help you draw a path towards resolution.
Les facteurs clés de la performance des applications SaaS
Les temps de réponse ressentis par les utilisateurs de plateformes SaaS sont conditionnés par différentes couches d’infrastructure et d’applications : dispositif utilisateur, réseau local / WiFi, DNS, fournisseur d’accès, chemin réseau sur internet, service de passerelle sécurisée dans le cloud, services de tiers et CDNs, plateforme cloud et réponse de l’application elle-même.
Etat du dispositif utilisateur (“endpoint”)
La performance de la machine utilisée par l’utilisateur a évidemment un impact sur les temps de réponse perçus dans la mesure où elle affecte la séquence et la vitesse d’interaction avec les différents serveurs fournissant l’application (données, images, scripts, …), l’affichage dans le navigateur et l’exécution des javascripts localement.
Pour fonctionner correctement, cette machine a besoin de ressources suffisantes (processeur, mémoire, disque) pour que le navigateur effectue ces tâches efficacement.
Le navigateur utilisé (type et version) pour accéder aux applications SaaS peut également avoir un impact sur la vitesse d’affichage de l’application pour l’utilisateur.
Réseau local et WiFi
La performance du réseau local (pour la localisation de chaque utilisateur) matérialisée par la latence, le taux de perte de paquets et la bande passante disponible vers le routeur peuvent affecter négativement la performance de toutes les applications web. Des problèmes de couverture WiFi, une piètre qualité de service sur le LAN impacteront l’expérience des utilisateurs, dans la mesure où toutes les transactions seront fortement ralenties.
DNS (Domain Name System)
Ce système permet de traduire des noms d’hôtes (ou FQDN) en adresses IP, de façon à ce que le trafic correspondant aux requêtes puisse être routé vers les nœuds adéquats.
- Le DNS impacte la performance SaaS de deux façons :
* Temps de résolution DNS : sauf à ce que la résolution DNS ait déjà été effectuée et soit mise en cache depuis peu, la résolution d’un nom d’hôte en adresse IP demande un certain temps (effectuer une requête au serveur DNS, attendre le traitement de la requête et le transfert de la réponse vers le client). Le DNS a un impact critique en cas d’indisponibilité, cependant le temps de réponse DNS affecte la performance SaaS de façon limitée, dans la mesure où il ajoute un délai uniquement quand une nouvelle session est démarrée et que la résolution DNS n’est pas en cache. - Selon la localisation et la disponibilité des serveurs DNS des fournisseurs, la résolution DNS est effectuée en fonction de la localisation des utilisateurs ; elle est ainsi utilisée pour les rediriger vers l’hôte réputé le plus proche pour chaque service. Une erreur de géolocalisation peut impacter sévèrement les temps de réponse en augmentant la latence réseau pour toutes les interactions avec les applications (à la fois le temps de traitement par le serveur et le transfert des données en retour).
Latence réseau entre les utilisateurs et les plateformes SaaS
Le temps nécessaire pour envoyer des paquets entre utilisateurs et serveurs affecte chaque étape dans l’utilisation de l’application : établissement d’une session TCP, établissement d’une session TLS (voir cet article pour plus de détail sur ce sujet), effectuer des requêtes et recevoir des réponses des serveurs.
La latence réseau doit être considérée non seulement pour les serveurs principaux de l’application mais aussi pour tous les hôtes nécessaires à la livraison de l’application (CDN, serveurs d’authentification, APIs, services de tiers).
Exemples de serveurs utilisé par app.kadiska.com
Passerelles cloud et serveurs proxy
La plupart des départements IT ont pris des mesures pour sécuriser l’accès à leur applications SaaS par des télétravailleurs. Ils utilisent des services clouds pour assurer l’authentification, l’enforcement des droits d’accès et la proxification du trafic SaaS. Des solutions couramment utilisées sont : zScaler, Netskope, McAfee MVision, Prisma de Palo Alto Networks…
Les CASBs et passerelles cloud sécurisées impactent la performance SaaS des façons suivantes :
- Ces services ajoutent un délai supplémentaire en :
- Redirigeant le trafic vers leur système, ce qui augmente la latence réseau,
- Effectuant des traitements de sécurité, ce qui requiert un certain temps, et ensuite en se connectant aux applications SaaS.
- Ces services peuvent également souffrir d’erreurs de géolocalisation et rediriger les utilisateurs vers des nœuds éloignés.
Voici une illustration de l’impact des passerelles cloud sécurisées :
Infrastructure serveur
Une plateforme SaaS est habituellement composée d’une série d’hôtes :
- Directement contrôlés par les fournisseurs SaaS
- Hébergés ou fournis par des tiers comme des fournisseurs CDNs, cloud ou services de tiers (comme API, services d’authentification par exemple)
Les temps de réponse pour le traitement des requêtes par chaque serveur dépend de ces différentes couches :
Négociation TLS
Les communications sont chiffrées par défaut et les utilisateurs se connectent à des services SaaS au travers de TLS pour garantir l’intégrité et la confidentialité des communications. La terminaison des sessions TLS peut être effectuée par une infrastructure dédiée ou les serveurs frontaux eux-mêmes. Le temps nécessaire pour établir une session sécurisée dépend à la fois de la latence réseau, de la version de TLS utilisée et de la performance des serveurs (et marginalement des détails de la négociation TLS). Néanmoins, ceci n’affecte la performance qu’une seule fois par session devant être établie. Pour en apprendre plus sur les implications de TLS sur la performance, veuillez lire cet article.
Traitement serveur et transfert de données
En faisant l’hypothèse que nous considérons des applications modernes, nous devons nous focaliser sur des applications monopages, ce qui représente la majorité des applications SaaS. Ceci signifie que le chargement du bundle initial est anecdotique et que la plupart des transactions impactant l’expérience utilisateur sont des appels à des APIs.
Comment diagnostiquer des problèmes de performance SaaS ?
Le tableau ci dessous liste les problèmes les plus courants quand on considère les temps de réponse des applications SaaS et les outils gratuits pour les identifier :
Couche d’infrastructure | Problème potentiel | Niveau d’impact | Outil de diagnostic |
Endpoint | Manque de CPU/RAM | Haut | System monitor |
Endpoint | Erreur navigateur | Haut | Browser Devtools |
Réseau local / WiFi | Dégradation WiFi | Haut | Network configuration
Traceroute / ping |
DNS | Résolution DNS lente | Bas | Dig |
DNS | Erreur de géolocalisation | Haut | Browser Devtools; Traceroute / ping, geolocation database |
Latence réseau | Qualité du fournisseur d’accès | Haut | Traceroute |
Latence réseau | Changement de chemin BGP | Haut | Traceroute |
CASB / SWG | Traitement lent | Moyen | Browser Devtools |
CASB / SWG | Erreur de géolocalisation | Haut | Browser Devtools; Traceroute / ping, geolocation database |
TLS | Négociation TLS lente | Moyen | Browser Devtools |
Traitement serveur | Chargement du contenu initial lent | Bas | Browser Devtools |
Traitement serveur | Transactions lentes | Variable | Browser Devtools |
Traitement serveur | Queueing et mauvais chemin d’affichage | Moyen | Browser Devtools |
Dégradations de performance SaaS : que rechercher ?
Ce diagramme montre quelles métriques peuvent être utilisées pour identifier quel type de problème et quel outil utiliser.
Les outils clés que vous utilisez pour diagnostiquer les problèmes impactant un utilisateur avec une mauvaise performance SaaS sont :
Chrome Web Dev Tools
Comment obtenir des métriques de performance pour chaque hit dans Chrome Web DevTools
Comment lister les hôtes et leurs adresses IP respectives pour localiser les hôtes SaaS
Traceroute
Cet outil présent sur tous les systèmes vous aidera à comprendre la latence vers un hôte, le chemin réseau et où une dégradation réseau est apparente.
Supervision du dispositif utilisateur (“Endpoint”)
Chaque système d’exploitation professionnel offre les moyens de superviser les ressources systèmes telles que CPU, RAM, accès disque et consommation réseau.
Voici un exemple sur une plateforme Mac :
Comment superviser la performance SaaS à grande échelle et de façon permanente ?
Bien sûr, toutes les données sont disponibles à un moment donné pour un dispositif utilisateur ; cela nécessite un certain niveau d’expertise.
Si la performance SaaS impacte la productivité de votre entreprise, vous voudrez certainement superviser tous vos utilisateurs, 7 jours par semaine pour être proactif, concentrer les données de diagnostic dans une seule solution pour réduire les temps de résolution et optimiser la performance SaaS.
C’est pour cette mission que Kadiska a été conçue ! Pour en savoir plus 😉