X

Vous optez pour le Cloud ? Optez pour un développement logiciel orienté-service

Les objectifs qu’une entreprise recherche en allant vers le Cloud peuvent varier de mille et une façons, notamment sur les plans de l’Agilité, du UX, des coûts, de la scalabilité (évolutivité) et de la fiabilité. Ces objectifs vont orienter la configuration de ses processus Cloud et l’entreprise doit maintenant appliquer un développement logiciel orienté-service.

La première décision concerne le type de Cloud que l’on veut utiliser ; Privé ou Public ?  Voici quelques caractéristiques d’un Cloud privé versus un Cloud public à prendre en considération dans la configuration de vos applications et services.

Cloud privé

  • Core : services sont offerts à l’interne, pour une demande connue
  • Demande stable : nombre d’utilisateurs varie peu
  • Scalabilité prévisible : en fonction des objectifs d’affaires de l’entreprise
  • Géolocalité : équipements, logiciels et données localisés à quelques endroits à l’interne
  • Auto-multiplexing : gestion des tâches et des ressources prédéfinies par l’équipement et le système d’exploitation
  • Coût & Compétence : fournis à l’interne et donc connus

Cloud public

  • Contexte : services sont offerts à l’externe pour une demande indéterminée
  • Demande variable : nombre d’utilisateurs et les ressources requises peuvent varier beaucoup
  • Variation prévisible : selon des cycles tels événements, saisons…
  • Géo-dispersion : équipements, logiciels et données dispersés en une multitude d’endroits externes
  • Client-multiplexing : gestion des tâches et ressources définies par l’administrateur
  • Coût & Compétences : compétences garanties et coûts variables selon l’usage et le volume de requêtes

 

Développement logiciel orienté-service, dans le Cloud

Que ce soit pour un Cloud privé ou un Cloud public, si vous pensez développer une application pour le Cloud, voici une liste de facteurs à considérer avant de procéder :

  • D’abord penser en mode « service » : le Cloud est une approche de services, vous devez optez pour un  développement logiciel orienté-service (Service Cloud) et non pas orienté-objet
  • Le design de l’application doit être pensé « Cloud », orienté-service :
    • L’application doit être « stateless », elle ne peut être « state-full » (toute requête doit s’auto-suffire, elle possède déjà toute information nécessaire à sa résolution)
    • L’approche du design doit faire appel à des micro services ou de très petits services afin d’être en mesure de les scaler (évoluer), si besoin est
    • La gestion des variables de session doit être reproductible ou ne pas être utilisée
    • Les données doivent être sur un Service Cloud comme Microsoft Azure ou à tout le moins, être “distribuable” afin de permettre la scalabilité (évolutivité)
    • Dans la majorité des cas, le design doit viser à supporter plusieurs clients différents tels Desktops / Portables, Tablettes, Smartphones, etc.
  • Toutes les tâches planifiées doivent être ré-architecturées puisqu’un Serveur Cloud ne peut être cédulé comme un serveur maison

 

Conclusion

Le Cloud propose plusieurs avantages.  Par contre, ce n’est pas nécessairement pour toutes les entreprises. Il faut se méfier de vouloir absolument surfer la vague et tout autant des promesses des grands fournisseurs ; rien ne vaut la clarté d’une analyse coûts / bénéfices avant de procéder.

Cependant, deux indices ne trompent pas :

  • Si, stratégiquement, votre entreprise décide de passer en mode « service » pour les courriels, le CRM, le logiciel comptable, etc., ou toute autre fonctionnalité importante
  • Si vous prévoyez des fluctuations importantes, soit de la croissance ou des cycles de la demande de vos services et / ou de vos ressources

Beaucoup d’entreprises ne jurent que par l’approche « on the premises », parfois avec raison et parfois pas.  Nous discuterons des raisons, freins et préjugés envers le Cloud dans un prochain billet.

Denis Paul & Michel

Articles connexes