L’orchestration applicative, le secret le mieux gardé pour développer des "Killer Apps"

Beaucoup d'entreprises ont investi dans l'automatisation de leurs processus de développement, mais rares sont celles qui ont interconnecté les composantes clés du cycle de vie des applications pour établir des passerelles entre développement et opérations.

Les applications font partie de notre quotidien, c'est indéniable, et elles ne se limitent pas aux seuls iPhones. Aujourd'hui, les clients des banques communiquent davantage via des interfaces en ligne et des guichets automatiques. Les compagnies aériennes utilisent des applications pour vendre des billets, enregistrer les voyageurs et récompenser les plus fidèles d'entre eux. Les gouvernements optent pour les applications sur Internet pour faire preuve de transparence ou proposer des services à leurs administrés. Et ce ne sont là que quelques exemples d'applications délivrées au grand public, les utilisations envisageables étant illimitées. Avec autant d'applications en production, on pourrait penser que ce marché est mature sur le plan de l'innovation et qu'il n'offre plus beaucoup de marge pour faire jouer la concurrence. Mais il n'en est rien. En effet, comme les technologies et les moyens de communication par Internet sont en constante évolution, le marché voit sans cesse émerger de nouveaux précurseurs, plus ou moins pérennes.

Dans le monde d'aujourd'hui, rapidité et efficacité sont les clés de la réussite. Les entreprises qui développent et déploient leurs applications plus rapidement et plus efficacement que leurs concurrents se dotent d'un avantage concurrentiel.

Mais comment y parviennent-elles ? La solution réside dans leur capacité à orchestrer la demande applicative, le développement et le déploiement dans le cadre d'un processus métier de bout en bout, en mettant l'accent sur l'efficacité et la maîtrise des coûts. Cette approche est d'autant plus essentielle que les datacenters tendent à être massivement virtualisés et externalisés en mode Cloud ou SaaS, transformant les environnements d'exécution en services à la demande, lesquels n'offrent qu'un très faible potentiel de différenciation, voire aucun. Orchestrer les applications stratégiques - les "killer apps" en langage courant - afin de les exécuter dans ces nouveaux types de datacenters est le principal enjeu. En y parvenant mieux que vos concurrents vous bénéficierez d'avantages innombrables.
 
Le développement de Killer Apps
Les Killer Apps n'apparaissent pas comme par magie ! Les innovations qui rencontrent le plus de succès sont souvent le fruit de la coopération des développeurs avec tous les départements de l'entreprise. Cependant, une équipe de développement qui crée de superbes applications en collaborant régulièrement avec l'entreprise dans son ensemble, peut également échouer si les livraisons ne sont pas mises en production avec précision.
 
Une étude récente du Gartner nous apprend qu' "à mesure que les équipes s'étoffent ou doivent gérer des volumes toujours plus importants de logiciels, des pratiques autrefois isolées et manuelles de gestion de chaque étape du développement et des opérations évoluent vers des processus de plus en plus automatisés et interconnectés." [i]
 
Beaucoup d'entreprises ont investi dans l'automatisation de leurs processus de développement, mais rares sont celles qui sont parvenues à interconnecter les composantes clés du cycle de vie de leurs applications et à établir des passerelles entre le développement applicatif et les opérations. Pour optimiser la livraison d'applications, les entreprises doivent associer de meilleures applications à de meilleurs processus afin de mieux orchestrer le cycle de livraison, depuis la demande jusqu'au déploiement. Si l'enjeu peut sembler difficile à atteindre, d'autant plus que les outils jadis déconnectés ont été depuis excessivement centralisés, l'émergence récente de la gestion orchestrée du cycle de vie des applications ou ALM pourrait bien changer la donne.
 
L'orchestration D2D
Une bonne orchestration des processus débute par l'orchestration Demand-to-Deploy (D2D), le processus sous-jacent à l'orchestration des applications. Le processus D2D englobe les trois phases du cycle de vie complet des applications : orchestration de la demande, du développement et du déploiement. Si, pour donner les meilleurs résultats, ces phases doivent être intimement liées, elles doivent surtout s'exécuter en boucle fermée. Autrement dit, il faut instaurer des mécanismes de retour d'information entre le développement et la demande, entre le développement et le déploiement ainsi qu'entre le déploiement et la demande. C'est essentiel pour deux raisons : la première pour pouvoir informer les utilisateurs que les correctifs ou les nouvelles fonctions qu'ils attendent entrent en production et la seconde, parce que chaque nouvelle version alimente à son tour la demande d'améliorations et de correctifs.
 
Orchestration des processus en opposition aux référentiels centralisés
Les responsables du développement devant orchestrer les processus de livraison d'applications ont longtemps eu un choix difficile à faire. Les systèmes centralisés et décentralisés de gestion du cycle de vie des applications offrent tous deux des avantages, même s'ils souffrent souvent d'un manque d'orchestration des processus. Les systèmes ALM centralisés s'articulent généralement autour d'un référentiel central, destination de tous les artéfacts. Si ce type de configuration va dans le sens d'une version unique de la vérité, il place la gestion des artéfacts au-dessus de la gestion orchestrée des processus dans le cadre de la conception d'un système global de développement et de livraison d'applications.

L'administration des artéfacts reste vitale, surtout pour la gestion des exigences, des changements, des fabrications et des livraisons. Cependant, elle est plus efficace lorsqu'elle est distribuée, grâce particulièrement à l'explosion des référentiels globaux et grâce à la capacité des systèmes modernes à contrôler les mises en production.
 
Le plus important est de pouvoir intégrer plusieurs solutions individuelles à un même système d'orchestration des processus. Des groupes différents pourront alors décider chacun de leur côté de conserver leurs systèmes préexistants et/ou d'adopter des alternatives plus fonctionnelles ou plus modernes. Ils pourront alors participer au processus global d'orchestration des applications de toute l'entreprise, afin que le tout fonctionne mieux que la somme de ses composantes.
 
De l'importance de la conformité par l'audit
Les entreprises réglementées doivent se soumettre régulièrement à des audits et à des contrôles de leurs processus ; et elles savent que la multiplication des nouvelles réglementations n'est pas près de s'arrêter. Ces entreprises ne pouvant risquer d'échouer à un audit, il leur faut mobiliser le temps précieux de leur personnel pour préparer les audits et y participer, des coûts rarement inscrits dans les rapports. On demande souvent aux développeurs et autres salariés de créer manuellement des pistes d'audit et d'aider à les présenter aux auditeurs. Leur participation à ces tâches n'est pas toujours déclarée dans la planification des ressources et les éloigne de leur principale mission, à savoir développer et distribuer des applications opérationnelles. Pour pallier les coûts de cet effort de mise en conformité, il faudrait intégrer les critères d'audit dans le système d'orchestration des applications. De cette manière, les pistes d'audit et la traçabilité deviennent des éléments inhérents à l'exécution normale du processus - de la demande à la fonctionnalité, de la fabrication à la livraison ou totalement de bout en bout.
 
Si les développeurs rechignent parfois à s'impliquer dans un système de gestion de processus, ils détestent encore plus devoir justifier manuellement leur travail. Le système idéal d'orchestration des applications résout les deux problèmes : c'est la gestion normale des tâches qui crée une piste d'audit, sans pour autant solliciter les analystes, ingénieurs ou autres membres du personnel.
 
Quand et où commencer l'orchestration ?
Pour dire les choses simplement, le mieux pour une entreprise est de commencer le processus d'orchestration là où cela lui paraît le plus simple et le moins douloureux. Les produits modernes d'orchestration des applications doivent permettre d'améliorer une fonction spécifique (ex. la gestion des exigences ou celle des changements) et être compatibles avec les processus afin de tirer parti de fonctions adjacentes au fur et à mesure de leur modernisation
 
Vous pouvez démarrer par la gestion des changements mainframe, l'automatisation des livraisons ou encore l'un des douze autres processus ou fonctions de l'orchestration applicative. Renforcées par le retour sur investissement obtenu par les premières initiatives d'orchestration, les nouvelles initiatives sont plus faciles à justifier et à mettre en œuvre. En outre, plus la portée du moteur d'orchestration est étendue, plus la traçabilité et la contrôlabilité de bout en bout deviennent efficaces.
 
Conclusion
Les entreprises doivent s'interroger sur leurs performances de livraison des applications : sont-elles meilleures, plus efficaces, plus rapides ? Où sont situés les goulets d'étranglement ? Quelles dépendances accroissent les risques ? Suivons-nous bien nos coûts pour la planification ? Sortirons-nous nos applications dans les délais ? Bien comprendre et mesurer ces indicateurs clés de performance est essentiel pour toute société de développement désireuse d'aller de l'avant et de se perfectionner. Des produits individuels d'ALM offrent des réponses partielles, mais du fait de la nature intégrée et "D2D" du développement applicatif, seule l'intégration de systèmes supportant une orchestration complète de processus peut apporter aux DSI des réponses convaincantes aux nombreuses questions qui se posent. Ainsi, le besoin d'une orchestration de processus D2D n'a pas pour seule vocation d'optimiser les processus ; l'orchestration est également très utile pour la stratégie de business intelligence.
 
Soutenue par des processus solides de livraison d'applications (autrement dit, agiles et optimisés) l'orchestration peut générer l'efficacité nécessaire pour développer des applications, malgré des budgets serrés, tout en favorisant la mise à disposition de Killer Apps pour l'entreprise. Orchestrez ainsi la livraison d'applications pendant un an ou deux et la concurrence se demandera bientôt ce qui lui arrive.

[i] Jim Duggan, Gartner, 2010 : « Key Issues for Application Life Cycle Management »