Vous êtes sur la page 1sur 76

Journey To The Cloud !

Appréhender - Migrer - Evoluer

1
Cell'Insights #8 - ISV Journey To The Cloud !
2
Cell'Insights #8 - ISV Journey To The Cloud !
Journey To The Cloud !
Appréhender - Migrer - Evoluer

3
Cell'Insights #8 - ISV Journey To The Cloud !
4
Cell'Insights #8 - ISV Journey To The Cloud !
Sommaire

Introduction 6
1. Appréhender 8
2. Migrer 28
3. Evoluer 50
Conclusion 70
Annexes 72

5
Cell'Insights #8 - ISV Journey To The Cloud !
Introduction

Un ISV (Independent Software Vendor) est un éditeur logiciel


indépendant, c’est-à-dire une entreprise qui conçoit, développe et
commercialise un progiciel à destination des entreprises ou des
particuliers. Il peut être :

• Sectoriel : ISV spécifique à un métier


• Horizontal : ISV spécifique à un processus donné qui peut être
mis en place dans plusieurs secteurs d’activité

Depuis plusieurs années, les usages sont en train d’évoluer. Les


entreprises attendent d’une application qu’elle soit déployée
rapidement, accessible de partout tout en maîtrisant les coûts.
De plus, l’hébergement et l’exploitation du système d’information
sont de plus en plus externalisés par les entreprises pour que
celles-ci puissent se concentrer sur leur cœur de métier.

Comment se porte le secteur de l’édition logicielle en France ?

En France, il est composé d’une majorité de petits éditeurs : 62%


des éditeurs sont des petites entreprises qui réalisent moins
de 10 millions d’euros de chiffre d’affaires. Ce secteur est de
plus en plus dynamique en France, il affiche un taux de croissance
de 17% en 2014, alors qu’il était de 6% en 2012/2013).

6
Cell'Insights #8 - ISV Journey To The Cloud !
Les éditeurs sectoriels représentent un plus grand nombre d’acteurs
et réalisent un chiffre d’affaire plus important que les éditeurs
horizontaux. Cependant, la croissance du chiffre d’affaires est
plus importante pour les éditeurs horizontaux (25% contre 22%
pour les éditeurs sectoriels).

Quelles sont les clés de cette croissance ?

Quel que soit le type d’éditeur, l’internationalisation représente un


facteur de croissance important. Les éditeurs présents à l’étranger
y réalisent 64% de leur chiffre d’affaires.

De plus, l’innovation est un élément important de l’activité de


l’édition logicielle. 13% du chiffre d’affaires est dédiée à la R&D, on
atteint même 20% pour les petites structures.

Pour répondre aux attentes actuelles des entreprises, certains


éditeurs logiciels ont commencé à proposer une offre SaaS
(Software as a Service) et ces dernières années, la part du SaaS
dans l’activité des éditeurs a progressé (22% du chiffre d’affaires
en 2014, 17% en 2013). Nous verrons par la suite en quoi le SaaS
répond aux attentes des entreprises et peut ainsi être un facteur
de croissance.

Ce livre blanc vous expliquera que les éditeurs logiciels doivent


aller dans le Cloud (Appréhender) puis comment migrer vos
solutions existantes dans le Cloud selon différents scénarios
(Migrer) et pour finir comment faire évoluer l’architecture de la
solution mais aussi changer son business model et transformer
son organisation (Evoluer).

7
Cell'Insights #8 - ISV Journey To The Cloud !
8
1 Appréhender

Cell'Insights #8 - ISV Journey To The Cloud !


1.1 Le Cloud
Lorsqu’on parle de SaaS (Software as a Service), on parle
généralement de Cloud Computing. Cependant, est-ce que le
Cloud se résume au SaaS ? Petit rappel sur le Cloud et les différents
modèles de services associés…

9
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

a. Caractéristiques

Le Cloud Computing est un modèle qui respecte les 5


caractéristiques suivantes (cf Définition Officielle du NIST) :

• Service à la demande : les utilisateurs ont accès à des ressources


à la demande

• Accès aux ressources par le réseau : une connexion internet


est nécessaire pour accéder aux ressources

• Mise en commun des ressources : une ressource non utilisée


par un utilisateur est mise à disposition des autres utilisateurs

• Flexibilité des ressources : si la capacité d’une ressource


devient insuffisante elle peut être étendue simplement

• Service mesuré : l’utilisateur peut consulter sa consommation

b. Services

A travers ces 5 caractéristiques, le Cloud propose des services


à différents niveaux que nous allons décrire. Pour cela, prenons
l’exemple d’un service logiciel :

10
Cell'Insights #8 - ISV Journey To The Cloud !
• Hosting to Cloud (IaaS)

Un service logiciel, une application, peut être déployé sur une


infrastructure dans le Cloud. Dans ce cas, on utilise le modèle
IaaS (Infrastructure as a Service) du Cloud. Le modèle IaaS offre
un accès à des machines virtuelles sans que l’utilisateur n’ait à se
soucier de la partie hardware (réseau, serveurs physiques).

• Design to Cloud (PaaS)

Un service logiciel, une application, peut être exécuté sur une


plateforme dans le Cloud. Dans ce cas, on utilise le modèle PaaS
(Platform as a Service) du Cloud. Le modèle PaaS offre un accès à
des applications middleware sans que l’utilisateur n’ait à se soucier
de la gestion de ces applications. On peut par exemple avoir accès
à une base de données ou un serveur web sans avoir à les installer.

• Consumed in the Cloud (SaaS)

Un service logiciel, une application, peut être fourni par le Cloud.


Dans ce cas, on utilise le modèle SaaS (Software as a Service)
du Cloud. Le modèle SaaS offre un accès à une application déjà
développée et prête à être utilisée. L’utilisateur n’a donc pas
besoin de gérer la maintenance de l’application.

11
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

Du point de vue d’une entreprise qui désire disposer d’une


application, les différents modèles Cloud (ou traditionnel)
n’engendrent pas les mêmes coûts et n’offrent pas le même niveau
d'automatisation de gestion des services comme illustré dans le
schéma précédent.

c. Modèles de déploiement

Le Cloud Computing est un modèle qui peut reposer sur différents


types de structures :

• Cloud public

Le Cloud public est une structure gérée par un fournisseur tiers.


Plusieurs entreprises (ou particuliers) peuvent accéder aux
ressources mises à disposition par ce fournisseur à l’aide d’une
connexion internet.

• Cloud privé

Le Cloud privé est une structure gérée par une entreprise. Les
ressources mises à disposition sont accessibles aux membres
de l’entreprise uniquement. Le Cloud peut être hébergé par un
prestataire et accessible via des réseaux sécurisés ou au sein du ou
des datacenters de l’entreprise.

• Cloud hybride

Le Cloud hybride est une structure qui combine les ressources


mises à disposition par le Cloud public
et celles du Cloud privé.
(ou celle d'un autre Cloud privé).

12
Cell'Insights #8 - ISV Journey To The Cloud !
1.2 Le Cloud pour
l'éditeur logicielloud
La proportion d’éditeur logiciel proposant du SaaS est grandissante.
Si cette progression est nette depuis quelques années c’est que
les clients y trouvent un intérêt tout comme l’éditeur.
Lorsqu’une entreprise décide de mettre en place un logiciel pour
répondre à un besoin, plusieurs scénarios lui sont offerts :
• Développer sa propre application
• Acheter une application développée par un éditeur
• Souscrire à un logiciel en tant que service

Le développement en spécifique d’une application doit se


restreindre aux applications métier de l’entreprise. Pour tout ce
qui est application dite de commodité comme une messagerie,
un CRM, la gestion de la paie, il est préférable d’avoir recours à un
logiciel en tant que service.
Le développement spécifique nécessite des investissements et
des moyens humains pour coder l’application mais également
la maintenir et la faire évoluer dans le temps afin de toujours
répondre aux besoins des utilisateurs finaux.

Acheter une application tierce est une solution à envisager dans


certains scénarios, comme l’absence de solutions SaaS du marché
répondant au besoin ou pour des raisons de confidentialité si
l’application doit contenir des données confidentielles que l’on ne
souhaite faire héberger chez un fournisseur tiers.
La souscription à un logiciel en tant que service, ou application
SaaS, est quant à elle beaucoup plus rapide. L’entreprise doit
uniquement s’inscrire et procéder à quelques configurations avant
de pouvoir utiliser le logiciel ! De plus, le modèle économique est
différent. L’entreprise paye généralement selon son utilisation, ou
un abonnement fixe. Il n’y a pas de frais de mise en place.

13
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

a. Bénéfices et risques pour le client

Les entreprises qui achètent des solutions SaaS sont diverses, allant
des indépendants aux multinationales. Pourtant les avantages ont
tendance à être à peu près les mêmes. Les principaux avantages
pour les clients sont décrits ci-après.

Atout #1 : Déploiement rapide

Avec une solution SaaS, aucune installation n’est requise.


Lorsqu’un client souhaite installer un logiciel, il faut commencer
par la définition d’un dossier d’architecture technique à faire
valider par les différentes instances dont la sécurité. Il faut ensuite
attendre des semaines voire des mois pour que le logiciel soit
déployé et configuré sur ses propres serveurs. Avec le SaaS, le
logiciel est accessible directement via un navigateur Web. Le
déploiement est alors nettement plus rapide. Il est cependant
parfois possible d’intégrer la solution SaaS dans le système de
gestion d’identité de l’entreprise, ce qui suppose selon les cas, des
efforts supplémentaires en termes de configuration.

Atout #2 : un prix basé sur l’usage généralement

La tarification peut se faire selon différents modes dont le paiement


par utilisateur par mois laissant les clients payer uniquement pour
ce qu’ils utilisent. Plutôt que d’estimer des besoins, puis d’acheter
des licences à l’avance, les entreprises paient que selon l’utilisation
et en fonction de l’adoption du logiciel.

Atout #3 : risque financier faible

Le risque financier est également un avantage pour les clients par


rapport à un logiciel on-premises. En effet, les offres SaaS fournissent
en principe un mode « trial », de sorte qu’un client puisse essayer le
logiciel et vérifier sa valeur avant de payer. Le paiement à l’usage
entraine également moins de risque qu’une licence standard, d’autant
plus que le client peut se désabonner à tout moment.

14
Cell'Insights #8 - ISV Journey To The Cloud !
Atout #4 : Moins de ressources

Une solution SaaS réduit le besoin en ressources locales, telles que


les serveurs mais également en termes de personnel. Parce que
le logiciel fonctionne dans le Cloud, les clients n’ont pas besoin
d’investir dans du matériel et des ressources humaines pour
exécuter et gérer l’application. Cela est pris en charge par l’éditeur
directement.

Atout #5 : Mises à jour plus facile

Les applications en mode SaaS offrent des mises à jour logicielles


plus souples et plus transparentes pour le client. Rien n’est à mettre
à jour on-premises. Le fournisseur SaaS déploie des mises à jour et
le client bénéficie automatiquement des nouvelles fonctionnalités
(selon le process défini par le fournisseur et le type d’applications).
Dans le contexte d’une application on-premises, le passage d’une
version N à N+1 est parfois un projet à part entière.

Le monde du SaaS présente néanmoins quelques risques, décrits


ci-après, qu’il faut avoir en tête :

Risque #1 : Confiance envers le fournisseur

le fournisseur pour notamment en ce qui concerne la disponibilité


et la sécurité de l’application. La plupart des fournisseurs SaaS ne
laissent pas les clients examiner en détail la sécurité mise en place.
Au lieu de cela, les clients doivent apprendre à faire confiance au
fournisseur, ce qui peut prendre du temps.

Risque #2 : Légal et réglementation

données en dehors du SI du client. Beaucoup de pays ont des


règlements sur la localisation de certains types de données et la
façon dont elles doivent être traitées. Les fournisseurs SaaS doivent
en tenir compte notamment dans des contextes internationaux.

15
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

Risque #3 : Personnalisation

Les applications SaaS limitent le niveau de personnalisation


notamment dans le cadre d’une application multi-tenant. Dans ce
cas, les clients partagent la même instance de logiciel, abaissant les
coûts, mais cela limite les différences entre le logiciel et les clients.
Bien que les éditeurs fournissent des options de configuration,
une application on-premises est potentiellement plus facile à être
adaptée au contexte de son exécution.

Risque #4 : Intégration

Les applications SaaS peuvent être plus difficiles à intégrer aux


applications existantes. L’approche de l’intégration est différente et
nécessite des outils adaptés. La capacité à s’intégrer va fortement
dépendre des solutions en termes de connectivité proposées par
l’éditeur.

Risque #5 : Performance

La performance est un élément à surveiller et à ne pas négliger.


Elle dépend fortement de la connectivité internet. La performance
globale varie également selon le lieu d’hébergement de
l’application.

Atouts Risques
Déploiement rapide Confiance
Prix basé sur l’usage Légal / Réglementation
Risque financier faible Personnalisation
Moins de ressources Intégration
Mises à jour plus faciles Performance

16
Cell'Insights #8 - ISV Journey To The Cloud !
Comme le tableau de synthèse le suggère, les applications SaaS
ne sont pas adaptées pour toutes les applications et tous les
clients. Certains types d’applications comme la messagerie se
déplacent rapidement et facilement vers le SaaS : les avantages
sont largement supérieurs aux risques. Dans certains cas où par
exemple la personnalisation est importante, le choix du SaaS n’est
pas toujours le meilleur choix.

b. Bénéfices et risques pour l’éditeur

Si on se place maintenant du point de vue de l’éditeur, quels sont


les avantages et risques du SaaS ?

Atout #1 : Marché plus large

Un éditeur classique vend surtout ses applications à de grosses


entreprises ayant les moyens d’investir du temps et de l’argent
pour une application.

En proposant une application SaaS, l’éditeur peut attirer ces


mêmes clients qui peuvent être à la recherche d’une application
accessible partout et sur divers supports ou qui souhaitent juste
optimiser leurs coûts. Mais surtout l’éditeur élargit son marché
aux petites entreprises qui n’ont pas forcément le temps, l’argent
et/ou l’infrastructure pour mettre en place un logiciel classique.
Ce type d’entreprise peut désormais accéder à un logiciel en tant
que service simplement et en payant en fonction de son utilisation
indépendamment du lieu géographique.

Atout #2 : Vente directe aux directions métier

Les solutions en mode SaaS répondent à des besoin métier et


les éditeurs logiciel peuvent avoir un accès direct aux directions
métier de l’entreprise et ces derniers peuvent acheter directement
les solutions grâce à un simple navigateur court-cuitant parfais les
DSI (on parle alors de Shadow IT).

17
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

Atout #3 : Meilleure prédictibilité

De par le modèle économique sous forme d’abonnement, il est


plus facile pour les éditeurs de faire des prévisions sur leur chiffre
d’affaire.

Atout #4 : Réduction des coûts de support

Les coûts de support sont réduit principalement du fait


d’avoir qu’une version du logiciel en production. Les éditeurs
traditionnels avaient autant de versions que de clients à maintenir
et à supporter. Les coûts de support sont également réduits grâce
à la mutualisation engendrée par le système SaaS.

Atout #5 : Meilleure connaissance client

Les éditeurs ont une meilleure connaissance des clients car


ils savent à présent comment leur logiciel est utilisé par les
utilisateurs finaux (quelles fonctionnalités, quelle fréquence). Les
éditeurs traditionnels n’ont pas ces informations car le logiciel est
installé dans le SI des clients.
Tout comme pour un client, les solutions SaaS présentent des
risques pour l’éditeur dont voici les principaux.

Risque #1 : Changement du business

Nouvelle tarification, nouveau modèle de vente, le passage au


mode SaaS peut provoquer une certaine perturbation chez les
éditeurs au niveau notamment des processus, de l’organisation
interne.

Risque #2 : Démontrer la valeur ajoutée

Un simple navigateur web et un portail en self-service permet


aux clients de tester en toute autonomie le logiciel. Il faut donc
convaincre rapidement, en quelques clics, pour gagner de
nouveaux clients. Il faut donc démontrer la valeur du logiciel pour
les utilisateurs finaux, sinon ils achèteront un logiciel concurrent.

18
Cell'Insights #8 - ISV Journey To The Cloud !
Risque #3 : Croissance du revenu

Avec les licences traditionnelles locales, chaque organisation qui


achète une copie du logiciel paie en une fois la globalité de la
licence. Avec le modèle d’abonnement dans le monde SaaS, les
clients ne paient qu’un petit montant par utilisateur et par mois.

Risque #4 : Personnalisation

Avec le mode dit du multi-tenant, l’éditeur ne supprime pas la


personnalisation mais va la limiter. Les éditeurs qui ont bâti leur
modèle économique sur la personnalisation, vont devoir s’adapter
au monde SaaS.

Risque #5 : Défis commerciaux

Les offres SaaS sont communément vendues directement par


l’éditeur plutôt que par des intermédiaires, ce qui peut créer un
conflit. Le SaaS a également tendance à réduire le montant des
recettes initiales disponibles pour le partage avec les partenaires.

Atouts Risques
Marché plus large Changement du business
Vente directe aux Démontrer la valeur ajoutée
directions métier
Meilleur prédictibilité Croissance du revenu
Réduction des coûts Personnalisation
Meilleure connaissance client Défis commerciaux

Tout comme pour les clients, la décision de l’éditeur logiciel


d'adopter le SaaS devrait être faite au cas par cas. Certains marchés
sont susceptibles d'être dominés par une solution SaaS dans un
avenir proche, tandis que d'autres se déplacent plus lentement.
Chaque ISV doit évaluer ses offres et le marché pour chacune
d'elles, puis prendre une décision réfléchie.

19
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

1.3 Arbre
de décisionoud
Les risques présentés auparavant peuvent rendre le monde du
SaaS peu attrayant pour les ISV avec un business établi. Pourquoi
investir dans un nouveau produit avec une croissance plus faible
des revenus et potentiellement un changement de l’organisation ?

Le choix est en fait plus complexe qu’il n’y parait. La figure suivante
montre un arbre de décision simple qui résume les options pour
un éditeur logiciel établi.

20
Cell'Insights #8 - ISV Journey To The Cloud !
1.4 Proposer
un logiciel en tant
que service
Avant de pouvoir proposer une application SaaS, l’éditeur doit
faire évoluer son infrastructure. Celle-ci doit assurer :
• La haute-disponibilité des applications pour que la maintenance
et les mises à niveaux soient transparents pour l’utilisateur final
• La scalabilité pour supporter la montée en charge et les pics de
charges
• La capacité à pouvoir être intégrée dans le système de gestion
d’identité de leurs clients

L’éditeur a plusieurs possibilités :


• Avoir sa propre infrastructure et la faire évoluer
• Choisir un hébergeur externe qui correspond à ces besoins
• Migrer vers le Cloud

a. Cloud répond aux impératifs…

Une application SaaS propose une mise en place rapide, le client


doit pouvoir s’inscrire et configurer lui-même l’application puis
l’utiliser. Le déploiement d’un nouveau client doit donc être
totalement automatisé sans quoi l’utilisation de l’application ne
pourra pas se faire rapidement après l’inscription.

Par nature, le Cloud facilite l’automatisation :


• Réservation des ressources
• Provisionnement
• Déploiement, montée de versions

21
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

Le Cloud garantit la livraison immédiate des services, c’est


pourquoi la mise à disposition des ressources nécessaires à un
nouveau client d’une application SaaS est simplifiée avec le Cloud.

De plus, un client supplémentaire suppose pour l’infrastructure


l’augmentation de la volumétrie et de la performance nécessaire.
Le Cloud permet d’ajouter rapidement voire automatiquement
les briques nécessaires pour supporter cette volumétrie et cette
performance. Quant à l’hébergement classique, On-Premise ou
externalisé, il implique la disponibilité des serveurs donc leur
immobilisation en avance et donc un coût supplémentaire pour
l’éditeur. Le Cloud permet à l’éditeur d’optimiser ses coûts liés
à l’hébergement en adaptant ses investissements à ses réels
besoins et de consacrer le budget IT sur des innovations comme
illustré dans le schéma suivant :

22
Cell'Insights #8 - ISV Journey To The Cloud !
Une plateforme Cloud peut assurer une disponibilité continue
de l’application
Les phases de maintenance ou de mises à niveau d’une
application engendrent de l’indisponibilité pour les utilisateurs.
Une plateforme Cloud permet de mettre en place une redondance
efficace pour assurer une disponibilité continue de l’application.
Ainsi, les phases de maintenance peuvent être totalement
transparentes pour les utilisateurs de l’application. De même si
l’éditeur souhaite faire une mise à niveau pour tous ses clients,
celle-ci peut se faire sans coupure.

Le Cloud assure une scalabilité pour l’éditeur dont il peut


ensuite faire profiter ses clients. Ainsi, l’éditeur logiciel
optimise ses coûts et pourra permettre à ses clients d’optimiser
leurs coûts.
La nature physique de l’hébergement classique limite la mise à
l’échelle des ressources nécessaires à l’application. Par contre, les
plateformes Cloud proposent des mises à l’échelle («  scaling  »)
à la demande mais surtout elles permettent de mettre en place
une mise à l’échelle automatique (« autoscaling »). Cela permet de
gérer à la fois la montée en charge ainsi que la baisse de charge.

En cas de montée en charge, il existe 2 types de mise à l’échelle :

• Scaling Up ou mise à l’échelle verticale : cette mise à l’échelle


consiste à garder le même nombre d’instances mais à augmenter
leur capacité.
• Scaling Out ou mise à l’échelle horizontale : cette mise à l’échelle
consiste à ajouter des instances supplémentaires.
En cas de baisse de charge, on parlera de Scaling Down qui
consiste à retirer des instances non nécessaires.
Le dimensionnement dépend donc de l’utilisation, ainsi l’éditeur
logiciel paye uniquement pour les ressources utilisées.

23
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

Le Cloud facilite les déploiements internationaux.


Pour chaque déploiement, il est possible de choisir le datacenter
du fournisseur Cloud. A partir de la même console, l’éditeur peut
déployer son application dans plusieurs datacenters simplement.
En choisissant des datacenters proches de ses clients, ces derniers
bénéficient de meilleures performances. Microsoft Azure fournit
par exemple un service de routage du trafic (Azure Traffic
Manager) basé différents types de règles et notamment sur les
performances,e en dirigeant le trafic depuis le client à l’origine de
la demande vers le point de terminaison le plus proche, c’est-à-
dire celui qui a la plus faible latence par rapport au client. Ce point
de terminaison est en générale le plus proche géographiquement.
L’éditeur logiciel peut donc élargir son business à des clients
internationaux sans crainte.

24
Cell'Insights #8 - ISV Journey To The Cloud !
Le Cloud assure une qualité de service
L’éditeur ayant des ressources hébergées dans le Cloud établira
un contrat avec le fournisseur de Cloud pour garantir la qualité de
service qui lui permettra de respecter la qualité de service promise
à son client.

b. …et va encore plus loin

En migrant sur le Cloud, l’éditeur logiciel se décharge d’une partie


plus ou moins importante de son activité actuelle :

• La maintenance de l’infrastructure est gérée par le fournisseur


Cloud
• En passant par une solution PaaS, la couche logicielle
intermédiaire est également gérée par le fournisseur Cloud
(Système d’exploitation, bases de données, serveurs web).

Ainsi, l’éditeur logiciel peut se concentrer sur le développement


de son application :

• Ajustement en fonction des besoins des clients


• Développement de nouvelles fonctionnalités
• Création de nouvelles applications

Le déploiement d’un nouveau service au sein d’une infrastructure


traditionnelle peut prendre plusieurs mois voire plus. Le coût et le
temps de mise en place de l’infrastructure nécessaire au nouveau
service est même parfois un frein pour l’entreprise.
L’infrastructure nécessaire à un nouveau service peut être déployée
en quelques minutes dans une infrastructure Cloud (IaaS).
L’infrastructure peut même être totalement transparente dans le
cas d’un déploiement sur une plateforme PaaS. Le déploiement
d’un nouveau service peut donc se faire beaucoup plus
rapidement tout en limitant le risque financier. En effet, si le
nouveau service n’est finalement pas utilisé par les clients il est
plus aisé de revenir en arrière. Les ressources Cloud ne sont plus
utilisées et ne sont donc plus facturées.

25
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 1 Appréhender

Au-delà du déploiement de nouvelles fonctionnalités, le


passage au Cloud peut être l’opportunité d’élargir son offre
à des technologies innovantes telles que le Big Data ou l’IOT
(Internet Of Things). Ces nouveaux concepts se sont développés
grâce au Cloud qui propose un espace de stockage illimité et une
puissance de calcul démultipliée. Migrer vers le Cloud facilitera
donc la mise en place de ces nouvelles technologies.

En résumé, la migration d’un éditeur logiciel


vers le Cloud peut lui assurer :

• Agilité donc réduction du Time to Market


• Scalabilité donc optimisation des coûts
• Facilité d’innovation
• Qualité de service

26
Cell'Insights #8 - ISV Journey To The Cloud !
LES ESSENTIeLS

Le passage vers le SaaS entraine des changements


importants pour l’éditeur

Le passage au Cloud Computing est fondamental pour les


éditeurs

L’éditeur peut se concentrer son application en apportant


plus rapidement de l’innovation

27
Cell'Insights #8 - ISV Journey To The Cloud !
Migrer

28
Cell'Insights #8 - ISV Journey To The Cloud !
Avec ses bénéfices, le Cloud est aujourd’hui un axe de développement
privilégié des entreprises. Il peut être employé pour atteindre de
nouveaux clients plus facilement grâce à des architectures robustes et
scalables. Il permet également de profiter des nombreuses innovations
technologiques sans se focaliser sur la maintenance de l’infrastructure
technique.

Afin d’adopter le Cloud et ses opportunités, quelle est la meilleure


stratégie à mener pour transformer votre entreprise, en tant qu’éditeur
de solutions  ? Quelle serait la bonne approche pour parvenir à tirer
profit de cette ressource ?

29
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

2.1 Démarche de
migration vers
le Cloud

a. Démarche de migration vers le Cloud

Pour conduire une migration vers le Cloud, il est important de


procéder étape par étape. Le Cloud a des impacts à différents
niveaux technologiques et organisationnels qui doivent être
abordés de façon particulière.

30
Cell'Insights #8 - ISV Journey To The Cloud !
b. Analyse de l’existant

Dans un premier temps, il est fondamental de dresser une


cartographie afin d’identifier les applications ou services qui
composent les offres de votre entreprise. Cette analyse doit mettre
en évidence la criticité métier de chaque application ainsi que
leur complexité technique. L’objectif de cette phase est d’avoir les
idées claires sur les applications et de les comparer entre elles au
travers d’une analyse des applications, des gains attendus, de la
pertinence de migration et ainsi définir un plan de migration.

31
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

Pour évaluer ces critères, on peut par exemple s’appuyer sur le


nombre d’utilisateurs, le nombre de fonctionnalités implémentées,
l’architecture technique employée et les procédures d’installation
associées à ces applications. Un outil tel que le quadrant de
migration se révèle utile pour synthétiser les résultats de l’analyse
et définir une première priorisation de migration des applications.

Cet outil apporte des éléments d’information sur l’empreinte de


chaque application et facilite la définition de la vision de l’ISV, du
cap que l’entreprise va suivre pour son voyage vers le Cloud. On
s’assure alors de la maîtrise de son SI et des bonnes fondations
pour amorcer le chantier de transformation vers le Cloud. Il est
alors important d’en définir la vision à long terme, de tracer une
trajectoire cible.

Toutes les applications sont ensuite passées en revue selon deux


axes : la qualité technique et la valeur fonctionnelle. On s’intéresse
en particulier à la manière dont l’application a été développée,
on détermine si le code est clair et maintenable et on évalue la
pertinence des fonctionnalités proposées par ces applications.
Cela permet décider des actions appropriées à dérouler sur
chaque application.

32
Cell'Insights #8 - ISV Journey To The Cloud !
L’évaluation de chaque application est l’occasion pour l’ISV de
réduire la dette technique, c’est-à-dire d’aborder et de résoudre
les problèmes techniques qui ont été mis à l’écart par manque
de temps ou par absence de priorisation. On peut par exemple
citer les bonnes pratiques de développement qui n’ont pas été
appliquées, les procédures d’installation ou d’exploitation qui
sont imprécises, où la stabilité des applications repose sur des
connaissances dispersées.

Une bonne stratégie de migration repose sur la règle des « 6R »


(inspirée du Gartner) comme illustré dans le schéma suivant :

Replatforming  : l’application est correctement codée et les


fonctionnalités ont vocation à être portées sur le Cloud. On va
chercher à la réutiliser mais en tirant profit du Cloud et des services
à disposition qui peuvent s’y rattacher. Certains composants
techniques pourront être modifiés pour être « Cloud compliant »,
pour respecter par exemple les exigences d’architecture pour
supporter la haute disponibilité et la scalabilité automatique.

33
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

Refactoring : l’application et ses fonctionnalités sont pertinentes.


Néanmoins, la mauvaise qualité du code peut engendrer des
problèmes en termes de performances et l’application est difficile
à maintenir, il est contraignant de la faire évoluer. Plutôt que de
migrer l’application en tant que telle sur le Cloud, on va plutôt
procéder à sa réécriture pour la rendre plus robuste, tout en
privilégiant les bonnes pratiques de développement.

Rehosting  : l’application est correctement développée mais ne


présente pas une valeur fonctionnelle importante. La migration
sur le Cloud n’est pas primordiale. Dans ce cas, il est tout à fait
possible de considérer qu’on la réutilise à l’identique, et de
n’effectuer aucune action particulière sur cette application.

Repurchasing : l’application est mal développée, elle présente des


dysfonctionnements et on n’a pas vocation à y investir davantage
d’effort. Il faut alors s’interroger sur sa pertinence et déterminer si
le remplacement de cette application est envisageable. Plutôt que
de continuer à y attribuer des ressources, remplacer l’application
peut être un choix plus judicieux.

c. Identification des impacts de migration

Après l’analyse de l’existant, le paysage applicatif est maîtrisé.


Dans la prochaine étape, il s’agit d’identifier les impacts de la
migration sur les applications. Celles-ci fonctionnent rarement
de façon autonome  : il existe des interfaces avec d’autres
applications, d’autres systèmes qu’il faut bien mettre en évidence.
Quels sont alors les impacts au niveau du déploiement ? Toutes
ces informations sont utiles pour orchestrer la migration vers le
Cloud et veiller au bon déroulement de la bascule.

34
Cell'Insights #8 - ISV Journey To The Cloud !
Pour réussir une migration, il est important d’établie les critères
de migration techniques mais également « business », le tableau
ci-dessous donne un exemple de critères à prendre en compte.

En parallèle, il est recommandé de s’interroger sur les impacts d’un


point de vue organisationnel. Au-delà des aspects techniques, les
trajectoires de migration doivent tenir compte des processus en
place et des personnes qui utilisent actuellement les applications.
Comment faire en sorte que la migration se fasse en toute
transparence pour l’utilisateur ? Quelles sont les équipes impactées
par une migration vers le Cloud  ? Seront-elles disponibles et
comment vont-elles réagir ? Si des actions supplémentaires sont
nécessaires, quel serait le dispositif à mettre en place ?

35
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

Cette phase d’identification des impacts ne doit pas être négligée.


Dans la conduite du changement, il est regrettable de rencontrer
des problèmes qui auraient pu être évités par une analyse plus
approfondie en amont. Ces écueils peuvent porter atteinte à
la migration vers le Cloud  : s’ils ne sont pas inhérents au Cloud
lui-même, pour les personnes extérieures ces problèmes seront
rattachés au Cloud et seront donc susceptibles d’impacter la
stratégie de migration.

d. Scénarii de migration

Une fois l’ensemble des éléments à disposition, il est possible


d’élaborer les différents scénarii de migration. Plusieurs approches
sont envisageables, selon lesquelles le temps de migration vers le
Cloud peut être plus ou moins rapide selon le niveau de maturité
comme expliqué dans le schéma suivant :

Enfin, il ne faut pas perdre de vue qu’une migration est un


processus qui peut s’étaler sur une longue période. Pour offrir la
continuité de service entre la situation initiale et la destination
cible, il faut souvent prévoir une phase durant laquelle certains
services s’exécuteront à demeure, tandis que d’autres resteront
on-premise. Le scénario de migration se doit donc d’intégrer les
différentes étapes transitoires qui conduisent à sa pleine et entière
réalisation.

36
Cell'Insights #8 - ISV Journey To The Cloud !
e. Synthèse

Une fois les différents scénarii et leurs trajectoires identifiées, il


est possible de sélectionner le scénario en tenant compte des
avantages et des inconvénients qui lui correspondent, tout en
l’accordant à la vision long terme que l’on souhaite donner en
tant qu’éditeur de solutions. Les jalons et les objectifs à atteindre
seront clairement indiqués dans la planification de la migration
vers le Cloud. Il faut vérifier les disponibilités des ressources
concernées pour déterminer comment la migration s’inscrit
dans le temps. On pensera également à lister les indicateurs clés
qui seront significatifs pour mesurer l’adoption du Cloud, aussi
bien du point technique qu’organisationnel. Comme dans toute
problématique de gestion du changement, la planification et
la communication ne doivent pas être négligées si on souhaite
parvenir à une migration réussie.

Nous avons pu parcourir les différentes étapes dans une démarche


de migration vers le Cloud qui permettent d’avoir une meilleure
compréhension des besoins en tant qu’éditeur de solutions et de
la trajectoire à suivre pour réaliser la vision long terme. Le Cloud
apporte de nouveaux concepts et il est pertinent de s’interroger
sur les choix technologiques possibles pour ses applications.

37
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

2. 2 Les possibilités
inédites du Cloud
Dans cette partie, nous allons aborder les différentes solutions
technologiques que nous apporte la plateforme Cloud Microsoft
Azure pour répondre aux sujets de conception technique.

a. Hébergement d’applications et de services

Lorsque l’on pense au Cloud, la première idée qui nous vient à


l’esprit est de connaître quels sont les composants déjà présents
dans notre système d’information que l’on pourrait migrer tels
quels, sans modification. Généralement, on pense à l’hébergement
des machines virtuelles : la virtualisation est très répandue pour
les applications depuis plusieurs années et on souhaite les migrer
directement. Sur le Cloud de Microsoft, il est possible d’utiliser
le service Azure Virtual Machines, qui permet d’instancier des
machines virtuelles aussi bien de type Windows Server que Linux.
Ces machines virtuelles sont gérées de la même façon que celles
déjà utilisées en entreprise  : on peut s’y connecter via un accès
distant et effectuer les opérations sur la machine virtuelle. De
plus, il est possible de créer des réseaux virtuels pour établir des
architectures plus complexes.

38
Cell'Insights #8 - ISV Journey To The Cloud !
Compte tenu des contraintes du Cloud, la connectivité technique
entre le réseau virtuel sur Azure et le réseau d’entreprise peut
s’opérer par la mise en place d’un VPN de site à site, sécurisé en
IPSEC. Cela permet de gérer les machines virtuelles comme si elles
étaient présentes sur le réseau d’entreprise.

Néanmoins, le fonctionnement Infrastructure-as-a-Service des


machines virtuelles n’est qu’une des possibilités offertes par
le Cloud Azure pour exécuter ses applications d’entreprise. Il
existe des services qui présentent des avantages beaucoup plus
intéressants, en mode Platform-as-a-Service, comme par exemple
Azure Cloud Services et Azure App Services. L’utilisation de ces
services est privilégiée dans une vision Cloud : les opérations de
scalabilité horizontale (augmentation du nombre d’instances de
traitement) et de scalabilité verticale (passage à des instances de
capacité supérieure) sont exécutables facilement. De plus, il n’est
pas nécessaire de gérer la maintenance du système d’exploitation
ou d’effectuer les patches serveur, ce qui est différenciant par
rapport à l’utilisation des machines virtuelles. Par exemple, pour
l’hébergement d’un site web en mode Platform-as-a-Service, vous
allez uniquement fournir aux services Azure le contenu du site
web et celui-ci pourra s’exécuter directement.

39
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

Par rapport au mode Infrastructure-as-a-Service, vous n’avez plus


besoin :

• d’installer sur une machine virtuelle le service web, effectuer les


configurations nécessaires et y ajouter le contenu du site,
• d’exécuter les tâches de maintenance, de mises à jour qui vous
empêchent de vous focaliser sur les activités à valeur ajoutée,
• d’investir du temps pour garantir la haute disponibilité, tout en
veillant à l’évolutivité du système, à la scalabilité lors des pics
de charge.

b. Stockage de données sur Azure

Concernant le stockage de données, on retrouve la même dualité.


Plutôt que d’instancier et d’installer un serveur SQL sur une
machine virtuelle, il existe des espaces de stockage prêts à l’emploi
avec à la clé de la robustesse et un gain de temps. Il est également
pertinent de réfléchir aux types de données à stocker. Pour du
stockage de données structurées, Azure SQL Database permet
d’allouer une base de données manipulable comme une base de
données SQL Server standard, mais sans avoir à gérer l’installation
et la maintenance technique qui sont souvent couteuses.

40
Cell'Insights #8 - ISV Journey To The Cloud !
En fonction du cas d’usage, il est plus intéressant d’utiliser du
stockage de données de type NoSQL. Ces bases présentent de
multiples bénéfices par rapport aux bases SQL traditionnelles :

• Leur conception technique permet la scalabilité horizontale :


les données sont réparties sur plusieurs instances actives là où,
pour les bases de données SQL standard, elles sont stockées
au même endroit et requièrent une instance de forte capacité
et bien maintenue,
• Le coût est plus avantageux par rapport aux bases SQL standard,
non négligeable lorsque l’on traite des volumes de données
importants,
• Le modèle de données est moins contraignant et plus flexible,
la structure peut évoluer simplement avec vos applications.

Pour le stockage de données non structurées comme des fichiers


textes, des images ou des vidéos, Azure Blob Storage permet de
gérer une grande volumétrie de données. La facturation de ce
service dépend, comme les autres services de stockage, de l’espace
utilisé. Toujours pour optimiser les performances et améliorer
l’expérience des utilisateurs, Azure Content Delivery Network
permet de transmettre les données à partir des serveurs qui sont à
proximité. Pour les vidéos, Windows Azure Media Services fournit
des capacités de stockage et d’encodage de vidéo sur le Cloud,
profitant de l’infrastructure technique performante. De plus, les
vidéos peuvent être mises à disposition en smooth-streaming : la
vidéo diffusée va varier en fonction de l’appareil et de la qualité de
la bande passante de l’utilisateur. Ce service peut être utilisé pour
développer des applications contenant des vidéos, accessibles via
web ou mobile.

Les services de stockage sur Azure en mode PaaS vous permettent


de profiter de la richesse de l’infrastructure Azure, avec une
réplication automatique des données et une copie possible sur
un autre datacenter pour assurer la persistance de vos données.
Ces caractéristiques favorisent le Time-To-Market : on se focalise
sur le développement de nouvelles fonctionnalités plutôt que de
se préoccuper de l’installation de l’infrastructure technique.

41
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

c. Des optimisations facilitées grâce au Cloud

Migrer les applications sur le Cloud est également l’occasion pour


apporter des améliorations à l’architecture technique et mettre
en œuvre les bonnes pratiques. En ce sens, le Cloud Azure facilite
l’implémentation du cache dans vos applications grâce au service
Azure Cache, basé sur la technologie Redis. L’implémentation
du cache rend les données qui sont fréquemment consultées
accessibles plus rapidement grâce des copies temporaires. Les
applications sont alors plus fluides et il en résulte une meilleure
expérience utilisateur auprès des clients. Toutes les petites
optimisations peuvent faire la différence entre votre application
et celles proposées par vos concurrents.

42
Cell'Insights #8 - ISV Journey To The Cloud !
Si vous souhaitez déployer votre application à l’international,
les nombreux datacenters Microsoft Azure implantés dans les
différentes régions du monde facilitent l’accès à vos services dans
les pays étrangers. Vous n’avez pas besoin d’entrer en contact
avec un autre hébergeur et de prendre compte des modalités de
déploiement, votre plateforme applicative peut être déployée à
l’identique sur Microsoft Azure, en spécifiant tout simplement la
région souhaitée. La gestion des services Azure s’effectue à partir
du même portail et il n’est donc pas nécessaire de se familiariser
avec une autre interface. En fin de compte, si votre application
supporte les différentes langues, la déployer à l’international est,
sur l’aspect technique, relativement simple.

Les datacenters Azure présents dans le monde vous permettent


également de tirer profit du service Azure Traffic Manager.
Vos utilisateurs accèderont à votre application à travers une
adresse paramétrée sur le Traffic Manager. Cette adresse peut
être configurée pour correspondre aux différents sites où est
déployée votre application. Ainsi, l’utilisateur se connectera à
votre application sur le site le plus proche, à partir du datacenter
où les meilleures performances seront garanties. Par exemple, un
utilisateur en Asie n’accèdera pas à votre application à partir du
même datacenter Azure qu’un utilisateur situé en Europe. Cette
redirection est automatique et totalement transparente.

43
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

Il est également possible d’utiliser le Traffic Manager pour assurer


la très haute disponibilité de votre application et élaborer un plan
de reprise d’activité. En activant la géoréplication de vos données
sur Microsoft Azure et en déployant vos services à l’identique sur
deux datacenters, votre application et les données associées sont
disponibles sur deux sites distincts grâce à des mécanismes de
copie entre les sites. En cas de panne sur un des datacenters, le
Traffic Manager peut automatiquement aiguiller les requêtes vers
le second site. Cela permet d’atteindre un niveau supérieur en
termes de SLA de disponibilité.

44
Cell'Insights #8 - ISV Journey To The Cloud !
2. 3 La question
de l'intégration
a. Intégration au SI existant et Cloud Hybride

Le Cloud propose de nombreux atouts mais il est important de


considérer le système d’information existant. Des applications ont
été développées et des données sont stockées dans le SI interne
et il est tout à fait pertinent de s’interroger sur les méthodes qui
permettent d’interfacer le SI interne avec le Cloud. L’idée à retenir
est qu’il faut tirer le meilleur parti des deux environnements. En
tant qu’éditeur de solutions, comment interfacer une application
que vous proposez à vos clients, qui est hébergée sur le Cloud,
avec leur système d’information interne ?

Afin d’assurer les transferts de message de façon fiabilisée entre le


Cloud et le SI interne, on dispose du service Microsoft Azure Service
Bus. Utilisé en mode topic, il fonctionne en tant que bus de service
par Publication/Souscription et est adapté pour les messages
asynchrones. Ce schéma permet de mieux répondre aux variations
de la vélocité des messages qui, dans un système synchrone,
pourrait engendrer une surcharge au niveau des applications qui
collectent et traitent les messages. Azure Service Bus peut ainsi
assurer les échanges de messages entre les composants sur Azure,
mais également avec les systèmes hébergés à demeure, au sein
de l’entreprise.

45
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

Pour les appels synchrones, Azure Service Bus en mode Relay peut
être employé pour exposer les web services de votre SI existant
sur le Cloud. Les applications déployées sur le Cloud peuvent, de
cette façon, interagir avec les services exposés. Cette configuration
est d’autant plus intéressante car elle ne nécessite pas l’ouverture
d’un port réseau entrant sur le pare-feu d’entreprise. Azure Service
Bus Relay n’utilise que l’ouverture de ports standards sortants.

Si on préfère mettre en place une connectivité entre le SI interne


et les instances déployées sur Azure, il existe plusieurs solutions :

• Azure Hybrid Connection permet de configurer des serveurs


hébergés dans le SI interne afin qu’ils jouent le rôle de
passerelle en les deux environnements. Les instances de votre
souscription Azure peuvent alors interagir avec les serveurs de
votre entreprise.
• Azure VPN Site-to-Site offre la possibilité de créer un tunnel
VPN sécurisé en IPSEC entre un réseau virtuel configuré sur
Azure et le réseau d’entreprise.
• Azure ExpressRoute relie un réseau d’entreprise avec les
instances sur Azure désirées sans passer par les liens Internet.
Cette connectivité est assurée par des partenaires réseaux
certifiés et permet de bénéficier de meilleures performances
s’agissant des transferts entre Azure et votre entreprise.

46
Cell'Insights #8 - ISV Journey To The Cloud !
Les problématiques d’intégration concernent également la gestion
des identités et des accès : comment authentifier les utilisateurs
qui se connectent aux applications hébergées sur le Cloud en
exploitant les systèmes déjà existants au sein d’une entreprise ?
Azure Active Directory est un service d’authentification et de
gestion d’identités qui propose un ensemble de fonctionnalités
dont l’intégration avec un Active Directory d’entreprise, ou un
autre type d’annuaire d’entreprise. Il est possible de configurer la
synchronisation des utilisateurs de l’Active Directory d’entreprise
et d’Azure Active Directory, ou de fédérer les identités. De cette
façon, les utilisateurs peuvent se connecter aux applications
Cloud à partir de leurs comptes d’entreprise. D’autre part, pour
des applications grand public, les utilisateurs peuvent simplement
s’authentifier sur vos applications Cloud à partir de leur compte
Live Microsoft, Google ou Facebook grâce à Azure Active Directory
B2C. Cela leur évite de créer un nouveau compte pour utiliser vos
services.

47
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 2 Migrer

48
Cell'Insights #8 - ISV Journey To The Cloud !
LES ESSENTIeLS

La migration d’un éditeur logiciel vers le Cloud peut lui assurer :

Agilité donc réduction du Time to Market

Scalabilité donc optimisation des coûts

Facilité d’innovation

Qualité de service

49
Cell'Insights #8 - ISV Journey To The Cloud !
Evoluer

50
Cell'Insights #8 - ISV Journey To The Cloud !
Le passage au Cloud pour un ISV ne doit pas se limiter à la migration
de ces services sur le Cloud. Cela doit être l’occasion de faire évoluer son
offre et son organisation.

51
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer

3.1 Une nouvelle


offre
Dans le cas où l’ISV propose une offre SaaS ou souhaite proposer
une offre SaaS, le passage au Cloud est l’occasion de redéfinir son
offre notamment à travers l’architecture à mettre en place et le
modèle économique proposée.

a. Architecture

Dans le cadre d’une offre SaaS, l’ISV se charge de la gestion des


couches Web, Middleware et Data, indépendamment du fait
que ce soit On-Premise ou dans le Cloud. L’éditeur doit donc
faire un choix d’architecture pour pouvoir mettre à disposition
son application à plusieurs clients. En cas de souscription d’un
nouveau client, comment l’architecture évolue ?

• Architecture Single-Tenant

Dans une architecture single-tenant, chaque client dispose de sa


propre application, dans un environnement dédié.

52
Cell'Insights #8 - ISV Journey To The Cloud !
Cette architecture est rassurante pour le client puisque les
environnements des clients sont hautement cloisonnés  : bases
de données distinctes, serveurs d’applications distincts. Pour
l’éditeur, l’export des données du client ou la suppression d’un
compte client est simple.

L’éditeur peut proposer une customisation assez fine pour chaque


client  : stratégie d’authentification spécifique par exemple. Cela
nécessitera forcément un temps de mise en place un peu plus
important.

Cependant, la scalabilité, donc l’optimisation de coût, que peut


offrir l’éditeur avec cette architecture est limitée puisque les
instances ne sont pas partagées entre clients.

Cette architecture offre donc beaucoup de sécurité pour le client


mais elle sera rapidement très onéreuse et très difficilement
maintenable pour l’éditeur. Plus il y aura de clients, plus
l’architecture sera lourde au vu du nombre d’environnements à
gérer. Si en plus chaque client bénéficie d’une version spécifique,
la maintenabilité de votre architecture sera beaucoup plus
complexe.

• Multi-Tenant

Dans une architecture multi-tenant, les ressources sont


mutualisées : bases de données, serveurs d’applications.

53
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer

Avec une base de données mutualisée, l’éditeur va devoir être


rigoureux sur le cloisonnement des données entre les clients.

Cette architecture ne permet pas à l’éditeur de proposer beaucoup


de customisation au client, cela se limitera par exemple à l’IHM ou
à un choix de fonctionnalités optionnelles bien définies.

En termes de scalabilité, cette architecture est idéale. Les instances


étant partagées entre les clients, il y a moins de ressources
inutilisées et la consommation peut être optimisée. Evidemment,
le développement réalisé par l’éditeur doit être conçu pour être
scalable.

L’investissement de départ pour l’éditeur est plus important avec


la mise en place d’une telle architecture. Le fait de proposer des
fonctionnalités optionnelles impose un développement adapté,
tout comme pour assurer une forte scalabilité. Néanmoins,
au cours du temps, une application multi-tenant devient plus
rentable qu’une application single-tenant.

54
Cell'Insights #8 - ISV Journey To The Cloud !
• Cloisonnement des données en mode multi-tenant

Pour rassurer le client sur la sécurité de ses données, l’éditeur peut


proposer un niveau intermédiaire dans le cloisonnement de ces
dernières. Entre un mode isolé dans lequel les bases de données
seraient séparées, solution peu flexible, et un mode partagé où
tous les clients partageraient les mêmes schémas, des alternatives
sont possibles. On peut par exemple proposer une solution dans
laquelle les clients partageraient leur base de données mais où
chacun aurait son propre schéma.

Pour faire son choix l’éditeur doit définir le type d’entreprise


susceptible d’utiliser son application :

• Dans le cas d’une application destinée à des entreprises de


taille importante générant une forte utilisation (beaucoup
d’utilisateurs et volumétrie de données conséquente), avec des
spécifications liées à chaque entreprise, il sera plus judicieux de
proposer un mode isolé.
• Pour des applications adaptées à des petites entreprises,
l’éditeur misera sur le nombre de clients pour générer du chiffre
d’affaires. Ce type d’entreprise générera une volumétrie de
données plus faible. Il sera donc plus intéressant de mutualiser
les bases de données et les schémas.

55
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer

Le choix du niveau de cloisonnement de données peut ainsi faire


partie intégrante de la stratégie de l’éditeur. En effet, une application
peut très bien être adaptée à tout type d’entreprise et le choix d’un
mode isolé ou partagé permettra de cibler un type d’entreprise.

b. Modèle économique

En passant à un mode SaaS, l’éditeur ne vend plus un logiciel, une


licence mais un service. Le modèle économique doit donc évoluer.
Voici quelques-uns des aspects auxquels il faut réfléchir :

• Visibilité

En proposant un service et non plus un produit, le contact entre


l’éditeur et le client évolue. Ce dernier peut souscrire et disposer
du service de façon autonome et rapide. La communication de
l’éditeur ne peut donc plus être la même. Avec une offre SaaS,
l’éditeur peut être visible sur des marketplaces telles que celle de
Microsoft Azure. En effectuant une recherche dans le catalogue de
solutions, les clients vont pouvoir sélectionner la solution de l’ISV
et y souscrire.

Pour vendre ce type de solution, les équipes de commerciaux


doivent être impliquées au plus tôt et formées. Le contrat vendu

56
Cell'Insights #8 - ISV Journey To The Cloud !
par les commerciaux n’est plus un contrat de concession sur les
droits d’utilisation mais un contrat de service dans lequel l’éditeur
s’engage sur le résultat  : taux de disponibilité et sécurité par
exemple.

• Personnalisation

L’éditeur doit également définir les caractéristiques de la solution


proposée aux clients. S’agit-il d’une solution unique pour
l’ensemble des clients ou d’une solution personnalisable ?

Architecture  : L’ISV doit faire un choix d’architecture single-


tenant ou multi-tenant. Comme vu précédemment, ce choix
dépend du type de clients potentiels. Cependant, on peut
éventuellement penser à une architecture hybride  : l’éditeur
propose une offre single-tenant à destination des clients les plus
importants. L’architecture mise en place sera une architecture
multi-tenant qu’on pourra dupliquer pour proposer un
environnement isolé pour un gros client.
Données : Dans le cas d’une architecture multi-tenant, il faut
choisir la façon dont les données des clients sont gérées : base
de données isolée, schéma partagé, modèle intermédiaire ? Là
aussi, l’éditeur peut choisir de laisser le choix au client.
Version  : Un éditeur qui propose une offre SaaS peut avoir
tendance à imposer au client la montée de version. Cela
simplifie grandement sa gestion en ne maintenant qu’une
seule version de sa solution. Ce modèle est à l’extrême opposé
des solutions classiques dans lesquelles on peut retrouver
autant de versions que de clients. Seulement, pourquoi ne pas
maintenir quelques versions de la solution pour laisser le temps
au client de s’adapter à une nouvelle version  ? On peut par
exemple imaginer que l’éditeur laisserait 3 versions (N-1, N et
N+1) disponibles et en cas de montée de version, le client aurait
le choix de rester sur sa version ou non à condition d’avoir une
des 3 versions maintenues. Evidemment, un tel choix aurait des
conséquences sur l’architecture technique à mettre en place.

57
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer
Fonctionnalités : Au-delà de la version de la solution proposée au
client, l’éditeur pourrait également proposer de personnaliser les
fonctionnalités utiles au client. Dans le cadre d’une architecture
single-tenant, la personnalisation peut être très affinée. Cela se
traduit nécessairement par un délai avant la mise à disposition de
la solution et une maintenance plus complexe pour l’éditeur. Pour
une architecture multi-tenant, l’éditeur peut par contre proposer
la solution de base avec une liste de fonctionnalités optionnelles.
Cela nécessite un investissement supplémentaire dans l’écriture
de ces fonctionnalités mais cela peut être très bénéfique pour
l’attraction de la solution.
IHM  : L’interface est également un élément qui peut être
personnalisable pour le client par exemple pour y intégrer son
logo ou s’adapter à sa charte graphique.

• Facturation

Une fois que l’éditeur a défini les caractéristiques de la solution qu’il


compte proposer, il va devoir réfléchir à son mode de facturation.
En fonction des caractéristiques choisies, une grille tarifaire doit
être établie. Pour chaque possibilité, le tarif doit être défini. L’éditeur
peut également proposer des forfaits types, par exemple :

Forfait freemium  : essai gratuit sans aucune personnalisation


possible dans un mode multi-tenant avec les données dans un
schéma partagé.
Forfait standard  : solution de base avec IHM personnalisable
dans un mode multi-tenant avec les données dans un schéma
isolé.
Forfait Premium  : solution de base avec IHM personnalisable
dans un environnement dédié (single-tenant) avec toutes les
fonctionnalités.

Dans tous les cas, l’éditeur doit ensuite fixer la fréquence de


facturation : mensuelle ou annuelle. Pour une architecture single-
tenant, peu flexible, on conseillera plutôt une facturation annuelle
puisque les ressources ne peuvent pas être allouées et désallouées
rapidement.

58
Cell'Insights #8 - ISV Journey To The Cloud !
c. Gouvernance

Pour les éditeurs de solutions, le Cloud favorise l’émergence de


nouveaux modèles. Quelles améliorations peuvent être apportées
pour contribuer à la stratégie d’entreprise et quels sont les impacts
sur la gouvernance ?

• Mise en place d’un Self-Care portail

Le portail web des éditeurs de solutions est la vitrine qui expose


le catalogue des services. Par l’intermédiaire du portail web, le
client accède aux informations correspondant aux applications
disponibles et aux différents services proposés. La prochaine
étape est de lui offrir la possibilité de souscrire directement aux
applications dont il souhaite bénéficier, de façon autonome.
Directement par l’intermédiaire du portail en ligne, il sélectionne
les ressources qui l’intéressent, saisit les paramètres associés et
profite des applications activées. Les avantages sont multiples :

- la définition d’un processus de souscription simple et clair sur


ce portail facilite et accélère l’engagement du client,
- le délai entre la souscription aux services et les premières
utilisations sont réduites, grâce à la directe mise à disposition
des applications optimisées.

59
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer
Pour remplir au mieux les exigences sur ces deux aspects, la
plateforme de solutions doit évoluer pour être particulièrement
robuste et capable d’instancier automatiquement les ressources. Par
exemple, une base de données dédiée peut être automatiquement
créée suite à la souscription d’un nouveau client à une application.
Les instances doivent être allouées pour s’adapter à la charge
des utilisateurs. D’autre part, la plateforme doit être capable de
présenter aux clients l’état de chacune des applications et détailler
leur facturation avec un suivi précis de la consommation. De cette
façon, le client a toujours un contrôle sur les services auxquels il
a souscrit, même s’il ne gère pas l’infrastructure technique des
solutions SaaS qu’il utilise. Le Cloud est le vecteur qui permet la mise
en place d’une plateforme performante sur ces différents plans.

Il est clair que ces considérations sont déterminantes pour un


éditeur de solutions : une facturation imprécise voire inexacte,
l’absence de données sur la disponibilité des applications font partie
des éléments qui nuisent à l’image de l’entreprise. Au contraire, une
application simple à gérer et une bonne expérience utilisateur font
un client satisfait, qui pourra avoir une utilisation plus intensive et
souscrire à d’autres services.

• Le suivi des activités

Que ce soit du côté client ou éditeur de solutions, on souhaite


avoir le maximum de visibilité sur l’usage des applications. Une
ergonomie simple et intuitive, un portail développé en responsive
ou l’intégration de tableaux de bord facilitent la gestion et le
pilotage des activités, dans une optique d’audit ou pour avoir
une maîtrise sur l’utilisation des applications. Les métriques sur le
nombre d’utilisateurs, les opérations qu’ils effectuent peuvent être
mises à disposition des clients et leur indiquer que des services sont
actuellement inutilisés. Les clients ont alors la possibilité de retirer
ces services directement sur le portail.

60
Cell'Insights #8 - ISV Journey To The Cloud !
Si l’on s’intéresse à la vision éditeur de logiciel, un suivi détaillé
sur les clients et leurs utilisations des applications permet d’avoir
une meilleure compréhension. On peut alors leur proposer, par la
suite, des services encore plus adaptés à leur besoin et améliorer
la qualité de service. Toujours dans ce souci de renforcer la
relation entre le client et l’éditeur de logiciel, un espace destiné au
support est recommandé. Les clients peuvent solliciter l’éditeur
à partir d’un point d’entrée unique et gérer les requêtes en cas
d’incidents ou de questions. De plus, ils peuvent y soumettre leurs
suggestions, informations supplémentaires qui orientent l’éditeur
dans la sélection des futures fonctionnalités ou applications à
développer.

En passant dans un mode SaaS, les fonctionnalités récemment


développées peuvent également être mises à la disposition des
clients en mode Preview. On collecte alors leurs retours et on
optimise les dernières nouveautés et on soumet à l’épreuve la
stabilité du système avant lancement final. La synergie dans la
relation client/éditeur peut ainsi être abordée et constituer un axe
stratégique dans la vision de l’ISV.

61
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer

3. 2 Une nouvelle
façon de travailler
a. Organisation

Avec l’importance de l’optimisation du Time-to-Market, l’accent est


mis sur l’ajout de nouvelles fonctionnalités aux applications et ce,
toujours plus vite. Le défi des éditeurs de solutions est de pouvoir
accélérer l’intégration de ces fonctionnalités, de profiter des
dernières possibilités technologiques tout en veillant à ce qu’il n’y ait
pas d’impact pouvant nuire aux développements et aux systèmes
déjà en place. Le DevOps et les méthodes agiles proposent alors
des solutions pour améliorer le cycle de vie applicatif.

• DevOps

Les problèmes qui affectent une application déployée peuvent


principalement être regroupés en trois catégories :

- Les problèmes liés à l’applicatif, par exemple une mise à niveau


qui a généré des erreurs, ou un développement non performant
qui engendre une surcharge sur l’application,
- Les erreurs opérationnelles, avec des procédures imprécises qui
ont été mal déroulées, des erreurs de manipulation humaine ou
des erreurs de sécurité,
- Les incidents sur l’infrastructure technique, comme les pannes
électriques, de matériel ou réseau.

62
Cell'Insights #8 - ISV Journey To The Cloud !
Lorsque ces incidents surviennent, on cherche généralement
à identifier la source du problème entre les développeurs et
les équipes d’exploitation de la solution. Qui est responsable
de la défaillance  ? Cette distinction est très marquée dans
un processus de développement traditionnel  où d’une part,
l’application est implémentée par les équipes de développement
et d’autre part, l’installation et la maintenance sont à la charge
des équipes d’exploitation. La séparation entre ces deux métiers,
dont les «  missions  » sont très différentes, génèrent des pertes
d’information. Ces incompréhensions rallongent les cycles de vie
applicatifs, l’intégration d’une nouvelle fonctionnalité prend plus
de temps car le processus n’est pas fluide et maîtrisé. La crainte de
provoquer des instabilités n’est pas anodine.

Le DevOps met alors en avant la collaboration entre les métiers


de développement et d’exploitation. Plutôt que de persister sur
un processus unidirectionnel où une nouvelle fonctionnalité
développée par une équipe est transmise à une autre pour
installation et maintenance, où les étapes de transferts, de
vérifications immobilisent d’importantes ressources, on réduit
au maximum ces phases en implémentant des mécanismes
d’automatisation. C’est « l’infrastructure as code » : les opérations
d’installation et de configuration sont scriptées dans le but d’être
exécutables à la demande, avec le moins d’intervention humaine.
En parallèle, l’accent est mis sur l’analyse des retours concernant
les problèmes remontés sur ces opérations, de sorte que les deux
équipes puissent coopérer pour élaborer des solutions à moyen et
long terme. Les développeurs et les équipes d’exploitation doivent
travailler ensemble et privilégier cette communication vertueuse
pour rendre l’application toujours plus robuste et performante.

63
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer

Le déploiement d’une nouvelle fonctionnalité s’effectuerait de


cette façon sans douleur et on pourrait rendre les cycles de mise à
disposition incrémentale de version plus fréquents. C’est de cette
façon que l’on peut parvenir à effectuer plusieurs déploiements
quotidiens, autant que nécessaires. Autrement dit, du déploiement
continu.

• Cycle de vie de l’application


En profitant des avantages du DevOps, il est alors possible d’intégrer
les fonctionnalités plus rapidement, en s’assurant que les impacts
néfastes ne se produisent pas sur le système actuel. Les méthodes
agiles permettent de se focaliser également sur l’ajout des
fonctionnalités grâce à des processus plus souples, moins rigides
sur la définition des spécifications, en privilégiant la communication
au sein des équipes pour délivrer un produit abouti. Cette synergie
au sein des équipes est valorisée et permet de répondre de façon
plus précise aux exigences métiers.

Pour les éditeurs de solution, le délai entre deux versions d’un


applicatif peut passer d’une durée de plusieurs mois à quelques
semaines, voire des releases quotidiennes. En effet, si les processus
bien orchestrés permettent de vérifier les développements à partir
de tests automatisés et d’instancier l’infrastructure désirée pour y
réaliser le déploiement suite à un code source déposé, on se sent
beaucoup plus à l’aise pour l’ajout de fonctionnalités.

64
Cell'Insights #8 - ISV Journey To The Cloud !
En particulier, les méthodes agiles comme Scrum et les outillages
et réflexions portées par le DevOps sont adaptés aux applications
proposées en mode SaaS. Le fait d’avoir une plateforme unique,
commune à tous les clients renforce les exigences attendues quant
à la stabilité de la plateforme, tout favorisant l’ajout de nouvelles
fonctionnalités pour enrichir les offres proposées par l’éditeur de
solutions. On passe à un « Update Model » axé sur l’évolutivité des
systèmes.

La migration sur le Cloud, qui s’ancre très bien dans les rouages
de l’agilité et du DevOps, ont un impact sur le cycle de vie des
applications en redistribuant les responsabilités entre l’ISV
et l’hébergeur. Microsoft Azure, à travers le service Azure
Marketplace, peut même mettre à disposition dans un catalogue
les applications développées par les éditeurs qui le souhaitent.
De cette façon, le client parcourt et sélectionne directement dans
ce catalogue les applications qui l’intéressent et la plateforme
Cloud instanciera automatiquement les ressources nécessaires et
dédiées pour le client.

b. Déploiement

Une application SaaS est, par définition, mise à la disposition du


client de façon rapide puis mise à jour de façon transparente. Cela
nécessite donc pour l’éditeur un travail supplémentaire, il faut
anticiper et automatiser la gestion de différentes situations.

• Les situations
Souscription d’un nouveau client  : Tout d’abord, au moment de
la souscription d’un nouveau client, les ressources nécessaires
doivent être déployées rapidement. Dans le cas d’une application
single-tenant, un environnement complet doit être déployé.
Pour une application multi-tenant, il faut pouvoir s’assurer que
l’architecture peut supporter la nouvelle charge et éventuellement
procéder à une mise à l’échelle verticale ou horizontale (Scale-Up
ou Scale-Out).

65
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer

De plus, les données des différents clients doivent être bien


distinctes, il faut donc gérer la création d’un nouveau client : nouvel
identifiant pour ce client, nouveau schéma si ceux-ci sont isolés…
Ces étapes doivent être automatisées pour garantir la rapidité
d’exécution.

• Corrections 
Un ISV qui fournit une solution SaaS s’engage à travers un contrat
sur la disponibilité et la qualité de son service. En cas de problème,
il faut donc pouvoir réagir quasi instantanément. Les solutions
de monitoring mises en place doivent pouvoir lever les alertes
efficacement mais ensuite il faut pouvoir réagir et apporter une
correction également rapidement. L’éditeur doit donc mettre en
place un process de correction optimal.

• Release / Nouvelle version 


La mise à jour d’une solution SaaS ne doit pas perturber l’activité
du client, il est donc nécessaire d’automatiser le process de
déploiement.

• Les outils
Par nature le Cloud facilite l’automatisation, nous allons voir les
outils proposés par Microsoft qui peuvent être utiles pour gérer
le cycle de déploiement d’une application SaaS dans le Cloud
Microsoft Azure.
Release Management : Cet outil permet de créer des workflows
de déploiement qui peuvent être liés à une souscription Azure.
PowerShell DSC: Cette nouvelle plateforme de management
de PowerShell permet de gérer la configuration de machines,
physiques ou virtuelles, à l’aide d’une syntaxe déclarative.
Il est donc possible de définir la configuration souhaitée
pour différentes machines. En cas d’écart par rapport à cette
configuration, il est possible d’être alerté mais aussi d’appliquer
automatiquement la configuration souhaitée. Pour des VM dans
le cloud Microsoft Azure, il est possible d’ajouter une extension
PowerShell DSC à vos VM pour déclarer la configuration souhaitée.

66
Cell'Insights #8 - ISV Journey To The Cloud !
Orchestrator : Cet outil de la suite System Center permet de
gérer des workflows au sein d’un datacenter. Il permet ainsi
l’automatisation le déploiement et la surveillance de ressources
dans un environnement. Un module (Integration Pack) Azure
permet d’automatiser des opérations dans votre environnement
cloud Microsoft Azure.
Azure Resource Manager : Cette fonctionnalité de Microsoft
Azure permet de gérer les groups de ressources dans Azure.
A travers un modèle au format JSON il est possible de définir
de façon déclarative un environnement à déployer. Pour un
déploiement de VMs, l’utilisation couplée d’Azure Resource
Manager et de PowerShell DSC (via une extension de VM) permet
de définir de façon très précise l’environnement à déployer et la
configuration à appliquer.
Azure Automation : Cet outil est disponible uniquement
dans Azure et permet d’automatiser les tâches courantes. Les
processus sont implémentés sous forme de Runbooks (tout
comme dans Orchestrator) dont l’exécution peut même être
planifiée pour des tâches régulières. Ces runbooks étant basés
sur PowerShell, ils peuvent réaliser tout ce que PowerShell
permet. Etant donné qu’ils s’exécutent sur le cloud Azure, ils
ont accès aux ressources du cloud mais aussi aux ressources
accessibles depuis le cloud.

67
Cell'Insights #8 - ISV Journey To The Cloud !
ISV 3 Evoluer

68
Cell'Insights #8 - ISV Journey To The Cloud !
LES ESSENTIeLS

Le passage au SaaS va entrainer des changements pour


l’éditeur :

Architecture : passage à une application multi-tenant

Economique : nouveaux canaux de vente, nouvelle


tarification, nouveau mode de vente

Gouvernance : nouveaux outils, meilleure connaissance


du client

Développement : DevOps, Agilité, livraisons fréquentes


des mises à jour

69
Cell'Insights #8 - ISV Journey To The Cloud !
Conclusion

70
Cell'Insights #8 - ISV Journey To The Cloud !
Le passage au Cloud Computing pour un éditeur est une
évidence de nos jours. Le Cloud Computing va apporter de
nombreux gains aux éditeurs selon différents axes comme
expliqué dans ce livre blanc.

Mais pour que cette transformation soit un succès, une


bonne démarche de migration est indispensable après avoir
défini les objectifs attendus.

L’éditeur doit penser différemment avec le Cloud Computing :

Métriques financiers :
Taux de perte des clients
Cash Flow et coût de la vente
Revenus mensuels

Vente & Marketing :


Mode de licence
Coût d’acquisition
Essai avant d’acheter : Clic, Try, Buy
Cycle de vente

Support & distribution :


Rythme de livraison
SLA
Support
Facturation

De nombreux éditeurs ont déjà fait le pas et ont pu rapidement tirer profit des promesses du
Cloud Computing.

71
Cell'Insights #8 - ISV Journey To The Cloud !
LES AUTeURS

Michel Hubert Manon Pernin


Michel Hubert, Directeur Technique, MVP Azure, Consultante, MVP Azure
MS Regional Director

Laurent Yin
Consultant

Nous remercions l’ensemble des personnes

qui ont contribué à l'écriture de ce Cell'Insights

72
Cell'Insights #8 - ISV Journey To The Cloud !
73
Cell'Insights #8 - ISV Journey To The Cloud !
LES PUBLICaTIONS

74
Cell'Insights #8 - ISV Journey To The Cloud !
From

LES PUBLICaTIONS to

Nos livres blancs sont disponibles


gratuitement sur notre site :
http://www.cellenza.com/cellinsights/

75
Cell'Insights #8 - ISV Journey To The Cloud !
Toutes les informations sur :

blog.cellenza.com
training.cellenza.com

cellenza.com

Design : bourguignondesign.com / Impression : grimbert-impression.fr


Cellenza est un cabinet de conseil IT
dédié aux technologies Microsoft
et aux Méthodes Agiles

156 boulevard Haussmann


75008 PARIS
Tél. : +33 (0)1 45 63 14 29
info@cellenza.com
76
Cell'Insights #8 - ISV Journey To The Cloud !