Cloud : les critères d'évaluation de la prochaine génération d'applications

Ce qui est aujourd'hui central quand on considère l'évolution technologique actuelle, est sans conteste la maturation et l'adoption continue de l'environnement Cloud. Mais la prochaine génération d'applications métiers ne se limitera pas à exploiter le Cloud.

Un monde nouveau
Le monde des affaires change à une vitesse jusque-là inégalée. Les besoins et attentes des clients évoluent, l'incertitude économique actuelle impose de se concentrer sur la création de valeur et le retour sur investissement, alors que le rythme de l'évolution technologique continue de s'accélérer.
Pour continuer à prospérer en ces temps difficiles, les organisations doivent elles aussi évoluer. La meilleure façon de gérer ce changement pour l'entreprise, est d'adapter sa manière de penser, ses produits et ses services pour répondre aux attentes de ses clients, tout en restant fidèle à ses capacités et principes fondamentaux.
Ce qui est aujourd'hui central quand on considère l'évolution technologique actuelle, est sans conteste la maturation et l'adoption continue de l'environnement Cloud.
Une récente étude du cabinet d'analyse Saugatuck montre que les applications installées sur site ne représentent plus cette année que 50% du marché total des nouvelles applications, que les applications basées sur le Cloud sont en revanche de plus en plus courantes, et que cette tendance va continuer à augmenter. Les applications hybrides, combinant environnement Cloud et installation sur site, représentent 40% du marché, alors que celles totalement basées sur le Cloud ne représentent pour l'instant que 10%. Mais si on extrapole ceci jusqu'en 2020, seules 10% des applications seront résidentes sur site, alors que 60% des solutions seront basées sur le Cloud, et les 30% restants hybrides.
Mais la prochaine génération d'applications métiers ne se limitera pas à exploiter le Cloud. Dans cet environnement en constante évolution, nous avons identifié cinq facteurs clés à prendre en compte pour l'avenir. Ce sont ces cinq éléments interdépendants qui doivent être pris en considération quand on se penche sur la prochaine génération de plateformes de développement et de déploiement d'applications.

1. Cloud
Le pivot au cœur de l'environnement est le Cloud. Comme déjà évoqué, les solutions actuelles sont de plus en plus basées sur le Cloud, mais avec encore des installations sur site et hybrides dont il faut tenir compte. Dans ce contexte, il y a quatre fonctionnalités qui devraient faire partie de toute plateforme de développement et de déploiement d'avenir, à savoir les fonctions permettant de travailler à distance et sur mobile, de mutualiser, de supporter la programmation multi-langage, et les architecture basées sur des modèles.
Tout d'abord, le travail en équipe à distance et sur mobile implique que les développeurs soient en mesure de développer et de collaborer à distance sans être connectés en permanence à un Cloud. Le fait de pouvoir travailler en étant éventuellement déconnectés permet aux membres de l'équipe de travailler à domicile tout comme au bureau ou en déplacement : une fois reconnecté, il appartient à la fonctionnalité de gestion Cloud de l'application de prendre en charge les bases de code et les éventuels conflits découlant des multiples développeurs.
L'un des principaux avantages du Cloud réside dans la souplesse et la mutualisation, qui peuvent être intégrés par construction dans la plate-forme de service. Cela doit être intégré dans la prochaine génération de plateforme de développement et de déploiement de sorte que lorsque la charge de données, le nombre d'utilisateurs ou la quantité de calculs augmentent, l'application dispose de la capacité d'adapter sa charge à la hausse comme à la baisse de manière transparente.
Les développeurs sont généralement habitués à fonctionner avec divers langages de programmation, tels que ABL de Progress, Java, DOT NET, SQL, ou un autre des nombreux langages actuellement en vogue. Un développement Cloud doit pouvoir fonctionner dans tous ces contextes, particulièrement du fait que les applications sont constituées de sous-ensembles applicatifs - composants ou services - qui peuvent être écrits dans des langages de programmation différents, et sont pourtant appelés à collaborer et à communiquer au sein du même Cloud.
Enfin, pour répondre aux besoins de modélisation rapide de nouvelles applications, il faut pouvoir prendre en charge un développement orienté modèle dans un environnement multi-langage.

2. Mobile
Les applications doivent non seulement permettre le développement pour mobile, mais doivent surtout être conçues avec une approche «sur mobile d'abord». Des chiffres fournis par IDC montrent que, cette année, les dépenses dans les mobiles devraient croître quatre fois plus vite que les dépenses de PC, et que deux fois plus de mobiles que de nouveaux PC seront mis en service. De même, au cours de cette seule année, les ventes d'applications mobiles généreront plus de chiffre d'affaire que toutes celles du marché des mainframes - matériels et logiciels.
Les applications doivent pouvoir s'exécuter sur plusieurs types de mobiles, notamment Androïd, Apple iOS ou Windows Phone. Ainsi, alors que la logique et les fonctions métiers sont organisées et gérées dans le Cloud, l'utilisation en est possible en passant d'un appareil à un autre.
Avec le mobile est né le besoin de personnaliser le contenu affiché. Ce contenu peut dépendre du type de mobile, mais aussi d'autres critères tels que la localisation de l'utilisateur. Pour vous représenter ce qu'est une personnalisation liée au contexte et à la géolocalisation, imaginez un contrôleur qualité dans une usine se déplaçant avec son iPad, s'arrêtant devant une machine, et consultant les statistiques de production affichés sur l'iPad.

3. Big Data
D'autres chiffres d'IDC montrent que le volume global des données numériques devrait atteindre 2,7 zettaoctets (ZO) en 2012, et près de 8 ZO en 2015. Ces chiffres impliquent que les applications doivent aujourd'hui être capables de gérer d'énormes volumes de données sur plusieurs types de supports.
Un Zettaoctet correspond à 1 milliard de téraoctets, ou 1 000 milliards de gigaoctets. Pour se donner un ordre d'idées, 2,7 ZO représentent suffisamment d'informations pour remplir les colonnes de 250 journaux quotidiens pour chaque individu sur terre chaque jour de l'année. Et le taux de croissance de ce volume de données, familièrement appelée le «Big Data», fait qu'il est absolument impossible d'en faire une analyse statistique. Cette masse se présente effectivement dans une variété de formats, dont une grande partie n'est pas structurée ce qui la rend difficile à stocker et à indexer efficacement.
Les entreprises ont de plus en plus besoin d'exploiter et de traiter ces données, par exemple pour repérer des profils de risque ou autres menaces, ou pour identifier des opportunités de ventes additionnelles. Nous entrons de plus en plus vite dans un monde en temps réel, dans lequel les flux de données dévalent, nous laissant une fenêtre de temps de plus en plus restreinte pour les analyser et réagir.
Les plateformes de développement d'applications doivent donc être en mesure de supporter la connexion à différentes sources de données - que celles ci soient installées sur site et dans le Cloud (vers lequel elles migrent de plus en plus). Ces sources peuvent être des bases ou sources de données, des applications, des flux ou des capteurs, entre autres. Les plateformes de nouvelle génération doivent pouvoir prendre en charge des dispositifs d'analyse à même d'identifier avec pertinence les tendances et modèles émergents.
Les analyses peuvent se présenter sous forme de dispositifs de visualisation des données, mais aussi d'indicateurs en temps réel permettant d'identifier les opportunités et risques au fur et à mesure qu'ils surviennent. De plus, l'une des fonctionnalités les plus puissantes des applications d'analyse est de faciliter la prise de décisions en permettant de décrire des scénarios d'action en fonction des circonstances - sans pour autant avoir à coder en dur des règles de décision.

4. Réseaux sociaux
L'élément suivant de notre liste est le réseau social. Selon IDC, à la fin de l'année, 80% de toutes les applications mobiles seront intégrées avec les réseaux sociaux.
Il s'agit clairement d'une tendance durable, extrêmement importante pour les entreprises et pour les développeurs, à la fois en termes de fonctionnalités et d'analyse.
Les réseaux sociaux sont désormais des outils puissants qui doivent être mis à profit dans les applications professionnelles. C'est pourquoi il est important que ces applications s'interfacent avec les réseaux sociaux afin de faciliter la collaboration des utilisateurs.
Il est toujours plus facile et efficace de connecter les utilisateurs de la plateforme applicative et de s'appuyer sur les analyses de données des réseaux sociaux, que de construire un service spécifique à partir de zéro.

5. Ecosystème
Le dernier élément de notre liste est l'écosystème, qui est tout aussi important, sinon plus, que la technologie.
La plateforme de développement de prochaine génération qui attirera le plus d'utilisateurs sera celle qui saura inclure toutes les parties prenantes à un même écosystème. Les participants étant les développeurs, les gens qui déploient les applications basées sur cette plateforme, et les gens qui s'intéressent aux services fournis au sein de cet écosystème.
Un écosystème solide et complet facilite la collaboration et le partage de connaissances, facteur clé pour organiser des développeurs de plus en plus mobiles et garantir les meilleures pratiques. Cela garantit également un accès direct hautement intégré au marché, permettant aux développeurs de tirer le meilleur parti de leurs actifs existants, quels que soient les langages dans lesquels ils sont écrits.
Ceci est indispensable pour faire naître une vraie solution. Car bien au-delà de la technologie, il s'agit de proposer et d'intégrer dans l'écosystème toutes sortes de ressources, permettant de s'associer à des partenaires et de trouver des nouveaux clients.

Conclusion
Ces cinq facteurs clés sont tous interconnectés, et certains de leurs aspects se recouvrent et se complètent pour tisser le canevas de la prochaine génération de plateforme de développement d'applications.