Version initiale - Principes fondamentaux de l'architecture SaaS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Version initiale

Pour comprendre le SaaS, commençons par une notion assez simple de ce que nous cherchons à atteindre lors de la création d'une entreprise SaaS. Le meilleur point de départ est d'examiner comment les logiciels traditionnels (non SaaS) ont été créés, gérés et exploités.

Le schéma suivant fournit une vue conceptuelle de la manière dont plusieurs fournisseurs ont packagé et livré leurs solutions.

Schéma illustrant le modèle classique d'emballage et de fourniture de solutions logicielles.

Le modèle classique pour l'emballage et la fourniture de solutions logicielles

Dans ce schéma, nous avons décrit un ensemble d'environnements clients. Ces clients représentent les différentes entreprises ou entités qui ont acheté le logiciel d'un fournisseur. Chacun de ces clients fonctionne essentiellement dans un environnement autonome dans lequel il a installé le produit d'un fournisseur de logiciels.

Dans ce mode, l'installation de chaque client est traitée comme un environnement autonome dédié à ce client. Cela signifie que les clients se considèrent comme les propriétaires de ces environnements et peuvent demander une personnalisation ponctuelle ou des configurations uniques répondant à leurs besoins.

L'un des effets secondaires courants de cet état d'esprit est que les clients contrôleront la version du produit qu'ils utilisent. Cela peut se produire pour différentes raisons. Les clients peuvent être inquiets face aux nouvelles fonctionnalités ou s'inquiéter des perturbations liées à l'adoption d'une nouvelle version.

Vous pouvez imaginer l'impact de cette dynamique sur l'empreinte opérationnelle du fournisseur de logiciels. Plus vous permettez aux clients de disposer d'environnements uniques, plus il devient difficile de gérer, de mettre à jour et de prendre en charge les différentes configurations de chaque client.

Ce besoin d'environnements ponctuels oblige souvent les entreprises à créer des équipes dédiées qui fournissent une expérience de gestion et d'exploitation distincte à chaque client. Bien que certaines de ces ressources puissent être partagées entre les clients, ce modèle introduit généralement des dépenses supplémentaires pour chaque nouveau client intégré.

Le fait que chaque client exécute ses solutions dans son propre environnement (dans le cloud ou sur site) a également un impact sur les coûts. Bien que vous puissiez essayer de faire évoluer ces environnements, la mise à l'échelle sera limitée à l'activité d'un seul client. Pour l'essentiel, votre optimisation des coûts se limite à ce que vous pouvez réaliser dans le cadre d'un environnement client individuel. Cela signifie également que vous pourriez avoir besoin de stratégies de mise à l'échelle distinctes pour tenir compte des variations d'activité entre les clients.

Dans un premier temps, certains éditeurs de logiciels considéreront ce modèle comme une construction puissante. Ils utilisent la possibilité de fournir une personnalisation ponctuelle en tant qu'outil de vente, permettant aux nouveaux clients d'imposer des exigences propres à leur environnement. Bien que le nombre de clients et la croissance de l'entreprise restent modestes, ce modèle semble parfaitement durable.

Cependant, à mesure que les entreprises commencent à connaître un succès croissant, les contraintes de ce modèle commencent à créer de véritables défis. Imaginez, par exemple, un scénario dans lequel votre entreprise atteint un pic de croissance significatif qui vous amène à attirer de nombreux nouveaux clients à un rythme rapide. Cette croissance va commencer à alourdir les frais d'exploitation, la complexité de la gestion, les coûts et toute une série d'autres problèmes.

En fin de compte, les frais généraux et l'impact collectifs de ce modèle peuvent commencer à compromettre fondamentalement le succès d'une entreprise de logiciels. Le premier point sensible pourrait être l'efficacité opérationnelle. L'augmentation du personnel et des coûts associés à l'acquisition de clients commence à éroder les marges de l'entreprise.

Toutefois, les problèmes opérationnels ne constituent qu'une partie du défi. Le véritable problème est que ce modèle, à mesure qu'il évolue, commence à avoir un impact direct sur la capacité de l'entreprise à lancer de nouvelles fonctionnalités et à suivre le rythme du marché. Lorsque chaque client possède son propre environnement, les fournisseurs doivent trouver un équilibre entre la mise à jour, la migration et les exigences du client lorsqu'ils tentent d'introduire de nouvelles fonctionnalités dans leur système.

Cela entraîne généralement des cycles de publication plus longs et plus complexes, ce qui tend à réduire le nombre de versions effectuées chaque année. Plus important encore, cette complexité incite les équipes à consacrer plus de temps à l'analyse de chaque nouvelle fonctionnalité bien avant qu'elle ne soit mise à la disposition du client. Les équipes commencent à se concentrer davantage sur la validation des nouvelles fonctionnalités et moins sur la rapidité de livraison. Les coûts liés au lancement de nouvelles fonctionnalités deviennent si importants que les équipes se concentrent davantage sur les mécanismes de test et moins sur les nouvelles fonctionnalités qui sous-tendent l'innovation de leur offre.

Dans ce mode plus lent et plus prudent, les équipes ont tendance à avoir de longs cycles, ce qui crée un écart de plus en plus important entre le début d'une idée et le moment où elle arrive entre les mains d'un client. Dans l'ensemble, cela peut nuire à votre capacité à réagir à la dynamique du marché et aux pressions concurrentielles.