Charges de travail SaaS Azure Well-Architected
La création et l’exploitation de logiciels en tant que service (SaaS) sur Microsoft Azure nécessitent une approche différente par rapport à d’autres types de logiciels. Les éditeurs de logiciels indépendants (ISV) ont une position unique dans l’écosystème cloud, car leurs solutions SaaS favorisent leur activité. Ils vendent leurs produits aux entreprises, également appelées business-to-business (B2B) ou aux consommateurs, également appelés entreprises à consommateurs (B2C). Les éditeurs de logiciels indépendants hébergent et gèrent généralement la solution SaaS qu’ils créent. Leurs clients configurent le produit et gèrent les données.
Une solution créée à l’aide de Well-Architected Framework garantit que la charge de travail peut fonctionner à grande échelle. Cette série d’articles fournit des insights clés sur la création de solutions SaaS évolutives, performantes, fiables et sécurisées sur Azure. Si vous n’êtes pas déjà familiarisé avec le Well-Architected Framework, nous vous suggérons de prendre du temps pour apprendre ses principes.
Reportez-vous aux piliers de Microsoft Azure Well-Architected Framework.
Qu’est-ce qu’une charge de travail SaaS ?
Le terme charge de travail fait référence à une collection de ressources d’application qui prennent en charge un objectif métier commun ou l’exécution d’un processus métier commun, avec plusieurs services, tels que les API et les magasins de données, travaillant ensemble pour fournir des fonctionnalités de bout en bout spécifiques.
Le terme SaaS fait référence au modèle métier de la fourniture de logiciels en tant que service. En tant que fournisseur, vous êtes responsable de la livraison et de l’exploitation de la solution entière. Vous devez gérer soigneusement les environnements clients à grande échelle tout en répondant aux exigences en matière d’isolation, de sécurité et de conformité des clients. Les solutions SaaS s’appuient souvent sur une architecture mutualisée, où les ressources sont partagées entre plusieurs clients. Cette approche influence la conception et le déploiement des ressources, ainsi que le modèle tarifaire proposé aux clients.
Quels sont les défis courants ?
Microsoft Azure est une excellente plateforme pour fournir SaaS, offrant l’élasticité et l’extensibilité nécessaires. Il fournit également des fonctionnalités permettant d’automatiser différents aspects de la livraison SaaS. Toutefois, la livraison de SaaS sur Azure présente son propre ensemble de défis :
Les attentes des clients sont élevées, exigeantes en matière de qualité, de sécurité et de résilience. Pour les solutions B2B, vous devenez essentiellement une extension des services informatiques de vos clients, en prenant la responsabilité de maintenir votre solution opérationnelle et saine. Cela nécessite un passage du simple développement de logiciels à l’exploitation à grande échelle.
Fournir SaaS signifie équilibrer vos propres besoins métier avec ceux de vos clients, ce qui peut parfois entrer en conflit. Vous serez confronté à des pressions pour réduire le coût des biens vendus (COGS) et augmenter l’efficacité, tandis que les clients demandent davantage de votre solution.
SaaS fonctionne souvent à grande échelle ou avec des cibles de croissance agressives. À mesure que vous effectuez une mise à l’échelle, il est essentiel de maintenir les performances et la fiabilité tout en réduisant la complexité opérationnelle. Les opérations manuelles sont irréalisables, de sorte que l’automatisation et les processus structurés sont nécessaires, nécessitant un degré de maturité opérationnelle.
L’isolation est une exigence essentielle lorsque vous partagez l’infrastructure entre vos clients. Les clients s’attendent à ce que leurs données soient sécurisées et connaissent des performances et une fiabilité cohérentes, quelles que soient les activités des autres clients. En tant que fournisseur, vous devez assumer une responsabilité significative pour protéger les données et les charges de travail de vos clients, y compris auprès d’autres clients.
Quel est le modèle de maturité pour la création de SaaS ?
Les organisations qui créent des produits SaaS sont généralement les suivantes :
Start-ups ou autres petites organisations. En règle générale, il y a moins de personnes et moins de ressources. Quelle que soit la taille de l’organisation, SaaS nécessite un certain niveau de maturité pour répondre aux attentes élevées des clients. Les clients approuvent l’organisation pour protéger leurs données et d’autres ressources. Ils peuvent également s’appuyer sur la solution pour des parties importantes de leurs opérations. Par conséquent, l’excellence opérationnelle et la fiabilité deviennent des aspects clés de la solution.
Initialement, les start-ups doivent hiérarchiser les éléments les plus impactants pour leurs clients. En parallèle, ils doivent planifier des améliorations architecturales futures telles que l’automatisation, la gestion des locataires, la réduction des coûts et une sécurité et une fiabilité améliorées. Bien que cela ne semble pas pratique au début, cette planification stratégique sert de plan pour la mise en œuvre progressive et l’amélioration continue. À mesure que le démarrage augmente, il doit adapter et affiner ses processus, adopter de nouvelles technologies et répondre aux normes de conformité en constante évolution pour mettre à l’échelle efficacement et maintenir la confiance des clients.
Organisations établies. Les organisations établies qui cherchent à moderniser leurs solutions existantes migrent souvent vers un modèle SaaS. Même si l’organisation peut avoir plus de ressources, les défis deviennent complexes. Ils doivent prendre en charge les clients existants tout en développant la nouvelle solution SaaS, ce qui peut créer une surcharge opérationnelle. Cette transition nécessite des modifications dans l’architecture technique, les ensembles de compétences et les opérations commerciales globales. L’accent doit être mis sur la réduction de l’impact sur les clients actuels et s’assurer qu’ils reçoivent une fiabilité, une sécurité et des performances similaires ou améliorées. Une fois que les solutions héritées sont moins fastidieuses, l’organisation peut hiérarchiser les nouvelles fonctionnalités et améliorations.
Comment utiliser ces conseils ?
✔ Commencez par la méthodologie de conception, qui décrit les thèmes logiques et récurrents dans les domaines techniques et opérationnels. Cette approche systématique permet de définir des exigences et des stratégies de conception. Revisitez cette méthodologie lorsque vous faites face à des choix incertains pour rester alignés sur les objectifs globaux de la charge de travail. Il fournit également un cadre de collaboration avec les équipes marketing et commerciales pour valider les décisions techniques et incorporer les commentaires des clients pour une amélioration continue.
✔ Passez aux principes de conception pour voir comment la méthodologie de conception SaaS s’aligne sur les piliers du core Well-Architected Framework, compte tenu de l’évolution de la croissance. Évaluez les principes sous-jacents de tous les piliers collectivement, y compris les compromis.
✔ Concentrez-vous sur les domaines de conception qui ont le plus d’impact sur votre solution. Chaque domaine comprend des considérations et des recommandations pour vous guider dans les décisions de conception.
Zones de conception |
---|
Gestion de la facturation et des coûts : évaluez votre stratégie de facturation et son effet sur le coût des biens vendus (COGS). Modéliser et anticiper les changements de coût à mesure que votre entreprise SaaS s’adapte. Recherchez des moyens d’optimiser les dépenses en ressources cloud. |
Gouvernance : gérez et réglez l’utilisation de votre service cloud pour établir un environnement Azure sécurisé. |
Organisation des ressources : planifiez la façon dont vous allez déployer vos ressources pour prendre en charge vos besoins en matière de mise à l’échelle et de coût. |
Gestion des identités et des accès : découvrez les défis de la gestion de l’identité dans un environnement SaaS mutualisé. Choisissez un fournisseur d’identité approprié et envisagez la nécessité d’une fédération avec les systèmes d’identité de vos clients. |
Calcul : sélectionnez une plateforme de calcul qui répond à vos besoins. Planifiez l’isolation, la scalabilité et la résilience des clients. |
Mise en réseau : planifiez votre déploiement réseau, y compris la topologie et les défenses. Isolez les ressources entre les clients et répondent à leurs besoins de connectivité, notamment l’intégration à leurs réseaux et le déploiement de ressources dans leurs environnements. |
Données : choisissez un magasin de données approprié et planifiez l’isolation des données client tout en conservant l’efficacité opérationnelle. Envisagez la planification de la capacité en fonction de votre échelle et de votre croissance, et assurez-vous que vos données répondent aux exigences de résilience des clients. |
Pratiques DevOps : Déployez l’infrastructure et les applications pour chaque client en fonction de votre modèle de location. Utilisez une approche structurée pour les modifications, y compris les déploiements progressifs. |
Gestion des incidents : établissez les responsabilités liées à l’exploitation de SaaS et aux éléments culturels nécessaires au sein de votre organisation. Préparez les incidents en investissant dans des outils et des processus d’investigation, de correction et de communication. |
✔ Utilisez l’outil de révision d’évaluation pour évaluer la préparation de votre charge de travail SaaS optimisée en production.
Conseil
Chaque décision architecturale implique une série de considérations et un ensemble de compromis reconnus qui équilibrent différents aspects du cadre. Ces compromis sont indiqués par cette icône. .
Quelles ressources sont disponibles ?
L’architecture multilocataire est une méthodologie métier de base pour la conception de charges de travail SaaS. Lisez ces ressources supplémentaires pour en savoir plus.
- Architecture de solution SaaS et multilocataire : fournit des conseils détaillés et détaillés sur la conception de SaaS, notamment des informations sur la façon dont des services Azure spécifiques peuvent être utilisés pour prendre en charge les objectifs de conception SaaS.
Étapes suivantes
Découvrez la méthodologie à suivre lors de la conception d’une charge de travail SaaS sur Azure.