Les bonnes questions à se poser avant de se lancer sur Windows Azure - Partie 1

A chaque fois qu’une nouvelle plateforme fait son apparition, les éditeurs de logiciels ont besoin de comprendre comment elle peut les aider dans leur activité, dans leur métier. A titre d’exemple, quand les PC sont devenus populaires, les éditeurs de logiciels qui ont su tirer leur épingle du jeu sont ceux qui ont su adapter leurs applications à ce nouveau genre de plateforme informatique. Plus récemment, les téléphones portables sont devenus des plateformes à part entières, avec beaucoup d’ISVs qui créent des applications pour des terminaux mobiles.

Les plateformes Cloud représentent une nouvelle option que les éditeurs de logiciels se doivent d’appréhender, de comprendre et d’évaluer. Pour les ISVs Windows, cela implique donc de comprendre la plateforme Windows Azure. Est-ce qu’elle peut vous permettre d’améliorer votre business ? Si oui, comment ? Les questions qui suivent vous aideront justement à prendre la bonne décision.

Les questions à poser peuvent être regroupées en 2 catégories.
1- Est-ce que le fait d’utiliser la plateforme Windows Azure va me permettre d’optimiser/améliorer/moderniser mes applications ? Pour répondre à cette question, vous devez regarder ce que la plateforme peut vous offrir en tenant compte de votre environnement technologique et de votre marché. Les 3 sous questions ci-dessous peuvent vous aider dans cet exercice:

  • Pouvez-vous tirer parti du stockage dans le cloud  ?
  • Pouvez-vous tirer parti du traitement des données dans le cloud ? 
  • Souhaitez-vous créer une application SaaS ?

2- Si la réponse à cette 1er grande question est “oui, la plateforme Windows Azure peut vraiment me permettre d’améliorer mes applications existantes ou futures”, vous devez alors décider si le fait d’utiliser la plateforme fait du sens pour vous d’un point de vue financier. De façon plus directe, est-ce que le fait de recourir à la platefome Windows Azure peut vous permettre de développer un Business Model pérenne et rentable ? Pour répondre à cette question il faut déjà comprendre les prix des services de la plateforme et ensuite établir un coût mensuel pour son usage.

Je vous propose d'aborder chacune de ses 2 grandes questions dans deux articles dictincts intitulés "Les bonnes questions à se poser avant de se lancer sur Windows Azure". Je vous propose de commencer dès maintenant avec la 1ère partie en abordant la question "La plateforme Windows Azure vous permet-elle d’améliorer vos applications ?"

I- La plateforme Windows Azure peut-elle vous permettre d’améliorer vos applications ?
I.I LE STOCKAGE

Le stockage dans les nuages peut-il vous apporter quelque chose ?

Une façon d'améliorer votre offre peut être d’exploiter le stockage dans les nuages. Parce que la plateforme Windows Azure fonctionne dans des très gros data centers hautement automatisées, elle offre une quantité presque illimitée de stockage à faible coût et fiable.
Les options possibles:
- Les Blobs Windows Azure, qui permettent de stocker des données binaires. Les blobs peuvent être importants - jusqu'à un téraoctet chacun - et ils sont assez bon marché.
- La Base de données SQL Azure, qui fournit une base de données relationnelle. Basée sur SQL Server, SQL Azure est un environnement familier, facile d'accès depuis les applications existantes.

Les applications qui s'exécutent sur Windows Azure, tout comme les applications on-premise (à demeure), peuvent accéder à ce type de stockage. Cela signifie que toute application existante peut tirer parti du faible coût et de la haute disponibilité de stockage dans le cloud sans pour autant s'exécuter dans le cloud. Voici quelques exemples montrant une application installée dans le data center d'un client, ou tout simplement sur des ordinateurs, qui pourraient profiter du stockage fourni par la plateforme Windows Azure:

  • L'application sauvegarde ses données dans les blobs Windows Azure. Cela vous coûtera probablement moins cher et ce sera plus fiable que de stocker des données sauvegardées à demeure.
  • Une application qui a stocké (et peut-être livré aux utilisateurs) de grandes quantités de données non structurées, telles que la vidéo, pourrait stocker ces données dans des blobs Windows Azure. Encore une fois, cette option est moins coûteuse et assure une plus grande disponibilité des données que de les stocker chez vous.
  • Une application qui a besoin de partager des données relationnelles à travers plusieurs instances pourraient stocker ces données dans la base de donnée SQL Azure. Ces données peuvent ensuite être consultées via internet par les applications en cours d’exécution partout dans le monde.
  • Il peut être moins coûteux de prendre une base de données SQL Azure pour une application qui requiert l’achat d’une licence SQL Server pour le client.

Pour beaucoup d’éditeurs de logiciels, il peut paraître risqué de faire un pari sur une nouvelle plate-forme. Il est parfois plus judicieux de commencer petit, puis de s'appuyer sur cette expérience pour se développer. Ajouter du stockage dans le Cloud à une application existante est justement une excellente façon commencer doucement mais sûrement.

Les choses à considérer pour le stockage

Le stockage dans les nuages peut avoir des avantages évidents. Pourtant, il est important d'évaluer avec réalisme les avantages et inconvénients, tant du point de vue technique que du point de vue métier.

La performance sera-t-elle assez bonne, par exemple ? Vous êtes en droit de vous poser la question. Puisque la plateforme Windows Azure s'exécute dans les différents data centers de Microsoft (Amérique du Nord, Europe, Asie...), la lecture et l'écriture des données nécessitent d’aller sur un réseau mondial. Il peut donc y avoir quelques latences qui peuvent être un frein pour certains scenarios. A noter: il n'y a pas de CDN pour SQL Azure.
D’autres questions techniques doivent également être abordées. Par exemple, une seule base de données stockées dans la base de données SQL Azure ne peut pas dépasser une taille maximale de 50Go (en revanche possibilité de prendre autant de base de données de 50Go que vous souhaitez).

Il y a aussi des préoccupations métiers qui peuvent être importantes comme par exemple le fait que vos clients se sentent à l’aise à l'idée que leurs données soient stockées les data centers de Microsoft? Les lois et règlements locaux permettent-il le stockage de ce type de données dans un centre de données qui pourraient être dans un autre pays que la France ?

Tous les éditeurs de logiciels se doivent de comprendre ces questions et de s’assurer que le stockage dans les nuages est une option viable pour ce qu'ils aimeraient faire. Pour vous en assurer, commencez par tester la plateforme Windows Azure gratuitement.

I.II LE TRAITEMENT DES DONNEES

Le traitement des données dans les nuages peut-il vous apporter quelque chose ?

Une autre façon d'utiliser la plate-forme Windows Azure à partir d'une application existante est de faire du « calcul », du traitement de données, dans les nuages. Dans Windows Azure, cela signifie la création d'une ou plusieurs instances, chacune fonctionnant comme sa propre machine virtuelle. Les instances sont de tailles différentes, et comme toujours avec cette plate-forme, vous ne payez que ce que vous utilisez. Voici quelques exemples dont une application existante hébergée à demeure chez vous (on-premise) peut utiliser du traitement de donnée Windows Azure :

  • Une application qui a besoin d'une quantité importante de puissance de traitement, comme un système de modélisation financière, pourrait l'obtenir avec Windows Azure. Utiliser des instances pour cela revient à payer uniquement pour la puissance de calcul qui est utilisé, vous n'avez plus besoin d'avoir X machines physiques sur place pour gérer les variations et pics de charge.
  • Une application Web qui a une demande élastique, comme un système de billetterie en ligne, peut compter sur le service de calcul de Windows Azure pour fournir une capacité supplémentaire en cas de besoin. Cela peut être moins coûteux que de maintenir un grand data center sous-utilisé.
  • Une application à laquelle vous ajoutez une fonctionnalité et dont le nouveau code s'exécute sur la plate-forme Windows Azure. Par exemple, supposons que vous souhaitez ajouter un service de reporting pour une application existante hébergée chez vous. Vous pouvez choisir de construire ce service comme un module autonome fonctionnant sur Windows Azure, puis de permettre au logiciel installé chez vos clients d’y accéder. 
  • Un module qui doit être mis à jour régulièrement pourrait directement être construit sur la plateforme Windows Azure tout en restant connecté à vos applications sur site. Ce faisant, vous gérez de façon centraliser les changements sans avoir à mettre à jour les versions de logiciel installées chez vos clients.

Les Choses à considérer pour le traitement des données

Comme avec stockage dans les nuages, il y a des considérations techniques et métier à voir avant d'utiliser le service de traitement de données Windows Azure.

Windows Azure est basé sur Windows et supporte .NET, Java, Python, PHP, et Ruby. Les compétences de votre organisation en matière de développement existants se transférent facilement à cet environnement dans les nuages. Pourtant, il existe certaines différences. Par exemple, Windows Azure n'autorise pas l'installation ou l'exécution d'applications en mode admin. (Cette limitation existe car c’est ce qui permet à la plateforme de gérer l’environnement pour vous, et c’est donc un composant clé de la réduction de coûts). Ce n'est généralement pas un problème pour un nouveau logiciel conçu pour la plateforme, mais certains logiciels existants reposant sur Windows requiert le mode admin. Et alors que Windows Azure est basé sur Windows Server, il ne comprend pas tout ce qu'il y a dans la version on-premise du système d'exploitation. Il est donc important de s'assurer que votre code peut être exécuté sur Windows Azure. Appréhendez ces aspects techniques directement en testant la plateforme Windows Azure gratuitement.

L’utilisation de traitement de données dans le Cloud soulève également certaines questions non-techniques, dont la plupart font écho aux préoccupations évoquées plus tôt pour le stockage dans les nuages. Avez-vous (et vos clients) confiance en la disponibilité et la sécurité des services de calculs Windows Azure? Et y a-t-il des lois ou règlements qui interdisent l'exécution de code dans les data centers à l'extérieur des frontières nationales ?

I.III SOUHAITEZ-VOUS UNE APPLICATION SAAS ?

Pratiquement tous les éditeurs de logiciels devraient réfléchir à la façon d’améliorer et moderniser leurs applications en utilisant des services de calculs et/ou du stockage dans le cloud. De nombreux éditeurs de logiciels devraient également se demander si ils doivent créer une version entièrement cloud d'une ou plusieurs de leurs applications existantes. Communément appelé «Software as a Service » (SaaS), ce type d'application peut s'exécuter entièrement sur la plate-forme Windows Azure. Beaucoup d'entreprises offrent aujourd'hui des applications SaaS, y compris Microsoft, qui offre CRM Online, SharePoint Online, et d'autres.

Les applications SaaS peuvent être très intéressantes pour les clients. Elles permettent d'essayer une application avant de l'acheter, ce qui permet au client de s'assurer que l'application a une vraie valeur avant de dépenser beaucoup d'argent. Et plutôt que de payer une licences souvent chère, le prix des applications SaaS est généralement basée sur l'utilisation. Un client peut commencer petit, et ne voir sa facture augmenter que lorsque l'application est effectivement utilisée. Réduire les risques et les coûts afin de générer plus de valeur business sont deux choses que les clients apprécient  particulièrement !

Certains éditeurs de logiciels pensent qu'ils peuvent rivaliser plus efficacement sur leur marché avec une application SaaS. D'autres sont poussés à faire du SaaS lorsqu'un concurrent déploie une offre de cloud computing. D'autres encore choisissent le SaaS comme « cheval de troie » pour entrer sur de nouveaux marchés. Quelle que soit la motivation, le support des applications SaaS est l'un des principaux objectifs de la plate-forme Windows Azure. Même une entreprise qui fournit déjà une application SaaS devrait envisager de porter son application sur la plate-forme Windows Azure. Pourquoi construire et maintenir votre propre infrastructure SaaS lorsque Microsoft peut vous en fournir une ?

Les choses à considérer pour une application SaaS

Construire une application SaaS pour la plateforme Windows Azure soulève deux considérations techniques et métier.

Sur le plan technique, une question fondamentale est de savoir si une plateforme cloud fournit une meilleure base pour une application SaaS qu'un environnement plus traditionnel, comme un hébergeur ou votre propre data center. Les questions clés incluent le coût, la disponibilité et le support, et prendre une bonne décision implique de comprendre la valeur de l'élasticité , l'évolutivité et la fiabilité que la plateforme Windows Azure offre. Il est également important de déterminer si le code nécessaire et les logiciels existants pour l'application SaaS peuvent être portés sur la plateforme Windows Azure. (Il est intéressant de remarquer qu'une fonctionnalité appelée Windows Azure Drives utilise le stockage blob pour fournir un système de fichiers standard Windows, ce qui facilite le déplacement des applications existantes dans les nuages.)

Les considérations métier du SaaS sont encore plus significatifs. Le passage à un modèle SaaS modifie la façon de fixer les prix d’une application. Il n’est plus question de mode d’acquisition sous forme de licences. Il peut aussi modifier le processus de vente. Ce sont deux considérations importantes à prendre en compte avant de se lancer sur un modèle SaaS. En outre, comme mentionné plus haut, la création d'une application SaaS peut soulever des questions de confiance. Est-ce que vos clients se sentent à l'aise avec le fait de mettre leurs données dans les nuages, peut-être sur les mêmes serveurs physiques que les données de leurs concurrents? Et s'ils le font, y a-t-il des barrières légales ou réglementaires à cela?

Le passage à un modèle SaaS est une décision importante. Néanmoins, étant donné l'attrait de cette approche pour les clients, de plus en plus d’éditeurs de logiciels vont dans cette direction. Pour les éditeurs de logiciels Windows entrer dans le monde SaaS via la plate-forme Windows Azure est un cheminement naturel. Pour vous faire une idée, commencez par tester la plateforme Windows Azure gratuitement.

Rendez-vous la semaine prochaine pour la 2ème partie de cet article dans laquelle nous aborderons la question suivante: Le fait d'utiliser la plateforme Windows Azure présente-t-il un intérêt financier pour vous?