Le phénomène d’API GraphQL est en progression, aujourd’hui sommes-nous prêts à abandonner à nouveau tout ce qui a été fait sur les API ces 15 dernières années et passer à un nouveau concept d’intégration ? Le GraphQL est-il une option viable pour remplacer l’API telle que nous l’avons définie jusqu’à aujourd’hui ?
Qu’est ce que le graphql ?
Le GraphQL se résume par la mise à disposition d’une interface de requêtage qui s’appuie sur les mêmes technologies d’intégration utilisées par les API REST. Nous allons toujours passer par le protocole HTTP et par un payload de retour, préférablement au format JSON, mais la différence pour le client repose sur le contrat d’interface.
Si nous essayons de vulgariser, les réponses apportées par le REST et le GraphQL à la même question sont fondamentalement différentes.
Analysons la question suivante : qui es-tu ?
Voici comment elle serait abordée par Rest et par le GraphQL
Le REST :
QUESTION : qui es-tu ?
REPONSE : voici ma pièce d’identité (ni plus, ni moins)
Le GraphQL
QUESTION : quels sont ton nom, prénom, date de naissance, adresse de résidence, lieu de travail et tes coordonnées personnelles ?
RÉPONSE : voici toutes ces informations ciblés (et tu peux avoir encore plus de détails si tu veux, en une seule fois)
On a affaire ici à un changement radical dans la manière d’aborder les requêtes.
La DATA reste l’élément central de la réflexion autour du GraphQL. Sur ce point, nous pouvons voir l’héritage venant des paradigmes du REST, avec une focalisation sur la ressource. Alors que les pratiques précédentes, comme le SOAP, étaient plus axées “action”, le GraphQL est très axé sur la DATA, l’objectif primaire étant la manipulation de la donnée et pas l’exécution d’une opération.
Le concept de DATA est cependant présenté différemment. Elle n’est pas contrainte par une structure strictement définie à l’avance mais il est désormais possible de la naviguer par l’API GraphQL, ce qui change complètement le concept du contrat d’interface.
Il n’y a donc plus de contrat d’interface ?
Nous pourrions en déduire que le contrat d’interface, très cher aux démarches SOAP et REST, n’est plus d’actualité pour le GraphQL…
Notre vision se résume en une simple phrase : ”Le contrat d’interface change de forme. Il n’est plus centré sur la structure de l’information retournée par l’API mais s’intéresse au modèle de données lui-même”
Le contrat d’interface s’appuie sur le modèle de données qui devient encore plus crucial puisqu’il est maintenant directement exposé / connu par les clients de l’API. Pour rappel, nous avons défini le GraphQL comme un langage de requêtage qui s’appuie sur la structure de la donnée définie dans notre schéma de modélisation. Bien qu’une couche d’abstraction ne soit pas totalement à exclure, le modèle de données, défini dans nos bases de données et exposé aux clients (par introspection ou connaissance directe), devient le point de départ de toute requête.
Cela saute aux yeux, la flexibilité est le grand avantage apporté par le GraphQL. Nous ne sommes plus contraints par le retour de données défini par le fournisseur de l’API mais uniquement par la donnée qui nous est mise à disposition. Cela permet de réduire le phénomène de l’underfetching (obligation d’utiliser plusieurs appels car un seul ne permet pas de remonter la totalité des informations nécessaires) et de l’overfetching (récupération de plus de données par rapport au besoin réel), vrais casse-têtes lors de la conception des APIs.
L’autre vrai avantage est la rapidité de mise en œuvre. Sans vouloir rentrer dans la réalisation, la mise à disposition d’une API classique a toujours comporté des longues périodes de réflexion sur le périmètre, le découpage, la profondeur des données retournées. Ces phases de réflexion qui, sans un besoin clair en face, avaient tendance à se prolonger et à réduire le Time-To-Market des APIs. GraphQL permet de pallier ces problèmes :
En libérant le fournisseur de l’API de cette lourde tâche de conception,
En évitant la multiplication des APIs sur le même périmètre,
En facilitant le choix du périmètre de la part du consommateur, sans qu’il soit forcément obligé d’orchestrer plusieurs requêtes afin obtenir ce dont il a besoin, sans limites théoriques.
…mais aussi des contraintes
La liberté donnée au client de l’API est certainement un avantage pour les deux parties mais apporte également des contraintes de sécurisation et de gestion de la charge serveur.
La charge
Une API, REST ou SOAP, est globalement maîtrisée. Elle a un périmètre bien défini et donc la seule question à se poser porte sur la volumétrie et/ou la fréquence d’appel. Le GraphQL, par le fait que les requêtes sont variables, réduit la prévisibilité de la charge associée :
La non-prédictibilité des requêtes expose au risque de retours complexes et volumineux, sans pagination, ce qui pourrait mettre en difficulté une infrastructure mal dimensionnée ;
L’utilisation du cache est complètement révolutionnée / complexifiée, car la probabilité d’avoir la même requête de deux différents consommateurs est très faible et ne permet donc pas de s’appuyer complètement sur le cache pour décharger les machines.
La sécurité
Dans l’ancienne conception nous pouvions avoir des niveaux de sécurité induits par le périmètre restreint de l’API.
Le GraphQL, de par la liberté d’exploration des données, oblige à une réflexion plus profonde sur la question des habilitations et de l’accès aux informations. Cette sécurisation doit être garantie par une sorte de “douane” qui se définie comme la couche par laquelle nous devons transiter pour accéder aux données, et qui gère directement les droits d’accès par utilisateur.
Cette pratique n’est pas nouvelle, elle devrait accompagner toute démarche API, toutes technologies confondues. La couche de sécurisation et d’habilitations devrait toujours être indépendante de l’exposition de l’API. Parfois, un défaut de conception non identifié de cette couche de sécurité était pallié, tant bien que mal, par la limitation de périmètre imposé par l’API or cette limitation n’existe plus avec le GraphQL.
Conclusion
GraphQL représente la tentative la plus intéressante de “flexibiliser” la gestion des APIs et apporte une nouvelle dynamique à celle-ci, tout en respectant les contraintes induites par ce mode d’intégration.
Si l’objectif n’est pas forcément de “tout casser”, pour recommencer tout en GraphQL, cette approche devient une alternative concrète aux démarches API dites “classiques”.Exemple en est la mise en application de cette méthode d’intégration sur une plateforme de paiement, Braintree, filiale de Paypal.
Les autres articles qui peuvent vous intéresser
Pour quels usages choisir une architecture Serverless ?
Pour quels usages choisir une architecture Serverless ?
Le marché du Serverless ou FaaS a bondi de manière importante en 2018, porté entre autres par la popularité grandissante de AWS Lambda, Azure Functions ou de Google Cloud Functions. Mais en quoi consiste une architecture Serverless ? Cela consiste à exécuter des fonctions sur le cloud sans se soucier de la conception de l’architecture technique et du provisionnement de serveurs. La facturation de ce type de service étant basée sur le temps que le traitement aura mis pour s’exécuter. Il y a donc toujours besoin de serveurs mais la conception et la gestion de ceux-ci sera réalisée à 100% par le fournisseur Cloud.
La différence avec une architecture basée sur des containers ?
La containérisation reprend les concepts de la virtualisation mais ajoute de la souplesse.
Un container est un sous-système pré-configuré par le biais d’une image. Celle-ci définit ce que le conteneur embarque à sa création (serveur d’application, application, etc.), normalement le minimum indispensable pour votre application (fonction ou micro-service).
Le Serverless est une architecture qui repose sur un concept simple : l’abstraction complète des ressources machine.
Il vous suffira par exemple d’avoir un compte AWS, cliquer “Create function” depuis la console, configurer quelques paramètres techniques comme la taille de la mémoire allouée et le temps de timeout maximum toléré, copier votre code et voilà !
Avantages et inconvénients
Le principal avantage de ce type d’architecture est le coût. Vous ne paierez que ce vous utiliserez basé sur des métriques à la seconde. Plus besoin de louer des ressources comme des machines virtuelles que vous n’utilisiez jamais à 100% ou de payer un nombre d’utilisateurs qui n’étaient pas connectés en permanence dans l’outil. Par exemple pour une fonction AWS Lambda à laquelle vous aurez attribué 128 Mo de mémoire et que vous prévoyez d’exécuter 30 millions de fois en un mois (pour une durée de 200 ms par exécution), vos frais ne seront que 10€/mois environ ! Si cela correspond à un pic saisonnier atteint en période de solde et que la moyenne d’exécution correspondra à la moitié de cette charge vous ne paierez que ce que vous aurez consommé. À titre de comparaison, un serveur virtuel de 1 coeur et 2 Go de RAM facturé au mois sera facturé 12€/mois, peu importe la charge. Et si un serveur de ce type ne suffisait pas, il faudra prévoir le coût d’une plus grosse instance ou d’une deuxième. Il est donc évident que le FaaS permet d’optimiser vos coûts par rapport à du IaaS ou du PaaS.
Le second avantage est qu’il n’y a pas besoin de gérer et maintenir l’infrastructure. Vous n’arrivez pas sur vos projets Agiles à anticiper vos besoins d’infrastructure ? Vous pensez qu’attendre 1 jour pour avoir une machine virtuelle c’est encore trop long ? Vous trouvez bien le principe des microservices mais vous trouvez compliqué de gérer une architecture technique distribuée ? Une architecture Serverless ou FaaS vous simplifiera la vie de ce point de vue.
Il y a cependant des désavantages. Les AWS Lambda et Azure Functions sont des technologies propriétaires qui vous rendront complètement dépendant de votre fournisseur. Si un jour vous désirez migrer sur une autre plateforme, il vous faudra revoir le code de votre application notamment si celui-ci fait appel à des services ou infrastructure propre à ce fournisseur (lire un fichier dans un container S3 par exemple ne sera pas de la même façon que de le lire sur un Azure Blob). L’autre point important aussi à surveiller est que ces services sont bridés en termes de ressources et ne conviendront donc pas pour des applications nécessitant des performances élevées.
Pour quels cas d’usage ?
Une architecture Serverless peut convenir lorsque les critères suivants sont réunis :
Cela peut être par exemple :
Le lancement d’une requête comme l’appel d’une API pour récupérer les données de météo et les déposer dans la base de données utilisée par une application mobile.
L’envoi de notification par messagerie pour prévenir un groupe d’utilisateurs d’un événement.
Le transfert et la vérification du format de fichiers multimédias pour un site permettant à des photographes de partager leur travail.
En résumé, il s’agit d’une nouvelle façon de concevoir votre architecture solution, pouvant vous permettre de réaliser des économies importantes mais qui vous rendra plus dépendant du fournisseur Cloud que vous aurez retenu.
Les autres articles qui peuvent vous intéresser
PPM : l’approche bimodale intègre les approches traditionnelles et agiles
PPM : l'approche bimodale intègre les approches traditionnelles et agiles
La transformation digitale mène les entreprises à rechercher un modèle de gestion de leurs portefeuilles de projets capable d’appréhender les projets « Marathon » (cycle long, cycle en V) autant que les « Sprint » (cycle court, Agile, Lean, Kanban). L’approche « Bimodal IT », introduite par le Gartner, n’a pas fini d’apporter ses réponses aux appels à l’aide des équipes de développement Agile face à un management encore traditionnel.
L’approche « Bimodal IT » pour structurer les projets marathon et les sprint …
En 2014, le Gartner avait identifié avec précision une tension cruciale provenant de la prolifération des demandes IT. Aujourd’hui plus qu’hier, les métiers ont besoin de personnalisations, d’évolutivité et d’efficacité et pas seulement de logiciels et d’applications monolithiques. Pour y répondre, le Gartner, soutien que son approche « Bimodal IT » favorise l’innovation, la transformation digitale des métiers et l’amélioration. En cela, il postule que les organisations informatiques de l’avenir œuvreront selon deux modes distincts. Le mode 1 lié à l’informatique traditionnelle, est axé sur la stabilité et l’efficacité, tandis que le mode 2 qui tient de l’organisation agile est axé sur le time-to-market, l’évolution rapide des applications et, en particulier, l’alignement étroit avec les lignes métiers. Notons que bien souvent l’organisation agile demeure expérimentale pour beaucoup d’entreprises.
… mais comment gouverner un portefeuille constitué de projets si différents ?
En cinq ans, le monde anglosaxon de la gestion de projet a donc résolu la cohabitation des approches cycle en V et cycle agile avec le concept de Bimodal IT. Cependant, l’extension de l’approche à la gestion de programme et de portefeuille de projets est très peu débattue. Est-ce par méconnaissance ou refus de la nouveauté ? Ou parce que cette cohabitation des modèles marathon et sprint est déjà pleinement résolue dans les organisations ? Je vous invite à corriger cette lacune en vous livrant ce qu’il faut en connaitre.
Avec la Transformation Numérique nous sommes entrés dans une période transitoire qui nous conduit à gérer des portefeuilles de projets hybrides (IT traditionnelle / IT digitale). Si de plus en plus les projets IT sont animés en équipes Agile, il n’en est rien des programmes et des portefeuilles de projets toujours gérés selon le modèle classique de pilotage. Aujourd’hui ce modèle n’est plus en capacité de répondre au phénomène d’hybridation des portefeuilles de projets. L’objet et le rythme des activités de transformation des SI n’est plus conciliable avec les pratiques conventionnelles de gestion de portefeuille de projets. Cette course en avant vers toujours plus de flexibilité dans la transformation des organisations face aux innovations des concurrents et aux injonctions réglementaires pousse vers ce concept bimodal qui reprend les meilleures pratiques des deux mondes pour concilier stabilité et flexibilité. Il introduit néanmoins le risque d’exacerber les tensions résultantes d’une cohabitation de deux organisations en silo qui se disputent les ressources et l’influence des investissements.
A défaut, les gestionnaires de projets se retrouvent à faire le grand écart entre pilotage traditionnel de leur portefeuille par les délais et les coûts versus pilotage par la valeur et la qualité. Une équation à la fois organisationnelle, managériale et opérationnelle souvent difficiles à résoudre, d’autant plus lorsque les acteurs sont peu aptes au dialogue. A défaut encore, des Directions métiers décident de créer leurs propres équipes numériques, ce qui se traduit par de nouveaux silos et l’émergence d’une « shadow IT » qui n’est pas sans conséquence (impact sécurité, économique et pérennité de l’IT -désurbanisation du SI et dette technique-).
Un retard de mise en œuvre préjudiciable
L’extension de l’approche bimodale aux programmes et portefeuilles de projets apporterait in fine la capacité de faire travailler les équipes de l’entreprise en étroite collaboration pour atteindre la croissance et la transformation dans le monde numérique qui se dessine.
Les solutions éditeurs, les cadres méthodologiques sont à disposition mais difficilement mis en œuvre dans les organisations. En France personne n’en parle. A qui la faute ? Est-ce dû à la résistance au changement au sein des directions ? Aux lacunes conceptuelles consécutives aux castings des consultants appelés en renforts ? Ou encore à la lenteur à faire le pas vers l’introduction de pratiques agiles au sein des cellules PMO ?
La difficulté à produire une feuille de route IT/Métier et le portefeuille de projets correspondant
Historiquement, la gestion de portefeuille de projets (réalisée par la cellule PPM), est un « lieu » où la stratégie rencontre l’exécution : elle vise à transformer les « ambitions » en « plan d’action » réaliste tout en gérant les investissements et le travail. Avec l’avènement des organisations agiles, de nouvelles frictions sont apparues : cela se traduit par un manque d’harmonisation de la stratégie et de l’exécution, par des décisions d’investissement sous-optimales, par des retards à l’adoption de l’agilité, et finalement par un manque de visibilité pour tous les acteurs.
Dans l’idéal la vocation d’une cellule PPM est de produire de la visibilité sur la contribution de la DSI à la performance de l’entreprise, via l’activité projet. Les métiers étant bien souvent peu enclins à anticiper leurs transformations, c’est souvent un casse-tête pour la DSI de produire une feuille de route pour l’année à venir, un tant soit peu crédible. Pourtant, les métiers devront prochainement reconsidérer leurs relations avec la DSI en devenant responsable de la création de valeur face aux facteurs qui s’imposent (changement de l’économie, évolution des usages et des clients, consumérisation de l’informatique, accélération de la numérisation, nouveaux Business models, raccourcissement des cycles, …). Les entreprises qui réussissent le mieux à franchir le cap sont celles où un dialogue réel métier/IT existe pour l’élaboration de la feuille de route. Il n’y a pas de bons et mauvais élèves, mais l’équilibre qui rend possible le dialogue est si fragile, qu’il ne permet pas souvent de pérenniser l’approche.
En réponse à la problématique de la « bimodalité », les éditeurs ont apporté des réponses dans leurs solutions de Gestion de Portefeuille Projet, mais celles des adaptations organisationnelles et managériales doivent encore être adressées pour que les acteurs sachent utiliser au mieux les outils déployés. Car bien entendu, l’adage « un outil ne résout rien tout seul » se vérifie ici aussi. D’autant que du point de vue méthodologique, plusieurs modèles coexistent au sein des équipes. Modèles, pour lesquels l’assimilation des principes à tous les niveaux de l’organisation nécessite encore des efforts.
3 bonnes pratiques
Trois bonnes pratiques d’intégration prescrites par le Gartner peuvent atténuer les frictions et habiliter l’organisation à innover, prioriser ses investissements et délivrer plus rapidement :
La première concerne la capacité à choisir à partir d’une approche simple le modèle qui convient, basé sur la nature des projets à mener, en combinant stabilité des pratiques et flexibilité des activités. L’astuce, ici, est de préserver un mode de travail pour la recherche de différenciation et d’innovation, et un autre pour la gestion courante des projets. Pour y parvenir, mettre l’accent sur l’enjeu de création de valeur des projets est un début.
La deuxième vise à définir des objectifs d’industrialisation. Ainsi, l’organisation peut intégrer des méthodes Agile avec des méthodes traditionnelles sans sacrifier la visibilité pour les décideurs et la communication des métriques malgré les disparités d’unités de mesure. Pour ce faire, il faut déterminer des métriques précises (objectifs et résultats clés attendus), puis se focaliser sur des points très spécifiques et suivre leur amélioration au fil du temps. En effet, il ne peut y avoir d’amélioration sans mesure régulière.
Enfin, la troisièmepratiqueimplique de séparer clairement les collaborateurs en deux groupes distincts : l’un capable d’effectuer les changements au niveau de la gestion de projet ; l’autre qui sache prendre des décisions transverses à l’ensemble du portefeuille de l’entreprise. Cette distinction apporte une clarification des attributions des intervenants tout en réduisant la dépendance liée aux individus. Il s’agit, ici, de conjuguer délégation et subsidiarité dans un même environnement.
Développer une gestion de portefeuille de projet qui pilote aussi les opportunités
Pour relever ces nouveaux défis, les cellule PPM trouvent dans l’approche bimodale, un cadre de gestion du portefeuille de projets actualisé qui intègre des pratiques agiles, fournit des précisions aux équipes de projet sur la façon de communiquer l’avancement du projet, et apporte à la direction générale la prévisibilité et la responsabilisation des intervenants. C’est ainsi que l’approche bimodale est à même d’encadrer les interactions des acteurs pour éviter de compromettre tous les processus d’évolution des métiers par la cohabitation de deux organisations l’une centrée sur le client tandis que l’autre est axé sur la planification et le reporting. Cette forme de gestion du portefeuille met donc l’accent sur les opportunités (opportunités IT autant que métiers), pour tout ou partie des activités de l’entreprise, indépendamment du mode de livraison (traditionnel, agile ou hybride). Ainsi elle facilite les prises de décisions décentralisées, les analyses de rentabilité, les planning itératifs avec des objectifs décentralisés, et utilise des mesures factuelles et des jalons. Enfin autant que possible, les opportunités seront portées par des équipes agiles permanentes (squads).
En résumé, l’approche bimodale permet de résoudre les effets néfastes de la cohabitation des modèles, sans risquer de perdre la stabilité et la flexibilité qui leurs sont chère. Le mode 1 « Marathonien » leur permettra de conserver cette stabilité en faisant évoluer l’infrastructure existante de manière pérenne. Le mode 2 « Sprinter » leur permettra de développer rapidement de nouvelles solutions grâce à sa flexibilité. La transformation de l’organisation pourra être conduite en profondeur sur cette base. Elle passe avant tout par un changement culturel au sein de l’entreprise.
Les autres articles qui peuvent vous intéresser
Parce que les transformations ne se pilotent pas seules
Parce que les transformations ne se pilotent pas seules
Après notre panorama 360° sur l’IoT dans notre précédente série de publications, nous entrons comme promis dans une nouvelle série d’articles plus opérationnelle pour accompagner vos premiers pas dans le monde de l’IoT.
Aujourd’hui, nous vous proposons d’incarner un(e) responsable Digital, néophyte sur les sujets IoT, faisant face à l’émergence interne de cas d’usage métier sans réponse :
Automatiser le réapprovisionnement de clients B2B en consommables (bouteilles de gaz/oxygène…) sur la base de leur consommation réelle et prédictive,
Suivre l’envoi de marchandise de bout en bout : de la fabrication à la réception par le client.
Afin de booster la transformation métier, notre responsable (oui c’est bien vous) se donne pour objectif de rapidement expérimenter une gamme de services basés sur le traitement de données terrain récoltées par des objets IoT.
Le hic ?
Cette entreprise ne dispose d’aucune connaissance ou compétence dans le domaine de l’IoT. Il s’agit ici de leurs premiers cas d’usage sur ces technologies. Autant dire que notre responsable digital est plutôt perdu(e) à ce stade et ne sait pas réellement par quel bout traiter la demande : comment partager les responsabilités entre IT et Métier ? Quels sont les maillons d’une chaîne IoT ? Make or Buy ? Comment concevoir l’objet connecté ? …
Rassurez-vous, cher(e) responsable digital, nous sommes ici pour répondre à vos interrogations et vous guider dans la réalisation de ce challenge.
Principe #1 : Rester “business focus” en réalisant un proof of value (pov) de quelques semaines
L’IoT, au delà de sa dimension technique, doit avant tout répondre à un enjeu business.
Une phase d’idéation avec le métier est nécessaire pour détourer le cas d’usage et affiner la valeur métier recherchée pour soi et/ou pour ses clients.
Le but premier de cette démarche est de se focaliser sur les éléments à valeur probante et d’occulter temporairement toutes les problématiques techniques. Nous ne visons pas ici l’industrialisation … nous visons uniquement l’expérimentation ciblée, la démonstration de la valeur par l’exemple.
Aussi nous nous focaliserons davantage sur les questions de fond :
Quel est l’existant (processus, équipements, données…) à intégrer ?
Qui est le client final ?
Quelle est l’objectif recherché et la valeur à atteindre ?
Quelle(s) donnée(s) dois-je récupérer / exposer pour y arriver ?
… Plutôt que sur les détails :
Quelles sont toutes les contraintes : environnement, connectivité, form factor, …
Principe #2 : Utiliser les accélérateurs du marché … miser sur l’IoT-as-a-service
La chaîne IoT (objet, connectivité, plateforme IoT, SI entreprise) est longue, complexe et varie en fonction des cas d’usage adressés et de leurs contraintes.
Notre responsable Digital en a eu le vertige !
Start slow…
Comme mentionné précédemment, la phase de PoV ne doit pas s’attarder sur toutes les considérations techniques :
L’objet : concevoir un prototype simple qui sait capter et transmettre des informations. Soit à base de capteurs existants sur le marché … soit en réalisant son propre objet connecté en “une demie journée” : littlebits, raspberry / arduino et la diversité des sondes sont vos amis. Ne vous préoccupez pas à ce stade de la puissance, du form factor à respecter, de l’autonomie ou des enjeux de sécurité.
La connectivité : restreindre son choix à un seul réseau (que ce soit le LPWAN, un protocole domotique ou directement le WiFi) simple à mettre en oeuvre pour vous. Ne cherchez pas à pouvoir fonctionner en mode dégradé / en mode déconnecté / à switcher sur un réseau secondaire si le primaire est indisponible.
La plateforme : utiliser les offres As-A-Service sur étagère, notamment celles des Cloud Providers. Ces offres ont l’avantage d’être déployables en quelques clics, d’être à l’état de l’art, d’être potentiellement gratuite (free tiers) pour faire un PoC. Exemples : AWS IoT Core, Azure IoT et Azure IoT Central, GCP Cloud IoT, …
SI Enterprise : ne pas chercher tout de suite à propager les données IoT dans les méandres de votre SI. Misez plutôt sur les capacités de restitution intégrées à votre plateforme IoT, elles seront suffisantes pour montrer la valeur générée..
… fast PoV !
Principe #3 : Capitaliser aussi bien sur le succès que sur l’échec des PoV
Comme dans tout bon projet SI, que ce premier PoV soit un succès ou un échec, il faudra capitaliser dessus. L’échec est riche d’enseignements et il faut savoir rebondir : “Le projet est mort … Vive le projet”.
Un diagnostic post-mortem vous permettra de prendre du recul sur les activités menées :
Est-ce que le cas d’usage a bien été défini ? Quel questionnement rajouter en phase de cadrage pour être plus pertinent et percutant ?
Quelles ont été les facilités et les difficultés de mise en oeuvre ?
Quelles compétences nous manque-t-il ?
Comment mieux faire la prochaine fois ?
Le premier objectif est de mettre en lumière la démarche réalisée, les conclusions et la valeur apportée pour rayonner ensuite auprès des autres Métiers et les embarquer dans une spirale vertueuse : Fast PoV UC#1 -> Amélioration continue -> Fast PoV UC#2 -> …
Le second objectif, au fil des itérations, sera de fédérer plus large, d’onboarder d’autres Métiers et disposer d’un sponsorship fort afin de créer une Gouvernance IoT à l’échelle de l’Entreprise…
Pour aller plus loin : Le passage à l’industrialisation et la mise en place d’une gouvernance IoT
Félicitations ! Vous avez pu mener à bien plusieurs expérimentations IoT à forte valeur sur des cas d’usages divers et variés, si bien que les sollicitations ne cessent d’arriver !
C’est le moment de passer au niveau supérieur ! Vers l’industrialisation de l’IoT et au delà, la mise en place d’une gouvernance d’entreprise.
Cette étape importante n’en est pas moins complexe tant dans son appréhension et sa préparation que sa mise en œuvre.
Rassurez-vous, nous vous accompagnerons également dans cette démarche lors de nos prochains articles dédiés à ces sujets ! Stay tuned !
Dans un précédent article, nous vous présentions le dernier né des plateformes d’intégration : l’iPaaS. Cette solution s’ajoute à une liste déjà longue comme le bras.
#Batch, #MFT, #ETL, #EAI, #ESB, #EDI, #API, #MOM, #iPaaS … que faire en 2019 dans cette jungle de solutions d’intermédiation ?
Les exigences Business (innovation, écosystème d’affaire, Time To Market, instantanéité de la donnée, …) poussent l’IT à se dépasser en traitant des problématiques d’intégration de plus en plus complexes. Et cela va crescendo le temps passant. Gartner présage même une très forte augmentation (+50%) du marché de l’intégration sur les 5 prochaines années.
Malgré les efforts déployés, l’organisation IT ne permet pas toujours de répondre dans le temps imparti aux besoins du métier. A défaut d’avoir une offre d’intégration Self-Service orientée Citizen Integrator (profil non expert souhaitant réaliser des intégrations simples), ces derniers passent du côté obscur du Shadow IT.
Fort de ces constats, les cabinets d’analyste remettent les compteurs à zéro et recommandent d’adopter une stratégie d’Hybrid Integration Platform (HIP).
Kézako ? Sur quelles solutions miser pour couvrir tous ses besoins d’intégration tout en ayant un objectif de rationalisation ? Comment les décliner dans son organisation ?
Rappel des nouvelles contraintes d’intermédiation
Vente, gestion des stocks, publicités ciblées, connaissance client, campagne marketing, […] … tous les processusmétier (front, middle ou back) doivent être gérés au cordeau (en qualité, en rapidité, au bon moment, …) pour qu’au bout du bout l’expérience client soit sans couture.
Pour cela, l’heure est à la Data : Data centric, cold/hot Data, Data stream, Data processor, Data privacy… de la Data en veux-tu en voilà. La Data en tant que FUEL pour l’Entreprise. Aliment de base qu’il faut capter, qualifier, transformer, raffiner, normaliser, enrichir et transporter vers tous les organes du SI.
Ce dernier point est primordial. Nul doute que le métier boudera si vous n’avez pas les bons outils pour traiter, transporter et mettre à disposition la donnée, aussi qualitative puisse-t-elle être.
Il est presque révolu (enfin sur le papier, car il en existe encore beaucoup dans le SI des entreprises) le temps du gros batch de nuit qui tourne à 5h en fin de plan de PROD pour synchroniser les données dans tous les applicatifs monolithiques on-premise des domaines métiers.
De nos jours :
Le Cloud s’impose et contribue à distribuer les SI,
L’Event Driven Architecture est désormais reine dans l’art de propager la donnée fraîche à qui veut bien la consommer,
L’IoT contribue à l’explosion du volume des données, à l’hyper personnalisation de l’expérience client et impose de savoir ingérer, traiter, actionner et partager de l’information en quasi temps réel,
Les API REST sont la base pour offrir des prises d’accès simplifiées et sécurisées au SI ultra bunkerisés,
# …
Malheureusement, la plateforme d’intermédiation centrale unifiée qui saurait tout bien faire à 100% n’est pas encore née !
Qu’à celà ne tienne …
… Un brin de Transformation, un zest de Pub/Sub … ou l’importance de séparer les capacités d’intermédiation pour faire son propre cocktail d’Hybrid Integration Platform
Vous l’avez compris…
Tout n’est pas synchrone, tout n’est pas asynchrone,
Tout n’est pas fichier, tout n’est pas service, tout n’est pas message,
Tout n’est pas normalisé, tout n’est pas au format SAP,
Tout n’est pas disponible sur le même plan d’adressage IP,
Tout n’est pas privé et tout ne doit pas être exposé au grand public,
Tout ne fait pas 5 octets, tout ne fait pas 4Go,
…
… En fonction de son SI et de ses besoins passés, présents et futurs, il convient d’identifier les fonctions d’intermédiation nécessaires et suffisantes pour couvrir tous les cas d’usages Data.
Une fois cette cartographie détaillée établie, il convient d’analyser quel puzzle de solutions de Data Integration du marché est le plus optimum pour couvrir tous vos besoins en évitant les redondances fonctionnelles et les surcoûts associés.
Pour certains, un couple “iPaaS + API” suffira, pour d’autres ça sera “MOM + API”, il n’y a pas de règles prédéfinies à l’avance…
Cependant le tiercé gagnant selon nous…
Notre recette Data Integration jeunesse et vitalité serait :
#Un socle MOM d’Entreprise pour gérer tous les échanges internes asynchrones orientés messages qui prennent une place prépondérante dans les nouvelles architectures (Pub/Sub, Fan-Out, CQRS, …). Dans l’idéal la solution retenue sera de type Event Mesh pour créer un réseau de broker distribué au plus près des applications.
# Un socle API Management d’Entreprise pour gérer l’exposition (privé, public) de vos services et ressources métiers. Au menu du cycle de vie d’une API: conception, documentation, exposition, sécurisation, gestion des versions, gestion des quota, facturation, catalogue des API, animation d’une communauté privé / publique.
# Un socle iPaaS d’Entreprise pour tout le reste : échange avec l’extérieur, échange Cloud2Cloud, besoin de transformer, nécessité de composer ou d’orchestrer des processus… l’iPaaS fait des miracles (consulter notre article sur le sujet).
Cependant, la Rolls-Royce des plateformes sans Pilote (gouvernance, centre d’excellence) ne vous mènera pas au nirvana de la Data Integration.
Remettre la DSI devant ses responsabilités et ses engagements d’agilité (T2M) vis-à-vis des métiers
Nous avons tendance à accorder beaucoup de place aux Appels d’Offres solutions, à leur couverture fonctionnelle et non fonctionnelle … mais trop peu de temps et d’énergie à la gouvernance et à la gestion des compétences autour de celles-ci.
Quelle erreur… à laquelle la vision stratégique Hybrid Integration Platform compte bien remédier.
Une fois les différentes pièces techniques du Puzzle Data Integration assemblées, pour dévoiler tout son potentiel ce dernier à besoin :
# D’un Centre d’Excellence composé d’un pilote unique, de MOA, d’architectes, d’experts de l’intégration, du développement et de la production. Son rôle sera de veiller au bon fonctionnement de la plateforme, veiller à son MCO, créer des patterns d’intégration et autres composants réutilisables sur étagère, accompagner les domaines métiers, …
# Des métiers eux mêmes qui pourront utiliser les outils orientés Citizen Integrator pour soit réutiliser les composants d’intégration validés en central soit créer rapidement leurs propres processus d’intégration et les mettre en production sous réserve d’approbation par qui de droit.
La stratégie Hybrid Integration Platform vise à créer une plateforme d’intégration unique et sur mesure à votre contexte tant sur le plan technologique que sur le plan organisationnel.
La performance de l’ensemble n’étant viable que si les bonnes fonctionnalités d’intermédiations ont été sélectionnées et intégrées dans un tout cohérent, avec le bon niveau de Gouvernance en central et dans les différents Domaines Métiers.