Partager via


Principes de conception des charges de travail SaaS sur Azure

En tant que fournisseur de logiciels indépendant (ISV) fournissant une solution SaaS, vous êtes responsable de l’excellence architecturale de la solution et vous partagez la responsabilité avec votre client. Ils s’appuient sur votre solution, et les problèmes peuvent se cascader à eux. Si votre organisation est mature et dispose d’une base de clients établie, la fiabilité et la sécurité sont probablement vos principales préoccupations. Les interruptions d’arrêt et les violations de sécurité peuvent avoir des conséquences négatives sur le chiffre d’affaires et la réputation de votre entreprise.

Mais de nombreux éditeurs de logiciels indépendants, en particulier les éditeurs de logiciels indépendants de démarrage, fonctionnent avec des ressources limitées pour réduire les coûts. Si votre organisation est en phase de démarrage, vous devrez peut-être faire des compromis agressifs pour passer à la prochaine phase de croissance. Vous n’avez peut-être pas d’équipes dédiées pour la gouvernance, la sécurité ou l’automatisation du déploiement, mais n’oubliez pas de planifier la croissance future. Si vous devez prendre des risques, prenez des décisions calculées.

La façon dont vous concevez une solution qui fonctionne à un faible volume d’échelle diffère d’une solution à grande échelle. Pour prendre en charge une croissance rapide, vous devez concevoir une architecture de charge de travail SaaS avec flexibilité et adaptabilité. Cet article présente les principes sous-jacents en tenant compte de cette évolution de la croissance. Considérez les cinq piliers de l’infrastructure bien architecte, y compris les compromis. Il existe une norme minimale pour tous les piliers, donc considérez chacun d’eux. Si vous n’appliquez pas ces principes, vous pouvez introduire une perte financière et réduire la confiance des clients.

Fiabilité

Principe de conception À propos de l’installation
Hiérarchiser la disponibilité. Votre solution est votre entreprise. Maintenez la haute disponibilité autant que pratique. Si votre solution rencontre une panne, l’impact peut affecter non seulement vos clients, mais aussi leurs clients.
Soyez explicite sur les contrats de niveau de service (SLA) que vous proposez à vos clients. Lorsque vous créez des contrats SLA financièrement soutenus pour vos clients, assurez-vous que vous pouvez les rencontrer et que les composants dont vous dépendez sont compatibles avec eux. Passez en revue les contrats SLA composites pour les services Azure sous-jacents dans le cadre de votre processus de conception sla. Ne faites pas d’hypothèses. Reflètez votre modèle de responsabilité partagée dans vos contrats SLA.

Compromis : fiabilité et coût. Pour obtenir une fiabilité élevée, vous devez souvent déployer des ressources supplémentaires. Par exemple, vous pouvez distribuer des ressources entre plusieurs zones de disponibilité ou régions. Certains services Azure offrent une géoréplication intégrée ou une réplication interzone, mais ces fonctionnalités présentent souvent des coûts élevés.

Prenez des décisions éclairées sur le niveau de résilience que votre budget autorise. Si la fiabilité de certains composants ou flux dans la charge de travail n’a pas d’implications financières, envisagez des opportunités à faible coût pour améliorer votre résilience. Par exemple, vous pouvez utiliser des zones de disponibilité des services de plateforme, sauvegarder régulièrement des données dans un autre emplacement physique et utiliser l’infrastructure en tant que code (IaC) pour redéployer rapidement des ressources pendant les processus de récupération.

Sécurité

Principe de conception À propos de l’installation
Établissez la gouvernance comme base pour la sécurité. Établissez de bonnes pratiques de gouvernance dès le départ plutôt que de résoudre les problèmes ultérieurement. De nombreux facteurs affectent la sécurité, comme la gestion des rôles, l’organisation des ressources et l’implémentation de stratégies. Sans gouvernance robuste, les contrôles de sécurité ne protègent pas le système.
Suivez une base de référence de sécurité cloud à partir de la première journée. Attendez-vous aux audits de sécurité de vos clients. Intégrez les pistes d’audit au début de votre conception.
Isoler vos clients et isoler vos segments. Utilisez votre modèle de location comme stratégie d’isolation des données. Segmentez vos déploiements et environnements.
Commencez par Confiance Zéro et fournissez le moins d’accès possible. La valeur par défaut est une position d’absence d’accès. Introduisez l’accès minimal uniquement si nécessaire. Utilisez cette stratégie pour la gestion des identités et le trafic réseau. Passez régulièrement en revue les flux via le système et prenez des mesures sur les anomalies.
Évitez les informations d’identification si possible. Si vous devez utiliser des informations d’identification, protégez-les. Traitez les informations d’identification comme une responsabilité. Utilisez des fournisseurs d’identité et des techniques réputés qui réduisent le stockage des informations d’identification. Lorsque cela est inévitable, protégez les informations d’identification avec des approches natives cloud sécurisées. Gérez les informations d’identification et les secrets du client avec le plus grand soin.
Adoptez la sécurité en tant que processus continu. Réévaluez continuellement votre posture de sécurité. Prenez en compte le paysage des menaces en constante évolution, les nouvelles fonctionnalités et les protocoles, ainsi que les exigences réglementaires ou de conformité mises à jour.

Compromis : Sécurité et optimisation des coûts. La conception et l’exploitation de solutions sécurisées sont coûteuses. Toutefois, vous pouvez effectuer des étapes significatives en matière de sécurité, telles que la bonne gouvernance et l’adhésion à une base de référence de sécurité, sans frais minimum. Déterminez l’équilibre entre l’efficacité des coûts et votre posture de sécurité idéale.

Optimisation des coûts

Principe de conception À propos de l’installation
Payez uniquement pour ce dont vous avez besoin. Tirez parti des fonctionnalités de Microsoft Cost Management pour comprendre vos dépenses globales. Hiérarchiser les catégories de ressources les plus coûteuses pour un examen approfondi. Identifiez les zones où vous risquez de surpender.
Utilisez ce que vous payez. Optimisez la valeur des ressources que vous payez, mais que vous risquez de sous-utiliser.
Modélisez vos coûts. Suivez votre coût des marchandises vendues. Comprendre le coût de livraison de votre solution aux clients. Ce processus est similaire à la fabrication d’un produit physique. Pour informer votre prise de décision, surveillez le coût de chaque client par rapport au chiffre d’affaires qu’il génère. Pour comprendre et agréger rapidement vos dépenses Azure, implémentez des processus de gouvernance, comme une bonne organisation des ressources et un balisage.
Découvrez comment vos coûts et vos revenus sont liés. Évitez les situations où les coûts augmentent sans augmenter le chiffre d’affaires correspondant. Par exemple, les coûts peuvent augmenter si vous ajoutez une nouvelle fonctionnalité qui offre un stockage gratuit illimité. De même, si vous facturez des clients en fonction du nombre d’utilisateurs, veillez à lier les fonctionnalités aux utilisateurs.

Compromis : Optimisation des coûts et fiabilité. Pour créer des solutions fiables, vous devez souvent déployer des composants supplémentaires, transférer plus de données et utiliser des références SKU de composants clés plus résilientes, ce qui augmente les coûts. La fiabilité ajoutée vaut souvent la peine de payer, mais vous devez prendre des décisions éclairées. Pour compenser ces augmentations de coûts, veillez à utiliser d’autres composants efficacement et à optimiser leur valeur.

Excellence opérationnelle

Principe de conception À propos de l’installation
Comprendre le modèle de responsabilité partagée. Définissez clairement les responsabilités de votre fournisseur de cloud, de vos clients et de votre organisation. Assurez-vous que tout le monde sait qui est responsable des tâches.
Préparez-vous à utiliser une solution pour le compte de vos clients. Configurez votre organisation, votre équipe, vos processus et outils pour prendre en charge l’exploitation de SaaS à grande échelle.
Adoptez des processus cohérents. Utilisez des tampons de déploiement. Assurer la cohérence entre la configuration et l’architecture du tampon. Automatisez ou normalisez les processus.
Formaliser des exceptions ou des différences. Définissez différentes références SKU pour répondre à différents besoins. Utilisez cette méthode pour éviter les déploiements, configurations ou code personnalisés pour différents clients.
Déployez les modifications en toute sécurité. Implémentez un processus de déploiement sécurisé que vous pouvez utiliser pour une exposition progressive, une surveillance constante et une restauration en cas de problèmes. Utilisez un processus cohérent pour les modifications de code, d’infrastructure et de configuration. Contrôlez le nombre de versions de solution que vous déployez à tout moment.

Compromis : Excellence opérationnelle et coût de la complexité. Les opérations de gestion automatisée peuvent augmenter la complexité de votre solution et prendre du temps à créer. Initialement, le coût de l’automatisation peut dépasser les avantages, en particulier avec une petite base de clients. Mais à mesure que le nombre de clients augmente, le coût de l’automatisation paie et les avantages augmentent.

Efficacité des performances

Principe de conception À propos de l’installation
Implémentez la mise à l’échelle mondiale pour activer les performances globales. Fournissez une bonne expérience pour les clients globaux via des déploiements multirégions ou un routage du trafic accéléré.
Quantifier votre échelle attendue. Modèles meilleurs, moyens et pires scénarios de croissance. Analysez les tendances et consultez votre équipe commerciale pour obtenir des projections réalistes. Planifiez des stratégies de mise à l’échelle flexibles pour prendre en charge différentes possibilités de croissance.
Comprendre les points d’échelle. Identifiez l’endroit où vous avez probablement besoin de flexibilité. Les déclencheurs courants incluent le nombre de clients ou de locataires, d’utilisateurs et de transactions par utilisateur. Découvrez comment ces facteurs changent à mesure que votre entreprise augmente et comment ils affectent votre architecture.
Conception pour le scale-out. Le scale-up a des limites, mais le scale-out permet une plus grande expansion. Tous les scale-outs ne sont pas tous mis à l’échelle. Envisagez donc d’utiliser des tampons de déploiement pour mettre à l’échelle votre solution en tant qu’unité afin d’éviter les limitations du scale-up des ressources.

Compromis : efficacité et fiabilité des performances. Les systèmes fiables nécessitent souvent la réplication des données dans des zones géographiques étendues. Selon votre conception de réplication, cette configuration peut entraîner une latence plus élevée et un débit inférieur. Par exemple, si vous répliquez de manière synchrone des données importantes entre deux régions Azure à plusieurs centaines de kilomètres, vous pouvez ajouter des centaines de millisecondes à vos temps de réponse en raison de la réplication en temps réel.

Étape suivante

Commencez votre parcours d’apprentissage en optimisant la facturation de votre client et votre stratégie de gestion des coûts.