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.