Cet article a eu en primo-inspiration mon sentiment qu’IT et Cyber travaillent malheureusement de manière trop souvent silotées. Avec des contraintes de sécurité souvent mal abordées ou insuffisamment partagées. Inspiration également au travers de rencontres de personnes travaillant dans le Cyber, qui peut-être se reconnaîtront.
En effet, la sécurité des API, côté IT, est souvent perçue comme un sujet couvert à partir du moment ou l’on gère bien l’authentification, les droits, et qu’on utilise une API Gateway. Oui bien sûr cela est nécessaire. Mais penser sécurité des API, au regard de ce que ce sujet implique, c’est penser un gros pan de la sécurité de son SI.
Ne venant pas du monde du Cyber, cet article n’aura comme seule prétention d’essayer de se faire rencontrer ces deux mondes. En abordant tous les aspects que la sécurité des API peut couvrir. Et évidemment, cet article est une invitation à vous rapprocher de vos équipes Cyber ! Et de vous fournir une liste de courses aussi synthétique que possible pour échanger entre équipes IT et Cyber. Mais un peu longue quand même. D’où le formalisme très concis choisi pour cet article.
Pour se faire, nous allons dans un premier temps expliciter les risques que nous identifions, pour ensuite aborder la sécurisation des API sur toute leur chaîne de valeur, du DevSecOps aux WAF d’API (WAAP pour Web Application and API Protection). Pour ensuite offrir un panorama de technologies, et enfin finir avec des préconisations. Sur ce, on y va !
Pourquoi la sécurité des API est-elle cruciale ?
Les données exposées sont très souvent sensibles : Les API renvoient souvent des données confidentielles, rendant leur protection indispensable.
C’est un vecteur d’attaque privilégié : En tant que point d’entrée unique des données, les APIs sont des points d’attaque de choix.
Leur complexité est croissante : L’évolution des architectures (microservices, coud, service mesh, …) peut augmenter la surface d’attaque potentielle.
Les API doivent respecter le cadre réglementaire : RGPD, PCI DSS, PSD2, etc…, autant de réglementations qui exigent une exposition sécurisée des API.
Cela n’arrive qu’aux autres? Et bien non.
2019. Facebook. Fuite de données concernant 540 millions d’utilisateurs à cause de serveurs non sécurisés et accessibles via des API.
2018. Twitter. Une mauvaise gestion des autorisations d’accès a rendu disponibles les messages privés de certains utilisateurs.
Maintenant que ces enjeux sont rappelés, nous allons détailler les risques et solutions.
I. Les risques majeurs liés à la sécurité des API
1.1 Vulnérabilités courantes des API
1.1.1 Injection de code
L’injection de code est l’une des menaces les plus connues, avec
L’injection SQL par exemple,
Mais aussi par commandes avec l’exemple pas si ancien de la faille Log4J.
1.1.2 Authentification et autorisation inadéquates
Il est primordial d’avoir une politique d’authentification et d’autorisation bien appliquée afin de bloquer au mieux les attaquants. On peut retenir comme principes :
Les sessions doivent être bien gérées : Sessions non expirées ou mal révoquées.
Les tokens d’accès doivent être bien sécurisés : Stockage ou transmission non sécurisée des tokens.
Les contrôles d’accès doivent être bien configurés: Permissions mal configurées permettant des accès non autorisés.
1.1.3 Exposition de données sensibles
Les API peuvent involontairement exposer des données sensibles et inutiles si elles ne sont pas correctement définies, configurées ou sécurisées. Les cas typiques sont :
Les réponses API sont trop verbeuses : Inclusion de données non nécessaires dans les réponses.
Les réponses API ne sont pas chiffrées : Transmission de données en clair.
Les erreurs sont mal gérées : Messages d’erreur révélant des informations sensibles sur l’infrastructure.
1.2 Menaces émergentes et sophistiquées
1.2.1 Attaques par force brute et credential stuffing
Stratégie largement connue, consistant à tester des combinaisons de noms d’utilisateur et de mots de passe. Elles sont aussi simples à parer que particulièrement dangereuses car :
Elles peuvent être automatisées à grande échelle.
Elles peuvent aussi exploiter des informations d’identification provenant de fuites de données (évitez d’avoir un seul mot de passe…).
1.2.2 Attaques « Man-in-the-Middle » (MITM)
Une attaque MITM consiste à ce que l’attaquant se place entre le client et l’API Gateway pour intercepter ou modifier les échanges. Les risques incluent :
Le vol de données sensibles : En interceptant des données non chiffrées.
La manipulation de requêtes : En altérant des données échangées entre le client et le serveur.
L’usurpation d’identité : En récupérant les certificats serveurs pour se faire passer pour le serveur légitime.
1.2.3 Attaques DDoS
Ces attaques consistent à avoir un très grand nombre d’appels, afin de rendre indisponible l’API. Elles peuvent prendre plusieurs formes :
Les attaques volumétriques : En saturant la bande passante.
Les attaques au niveau applicatif : En utilisant des vulnérabilités de l’API pour épuiser les ressources du serveur.
Les attaques lentes : Cela consiste à maintenir des connexions ouvertes pour épuiser les ressources du serveur.
1.3 Risques spécifiques aux architectures modernes
1.3.1 Microservices et conteneurisation
La conteneurisation et les microservices ajoutent de nouveaux défis de sécurité :
La complexité exponentielle de la gestion des accès : On doit gérer les exigences de sécurité par microservice.
Les risques liés à l’orchestration des conteneurs : Les outils d’orchestration peuvent avoir aussi leurs propres vulnérabilités.
L’exposition accrue des API internes : Les API internes ne doivent absolument pas être exposées en externe !
1.3.2 API dans le cloud
Le déploiement d’API dans des environnements cloud présente des risques spécifiques :
La mauvaise configuration des services cloud : Exposition involontaire d’API ou de données.
La gestion des identités et des accès complexifiés : Il est nécessaire d’intégrer les mécanismes de sécurité de son cloud provider avec ceux de son API.
La dépendance vis-à-vis de la sécurité du fournisseur cloud : Il est nécessaire de comprendre et de compléter les mesures de sécurité, selon la politique de son cloud provider.
1.3.3 Shadow API et API zombies
Les « shadow API » (non documentées ou non gérées) et les « API zombies » (obsolètes mais toujours actives) représentent des risques significatifs :
Le manque de visibilité : Ce qui engendre des difficultés à identifier et à sécuriser ces API.
Les vulnérabilités non corrigées : Les API obsolètes peuvent contenir des failles de sécurité connues.
Les Accès non contrôlés : Il ya alors un risque d’exploitation par des attaquants sur des systèmes ou des données sensibles.
II. Stratégies et solutions pour sécuriser efficacement les API
2.1 Approche globale de la sécurité des API
2.1.1 Sécurisation de l’API via DevSecOps
L’approche DevSecOps permet de sécuriser une API en amont de son déploiement, via :
Le Shift-left security : Qui intègre les tests de sécurité dès le début.
L’automatisation des tests de sécurité : Grâce à des outils d’analyse de code statique (SAST) et dynamique (DAST).
La gestion continue des vulnérabilités : Code, librairies, dépendances, etc… Tous ces éléments peuvent faillir ou contenir des failles découvertes après coup. Il faut donc les détecter et les corriger.
2.1.2 Gouvernance et politiques de sécurité des API
Que serait-on sans gouvernance ? C’est évidemment un point primordial, sur lequel on sera particulièrement vigilant sur les aspects suivants :
La définition de standards de sécurité : Via documents de bonnes pratiques de développement et de déploiement d’API sécurisées.
La gestion des accès et des identités (IAM) : Pour couvrir la définition de politiques strictes pour l’authentification et l’autorisation.
Des audits réguliers : Afin d’évaluer de manière continue la conformité des API aux politiques de sécurité.
2.1.3 Formation et sensibilisation des équipes
La sécurité des API repose en grande partie sur les compétences et la vigilance de toutes les équipes, qu’elles soient devops, cyber ou dev :
Des programmes de formation : Via des sessions dédiées sur les pratiques de sécurité des API.
Des exercices pratiques : Via des simulations d’attaques et de réponses aux incidents.
Une culture de la sécurité : En encourageant à signaler et à résoudre les problèmes de sécurité.
2.2 Technologies et outils de sécurisation des API
2.2.1 API Gateways et Web Application and API Protection (WAAP)
Les API Gateways (et leurs cousins service mesh et micro-gateway) et les WAAP (WAF pour API, si vous préférez) représentent la première ligne de défense :
En filtrant du trafic : Via blocage des requêtes malveillantes.
En gérant les authentifications : En centralisant et en renforçant les mécanismes d’authentification.
En faisant du rate limiting : En protégeant contre les attaques DDoS.
Et en analysant le trafic : En détectant et en bloquant les comportements suspects.
2.2.2 Solutions de gestion et de protection des API
D’autres outils spécialisés existent, qui ont des fonctionnalités avancées pour la sécurité des API :
Solutions de découverte automatique des API : Afin de détecter les fameuses Shadow API.
Solutions d’analyse comportementale : Afin de détecter les anomalies et des comportements suspects.
Solutions de gestion des versions : Afin de contrôler et de sécuriser les différentes versions d’API.
Solutions de conformité réglementaire : Afin de démontrer la conformité aux règlements de sécurité.
2.2.3 Outils d’analyse de la sécurité des API
Des outils dédiées existent également pour déterminer des failles spécifiques aux API :
Les scanners de vulnérabilités spécifiques aux API : Comme son nom l’indique.
Les solutions de fuzzing d’API : Le fuzzing est une technique de test envoyant des données aléatoires et/ou malformées pour identifier les failles.
Outils d’analyse statique et dynamique : Il existe des SAST et DAST adaptés aux API.
2.3 Meilleures pratiques de sécurisation des API
2.3.1 Authentification et autorisation robustes
Via utilisation de protocoles standards : OAuth 2.0, OpenID Connect.
Via gestion fine des autorisations : Via implémentation du principe du moindre privilège, au travers des API scope.
Via rotation régulière des clés et tokens : Pour limiter l’impact en cas de compromission.
2.3.2 Centralisation et découpage des API Gateway
Une API Gateway est à placer idéalement de manière centrale dans son architecture pour ne pas multiplier les points d’entrée. On peut néanmoins avoir deux API Gateway, une “publique” et une autre “privée” afin de mitiger les risques au mieux :
Point d’entrée unique : Centralisation du trafic API pour une meilleure visibilité et un contrôle accru.
Gestion des versions : Facilitation de la gestion des différentes versions d’API.
Transformation et médiation : Adaptation des requêtes et des réponses pour assurer la compatibilité et la sécurité.
2.3.3 Chiffrement et protection des données
Chiffrement en transit : En utilisant systématiquement le TLS (dans une version non dépréciée). Possiblement aussi signer les données échangées, comme le peut faire Stripe avec son API afin de garantir leur authenticité, intégrité et non-répudiation.
Chiffrement des données sensibles : Que ce soit des données au repos ou en transit.
Gestion sécurisée des clés : En gérant les clés de chiffrement tout au long de leur cycle de vie. Il s’agit notamment de :
l’utilisation de clés solides, générées de manière aléatoire.
la rotation régulière des clés afin de limiter l’impact des violations potentielles.
stocker les clés en toute sécurité dans des “Vault”, séparément des données qu’elles protègent.
mettre en place des contrôles d’accès.
gérer les identités numériques via des certificats grâce à une PKI, couplé à
un HSM pour sécuriser des clés cryptographiques dans un environnement matériel.
2.3.4 Gestion des logs et audit
La journalisation : En enregistrant tous les événements liés à la sécurité.
La conservation des logs : En conservant les logs pendant une période suffisante pour permettre des analyses dans le passé.
L’analyse régulière des logs : En mettant en place des processus d’analyse régulière des logs.
La protection des logs : En empêchant toute modification non autorisée pour garantir leur intégrité en cas d’audit.
2.3.5 Surveillance en temps réel
L’analyse comportementale : Pour détecter les anomalies dans le trafic API.
Les alertes en temps réel : Pour réagir rapidement aux incidents de sécurité.
Le monitoring continu : Pour surveiller en permanence la disponibilité des API et détecter rapidement les attaques.
2.3.6 Tests de pénétration et validation de la sécurité
Des tests réguliers.
Des scénarios réalistes qui s’inspirent de cas réels.
Une validation continue via la chaîne CI/CD.
Conclusion
Comme on peut le voir, la sécurité des API demandent des compétences dans diverses équipes, mais également un engagement de tous. Des solutions informatiques existent, mais elles ne sont rien sans une politique de sécurité partagée à tous et pour tous. Et aussi et surtout l’établissement des bonnes pratiques définies en interne, comme nous l’avons partagées dans cet article.
DATA Lakehouse – Exploration d’une Architecture de plateforme de données innovante
DATA Lakehouse - Exploration d'une Architecture de plateforme de données innovante
22 octobre 2024
Architecture
Mohammed Bouchta
Consultant Senior Architecture
Après avoir introduit les concepts fondamentaux d’un lakehouse dans notre précédent article, plongeons maintenant dans les détails qui font du lakehouse une solution d’architecture alignée sur les principes d’une modern data plateform.
Nous allons explorer son fonctionnement interne et les technologies clés qui le soutiennent.
Fonctionnement d’un Lakehouse
L’architecture lakehouse représente une évolution significative dans le traitement et la gestion des données, cherchant à harmoniser les capacités de stockage d’un datalake avec les fonctionnalités analytiques et transactionnelles avancées d’un data warehouse. Cette convergence vise à créer une plateforme flexible, capable de gérer à la fois l’analyse de données historiques et les opérations transactionnelles, sans faire de compromis sur la performance, la sécurité, ou la qualité des données.
Rôle des métadonnées
Au cœur de cette innovation, l’usage stratégique des métadonnées joue un rôle prépondérant, orchestrant avec la gestion des schémas de données et leur évolution.
Les métadonnées, dans l’écosystème lakehouse, ne se limitent pas à la gouvernance et à la qualité des données, bien que ces aspects soient importants, notamment pour soutenir des transactions fiables. Elles permettent également d’indexer de manière efficiente les données susceptibles d’être requises, facilitant ainsi leur accès et leur analyse.
Cette architecture assure que, même au sein d’un stockage de données bruts et diversifiées, l’information pertinente peut être rapidement localisée et exploitée.
Système de stockage
Le lakehouse exploite les avantages économiques du stockage en DataLake, tel que le système de fichiers distribués HDFS ou les solutions de stockage objet dans le cloud, comme Amazon S3 et Azure Blob Storage. Ces plateformes de stockage, reconnues pour leur coût-efficacité, en grande partie grâce à la séparation du stockage et du calcul, sont complétées par une couche sémantique riche, pilotée par les métadonnées. Cette couche ne se contente pas de cataloguer les données; elle améliore aussi leur traitement et facilite leur accès, optimisant de ce fait l’efficacité générale de la plateforme.
Gestion transactionnelle des données
La fusion réussie de ces éléments au sein d’une architecture lakehouse repose sur l’intégration de principes transactionnels rigoureux, tels que l’atomicité, la cohérence, l’isolation, et la durabilité (ACID). Ces principes sont essentiels pour garantir la fiabilité et l’intégrité des données, permettant de s’appuyer sur le lakehouse pour des opérations critiques sans craindre de compromettre la qualité ou la sécurité des informations traitées.
Meilleure performance qu’un Datalake
Par ailleurs, pour ce qui est de l’amélioration des performances, le lakehouse intègre des mécanismes de mise en cache avancés. Ces systèmes sont conçus pour précharger en mémoire les données les plus sollicitées, accélérant ainsi significativement le temps d’accès et la réactivité de la plateforme.
Technologies Clés
La réalisation d’un lakehouse repose sur des technologies avancées qui permettent de surmonter les défis traditionnels posés par les datalakes et les data warehouses offrant une flexibilité, une fiabilité et des performances accrues pour la gestion et l’analyse des données à grande échelle.
Voici un aperçu de ces technologies clés :
Delta Lake
Delta Lake est une couche de stockage open source conçue pour apporter la gestion transactionnelle ACID aux datalakes. Cette technologie transforme un datalake en un système capable de gérer des opérations de lecture et d’écriture concurrentes, garantissant ainsi l’intégrité des données. Avec Delta Lake, les utilisateurs peuvent effectuer des mises à jour, des suppressions, des insertions, et même des merges (fusion de données) directement sur les données stockées dans un datalake, tout en maintenant un historique complet des modifications. Cela permet une gestion des données plus flexible et robuste, facilitant des cas d’utilisation comme le rollback pour corriger des erreurs ou auditer des modifications. De plus, Delta Lake optimise les requêtes en utilisant le « data skipping » (saut de données non pertinentes), améliorant ainsi la vitesse d’analyse des vastes ensembles de données.
Apache Hudi
Apache Hudi (Hadoop Upserts Deletes and Incrementals) est une autre technologie open source qui révolutionne la gestion des données dans les datalakes. Elle permet des mises à jour et des suppressions rapides, ainsi que des insertions et des requêtes incrémentielles sur de grands ensembles de données. Apache Hudi introduit le concept de « views » (vues) de données, permettant aux utilisateurs de voir des snapshots des données à un moment choisi ou des changements sur une période, rendant ainsi possible la gestion de versions et le time travel (navigation temporelle dans les données). Cette capacité à gérer des modifications de données de manière efficace rend Hudi particulièrement adapté aux environnements où les données changent fréquemment, supportant des cas d’utilisation tels que la capture de données modifiées (Change Data Capture, CDC) et les pipelines de données en temps réel.
Apache Iceberg
Apache Iceberg est un format de table open source qui vise à améliorer la gestion et les performances des requêtes dans les datalakes.
Iceberg traite de nombreux problèmes rencontrés avec les formats de fichiers traditionnels et les modèles de métadonnées dans les datalakes, tels que la complexité de gestion des schémas évoluant dans le temps ou les problèmes de performance des requêtes sur de grandes tables.
Avec Iceberg, les tables sont traitées comme des entités de première classe, supportant des fonctionnalités avancées telles que les schémas évolutifs, les partitions cachées, et les transactions atomiques.
Le format est conçu pour être agnostique au moteur de calcul, permettant ainsi son utilisation avec diverses plateformes d’analyse de données, telles que Spark, Trino et Flink.
Iceberg optimise également les performances des requêtes en utilisant un indexation fine des données, ce qui réduit le volume de données scannées lors des analyses.
Conclusion
En conclusion, le lakehouse émerge comme une solution hautement performante et flexible qui étend la portée et les capacités d’un datalake en combinant le stockage économique des datalakes avec les capacités d’analyse et de gestion transactionnelle des data warehouses, tout en exploitant intelligemment les métadonnées pour la gouvernance, l’indexation, et l’optimisation des accès sans pour autant éclipser le rôle stratégique que peut jouer un datahub dans l’écosystème global de gestion des données au sein du système d’information.
Datalake, Datawarehouse, Datalakehouse… Le métier de la donnée a le don pour créer des noms assez simples à associer au sujet, mais qui peuvent rapidement devenir confusants. Ce billet vise à vulgariser ces 3 concepts, afin de vous permettre de tenir le fil de la discussion lors de vos discussions avec les experts data.
Les patterns historiques
Le Datawarehouse (entrepôt de données) est un pattern de base de données décisionnelles, datant de la fin des années 80 : il agrège des données sélectionnées, mises en qualité, structurées, et historisées afin de permettre de les exploiter dans le cadre de cas d’usage « décisionnels ». Ces données ne sont pas altérables, ce qui garantit qu’un même traitement donnera le même résultat peu importe le nombre de fois et le moment où il sera réalisé. Ce cadre de stockage permet de faire croiser des données issues de systèmes applicatifs distincts, afin de « casser » les silos de données, et permettre une vision transversale de l’entreprise, tout en permettant de comparer différentes périodes. L’inconvénient du Datawarehouse est principalement son coût de stockage élevé, du fait de toutes les étapes de « travail » autour de la donnée.
Le Datalake (lac de données) s’est construit afin de répondre aux faiblesses du Datawarehouse : c’ est un espace de stockage, agrégeant des données (non structurées, semi structurées et structurées), sous leur forme brute (pas de traitement de normalisation / mise en qualité à l’ingestion). L’objectif de cette brique applicative est de proposer un stockage à bas coûts, permettant de mettre à disposition un vaste volume de données, de manière agnostique au regard de leur exploitation future. Ce volume de données permet de nourrir différents types de cas d’usage : alimentation de bases de données spécialisées (par exemple décisionnelles, comme un Datawarehouse), ou exploitation dans le cadre de traitements nécessitant un volume important de données mise à disposition (Data Science, Machine Learning, Intelligence Artificielle…). Il n’a cependant pas ambition à agréger toutes les données de l’entreprise, ou de les stocker n’importe comment, et c’est justement un problème qui a tendance à se développer avec le temps, en l’absence d’un cadre définissant la gouvernance des données, et la politique de rétention de ces dernières. Et là, le Datalake devient le Dataswamp…ce qui rend l’exploitation des données compliquée voir impossible, tout en faisant augmenter les coûts…
Le nouveau venu
Le Data Lakehouse (maison lac… ne cherchez pas de traduction littérale !) est une hybridation de ces 2 composants applicatifs, visant à proposer le meilleur des deux mondes, tout en couvrant l’ensemble des cas d’usages sus mentionnés. Comme le Datalake, il permet d’agréger différents types de données (structurées, semi structurées ou non structurées). Cependant, grâce à l’exploitation d’une couche de métadonnées permettant de faire le lien avec les différentes données agrégées, les transactions ACID (atomicité, cohérence, isolation et durabilité) deviennent possibles. De même, l’ingestion de données en temps réel (streaming) devient possible, ce qui permet de répondre à de nouveaux cas d’usage (pilotage à chaud, exploitation des données IoT). C’est un pattern permettant de conserver un stockage à moindre coût propre au Datalake, ainsi que la capacité d’analyse d’un Datawarehouse.
Dans un second article, nous allons faire un focus sur le Data Lakehouse, en soulevant le capot afin de mieux comprendre son fonctionnement.
Le NoCode Summit 2024 en a été la vitrine et s’est révélé fort intéressant par bien des aspects :
être dans l’ambiance, l’effervescence de cet écosystème qui innove très vite,
percevoir les solutions qui reviennent souvent dans les témoignages, identifier clairement les start-up, et les scale-up,
bénéficier de retours avisés de petits / grands comptes ayant d’ores et déjà adopté ces stacks en Production.
Si vous parlez de NoCode/LowCode…un vaccin des dernières tendances vous sera bénéfique.
NoCode, démarrant par une négation, n’est pas vendeur, braque les développeurs avec pour conséquence un frein à l’adoption de ces technologies…Alors même que le “NoCode” requiert des compétences fondamentales telles que la logique et l’algorithmie. Le “LowCode” quant à lui requiert parfois de coder concrètement pour couvrir le cas d’application souhaité.
Désormais, il conviendra de parler de :
Keyboard Programming – Développement traditionnel dans le langage qui vous plaira,
Visual Programming (ex NoCode / Low Code),
GenAI Programming.
Il s’agissait ici de la troisième édition du Summit, et une belle montée en maturité (Prod ready) des acteurs a été constatée, ne serait-ce que de part leur adoption par des Grands Comptes (ex : BRED, System U, BNPP, Docaposte, CDC, Europ Assistance, LCL, L’Oréal, BPI France) qui témoignent de retours d’expériences très positifs.
Vous constaterez sur les affichages de sponsoring du foisonnement de solutions. Nous assisterons avec quasi certitude à une consolidation de marché dans les années à venir car plusieurs solutions se concurrencent sur les mêmes positionnements, avec bien évidemment des particularités.
Voici un aperçu des différents positionnements constatés :
Solution de BDD avec UI/UX on top : AirTable, baserow
Solution de tests fonctionnels, techniques : MrSuricate
Solution pour développer des outils de productivité en interne (mini JIRA, mini CRM, …) : TimeTonic, DAMAaaS
Solution de monitoring : ncScale
…
Le choix de l’une ou l’autre des solutions doit se faire de façon éclairée avec une liste de critères / contraintes bien établie, dont voici un petit extrait :
Quels sont mes uses cases ?
Est-ce pour un usage interne ou pour du Customer Facing ?
Quels vont être les utilisateurs (IT ? Business ? Les deux ?) ?
Solution OpenSource ou propriétaire ?
Solution Française only ?
Hosting OnPrem ou Cloud ?
Respect des normes réglementaires ? sécurité ?
Quelle est la maturité et la pérennité de l’éditeur / la solution ?
Quelles sont les capacités de réversibilité ?
Quel est le niveau de couverture technico-fonctionnelle ?
Quel est l’effort pour se Up-Skill et l’utiliser ?
et sans oublier toutes les autres considérations: scalabilité, modèle financier, …
Des stacks commencent d’ores et déjà à se démarquer via les témoignages :
WeWeb en Front, cocorico, solution Française, génère du VueJS exportable,
Xano en Back-end truste le marché, le plus complet, le plus scalable, le plus sécurisé,
Make en orchestration API.
Se lancer dans l’aventure Visual Programming, c’est être conscient des problèmes que vous rencontrez et des bénéfices qu’ils peuvent vous apporter :
Réconcilier le Business et l’IT (Dev): enfin ils peuvent se comprendre de part l’aspect visuel et instantané du développement,
Être en Agilité par défaut,
Accélérer la phase de Build, tout en conservant ou en augmentant la qualité…
… et par conséquent améliorer le TimeToProd,
… et par conséquent diminuer les coûts projets,
Désengorger l’IT en décentralisant (gouvernance requise) certains projets dans les BU,
Redonner une bouffée d’oxygène au BUILD, qui se voit souvent écraser par le poids du RUN et de la gestion de l’obsolescence.
Le NoCode ne rime pas avec NoMethodology. Qu’il s’agisse d’une démarche tactique ou stratégique, il y a des clés de succès :
Associer les différents futurs profils utilisateurs au choix de la stack Visual Programming,
Les phases d’expression de besoin / cadrage / conception d’un projet en Visual Programming ne changent pas et une grande importance doit leur être accordée,
Une Gouvernance doit être définie en cohérence avec votre organisation (NoCode office centralisé? des référents dans les BU?),
Le Visual Programming ne permet pas de tout faire. Un cadre, un arbre d’éligibilité, des bonnes pratiques doivent être établis pour les utiliser à bon escient,
Think BIG, Act SMALL : démarrer petit, sur un scope favorable mais avec des points de douleurs identifiés et revendiqués. Démontrer le succès sur un premier scope attire les autres use cases et la quasi généralisation sur les périmètres éligibles,
Appliquer les mêmes bonnes pratiques que sur un projet de développement classique.
Toute rupture technologique, tout nouvel écosystème apporte avec lui son lot de freins et de réticences:
L’écosystème est assez jeune et la pérennité des solutions pose légitimement question,
Quid du fameux Vendor Lock-in et de la capacité de réversibilité. Pour les mitiger il faut être très mature et Responsable sur la phase de cadrage, conception, documentation de ce qui sera développé.
Le NoCode sacrifie-t-il la Sécurité ? Il faut s’assurer que la Sécurité n’est pas mise de côté et que la plateforme dispose des bonnes certifications (SOC2, ISO 27001, Hipaa, …) ainsi que des mécanismes maintenant bien connue sur la GRC (Governance, Risk, Compliance) de part le contrôle des accès, les permissions fines, les audits logs, la détection des incidents, …
Comment faire pour tester du NoCode quand les plateformes ne proposent pas intrinsèquement ces fonctionnalités ?
Les plateformes disposent-elles de mécanismes pour prévenir et éviter un Burn de facturation sur ce modèle très “as-a-service” ?
Actuellement, moins d’un pourcent de la population mondiale sait programmer. La démocratisation et l’accessibilité introduite par le Visual Programming a le bénéfice d’ouvrir la voie à toute une Diversité de personnes en quête de reconversion.
Mais … comme le souligne très justement Jean-Marc Jancovici également le net inconvénient et le risque majeur d’accentuer significativement une prolifération applicative avec des services digitaux futiles et inutiles. Sur notre planète à ressource finie, le numérique représente 4% des gaz à effet de serre (GES), cette débauche de moyens (énergétiques et intellectuels) sur ces sujets ne fait qu’accroître exponentiellement les usages digitaux… et leurs impacts.
Derrière mon clavier, je visual programme avec modération et sobriété. La consommation digitale excessive est dangereuse pour la planète, ceci est un message de Rhapsodies Conseil.
A la recherche d’un moyen pour automatiser vos processus, vous trouvez enfin la solution ! Des paillettes plein les yeux, vous découvrez le RPA et ses bienfaits.
Chez Rhapsodies Conseil, nous aimerions vous proposer une vision raisonnée du RPA.
Pour cela, nous vous proposons d’explorer les points suivants :
Quels sont les attraits du RPA ?
Qu’est-ce que le RPA ? Comment a-t-il évolué ?
Quand l’utiliser ?
Comment sécuriser le lancement d’une initiative RPA ?
Quelles sont les étapes indispensables du cadrage d’un cas d’usage ?
Quelles sont les perspectives futures ?
Les attraits du RPA
Le RPA (Robotic Process Automation) paraît attrayant par rapport à d’autres solutions d’automatisation.
Low code / no code : les solutions proposent souvent des facilités de création de scripts low code ou no code. Celles-ci sont adaptées à des utilisateurs dont le métier n’est pas le développement,
Faibles coûts : les coûts de mise en place sont moins élevés qu’un projet de refonte d’une application,
Rapidité de mise en œuvre : le délai de mise en œuvre, de l’ordre de quelques mois, est plus rapide que pour la plupart des projets.
Sur le papier, ça a l’air parfait pour vous !
Désolée de vous décevoir mais le RPA n’est pas une solution miracle.
Commençons par le début : qu’est-ce que le RPA ?
Revenons aux basiques : le RPA c’est quoi ?
Le RPA est un logiciel d’automatisation des processus métiers (ou IT d’ailleurs). Les scripts reproduisent l’interaction d’un humain avec les IHM des applications.
Le RPA est utilisé sur des processus stables basés sur des données structurées. Et dont le volume est important.
L’idée était de débarrasser les utilisateurs des tâches répétitives et à faible valeur ajoutée. Fini les tâches où nous reproduisons toujours les mêmes clics jusqu’à en devenir fou. Et dont la répétition favorise le risque d’erreur à la longue.
Voici quelques exemples de cas d’usage sur lesquels le RPA peut être utilisé :
vérifier des documents avant de les envoyer à un client,
activer le prélèvement automatique une fois le mandat signé,
mettre à jour des données client…
Le RPA peut être utilisé sur tous types de processus et dans tous les secteurs d’activité.
Vous vous demandez sûrement pourquoi il n’a pas envahi le marché tout de suite ? À cause de ses modalités d’intégration.
Vers davantage de modalités d’intégration
La première limite du RPA était évidemment la fréquence d’évolution du processus métier et des IHM. Par exemple, le bouton “valider” change de place et votre robot est bon pour la casse.
C’est le cas avec les applications maison qui évoluent fréquemment pour répondre à la demande des métiers. Ou les applications SaaS dont la roadmap éditeur n’est pas maîtrisée.
Le RPA a donc évolué pour dépasser cette limite. Les éditeurs se sont mis à proposer de nouvelles capacités d’intégration.
Deux nouvelles capacités ont vu le jour :
intégration grâce des API,
mise à disposition de connecteurs par les éditeurs.
Ces capacités d’intégration sont bien entendu complémentaires avec l’intégration par les IHM. Elles peuvent être utilisées par le même robot.
Cela permet d’étendre le périmètre d’intervention du RPA à de nouveaux processus. Il n’est plus limité à des processus manuels basés sur des applications dont les IHM évoluent peu.
Maintenant que cette limite originelle est dépassée, qu’est-ce qui freine pour l’adopter ? Il reste nécessaire de bien choisir les cas d’usage sur lesquels appliquer du RPA.
Dans quels cas l’utilisation du RPA est-elle pertinente ?
Le RPA est particulièrement pertinent pour :
– des applications qui sont arrivées à maturité, évoluent peu et dont l’intégration avec le Système d’Information ne pourra pas prendre en charge les automatisations souhaitées,
– des petites migrations de données entre deux applications par exemple.
Vos premiers cas d’usage sélectionnés et priorisés, vous trépignez d’impatience !
Pas si vite, nous vous invitons d’abord à prêter attention aux points suivants.
Comment sécuriser le lancement d’une initiative RPA ?
Nous avons relevé trois points d’attention majeurs à considérer :
Réduction des coûts en passant à l’échelle : les coûts du RPA se réduisent lors du passage à l’échelle. C’est-à-dire quand plein de petits robots travaillent de concert au service de votre entreprise. Certes, les premiers cas d’usage sont faciles à trouver. Mais le potentiel n’est pas illimité. En particulier le nombre de cas d’usage avec un fort ROI.
Scalabilité en cas d’évolution de la volumétrie : il faut prendre en compte les évolutions de la volumétrie. Cela permet de dimensionner correctement les robots. La scalabilité verticale est clé dans le cas de processus saisonniers. Sinon, il faudra ajouter d’autres robots pour le même processus. Et cela a un impact non négligeable sur le ROI.
Confidentialité des données : quel niveau de confidentialité en fonction des données manipulées ? Cela conditionne le choix d’hébergement du RPA. En effet, de nombreux éditeurs proposent désormais des solutions Cloud.
Ces points d’attention considérés, foncez sur votre premier cas d’usage ! Nous avons encore quelques conseils dans notre manche, rassurez-vous.
Les étapes indispensables lors du cadrage d’un cas d’usage
De notre point de vue d’architecte (et expert en transformation digitale), plusieurs sujets sont à étudier :
Décrire le processus : pour mettre en place du RPA, le processus doit être décrit finement. Cette description est appelée “pas à pas”. Celle-ci peut être obtenue en documentant le processus. Ou avec l’aide d’un outil de task mining, aussi appelé process discovery. C’est-à-dire l’enregistrement des tâches d’un utilisateur sur son poste de travail. Le task mining est basé sur de l’OCR (Optical Character Recognition), du traitement du langage naturel et du machine learning.
Optimiser le processus : un projet d’automatisation est une opportunité de revoir en profondeur le processus. L’étape dont l’automatisation coûte le moins est celle qu’on supprime.
Ecosystème applicatif : l’identification de l’environnement applicatif du RPA est également crucial. Avec quelles applications doit-il s’interfacer ? Comment peut-il s’interfacer avec chacune d’entre elles ?
Comparer différents scénarios : il faut comparer le RPA à d’autres solutions d’automatisation. Par exemple les plateformes d’intégration industrielles déjà présentes dans votre entreprise. Parfois une bonne vieille API fait très correctement le travail. Elle peut coûter moins cher qu’une démarche RPA. Surtout s’il y a une brique d’API management dans l’entreprise. Et que les équipes sont habituées à manipuler des API. Le RPA, malgré la possibilité d’appeler des API, ne remplace pas une plateforme d’intégration industrielle.
Définir les responsabilités pour le RUN : l’équipe gérant le RUN des robots est souvent celle qui les a mis en place. Il est crucial qu’elle soit au courant quand les applications impliquées évoluent. Et qu’elle puisse faire évoluer les robots en fonction. Sinon, les robots ne fonctionnent plus et elle ne sait pas pourquoi. Elle doit donc être en lien avec les autres équipes au quotidien.
Voilà, vous savez tout ! Le RPA est une solution d’automatisation frugale des processus. Vous l’avez compris, c’est une solution et non une fin en soi.
Cette solution est adaptée si l’entreprise ne dispose pas de plateformes d’intermédiation industrielles. Et qu’il n’y a pas d’autres possibilités d’automatisation au vu des applications concernées. Comme nous l’avons vu, les cas d’usage doivent être rigoureusement sélectionnés et priorisés.
Avant de filer, nous avons un dernier sujet à explorer. L’IA qui révolutionne le marché de l’IT, ne peut-elle pas aider le RPA ? Si, bien sûr, et nous allons voir comment.
Quelles perspectives pour le futur ?
Le RPA bénéficie des apports de l’IA. Il peut interagir avec d’autres technologies, par exemple :
Intelligent Document Processing,
Task mining,
Traitement du langage naturel,
Vision par ordinateur.
On parle dans ce cas d’hyper automatisation. La promesse est la suivante : automatiser des processus moins structurés que ceux concernés par le RPA “classique”.
Cet ensemble de solutions propose des fonctionnalités intéressantes. Cela va permettre d’étendre le périmètre d’intervention du RPA.
D’après le Gartner, d’ici 2025, 90% des éditeurs de RPA proposeront de l’automatisation assistée par de l’IA générative.
En revanche, la mise en place d’une plateforme d’hyper automatisation va clairement au-delà d’un projet classique de RPA. A la fois en termes de coûts et de compétences.
Vous commencez à nous connaître, nous vous conseillons d’en faire une utilisation… Raisonnée.
L’émergence des systèmes SCADA (Supervisory Control and Data Acquisition) dans les années 1980 et l’avènement de l’internet des objets (capteurs et dispositifs connectés) ont été un tournant majeur dans la tendance technologique de l’informatique industrielle. Force est de constater qu’aujourd’hui, l’informatique industrielle représente un vecteur incontournable pour transformer et moderniser l’exploitation et la maintenance des systèmes industriels.
Pour autant, de nombreuses entreprises se heurtent à des défis majeurs liés à la fragmentation de leur systèmes d’information industriels, la plupart pour des raisons historiques.
Dans ce contexte de fragmentation, un impact majeur est la difficulté à obtenir une vue d’ensemble cohérente des opérations industrielles ; ce qui entraîne une duplication des efforts d’exploitation et de maintenance.
Partant de ce constat, il devient dès lors intéressant de proposer une perspective visant à soutenir et à faciliter la vision d’ensemble à travers la mise en place d’une plateforme unifiée : la plateforme SI industrielle
Dans cet article, nous vous proposons de présenter les enjeux ainsi que les composants fondamentaux qui soutiennent une plateforme SI industrielle.
Proposition de définition
Une plateforme SI industrielle est un ensemble intégré de capacités technologiques et de moyens matériels fournissant un écosystème pour l’exploitation et la maintenance des systèmes industriels (usine, installations de fabrication, lignes de production, etc.).
Quels sont les enjeux pour une entreprise de mettre en place une plateforme si industrielle ?
l’entreprise car elle nécessite des changements à plusieurs niveaux :
Au niveau organisationnel et humain : la déclinaison de nouveaux processus organisationnels et leur adoption est un enjeu majeur pour la mise en place de la plateforme. Celà peut inclure en outre l’adhésion et la formation des opérateurs aux capacités technologiques ainsi que les bonnes pratiques de pilotage
Au niveau données et sécurité : il s’agit de l’un des enjeux majeurs pour la mise en place d’une telle plateforme. Garantir la protection des données sensibles implique la mise en œuvre de mesures de sécurité robustes
Au niveau intégration des systèmes existants: l’une des principales difficultés réside dans l’intégration des systèmes informatiques déjà en place et l’interopérabilité avec les systèmes existants
Quels avantages tire-t-on de la mise en place d’une plateforme si industrielle ?
Une entreprise dotée d’une plateforme SI industrielle pour le pilotage de ses opérations industrielles peut tirer profit des avantages suivant :
La réduction des coûts, en optimisant l’utilisation des ressources et la planification de la production industrielle
L’optimisation des processus opérationnels avec l’automatisation des tâches répétitives et l’augmentation de l’efficacité globale au niveau de la production
La vision en temps réel de l’activité de production à travers les capacités de supervision des systèmes industriels
Les composants de l’architecture de référence d’une plateforme si industrielle
1- LES CAPACITÉS SCADA
LA “SUPERVISION”
La visualisation en temps réel de données en provenance des systèmes industriels revêt d’une importance cruciale pour une plateforme SI industrielle.Le rôle de cette capacité est de :
Collecter des données à partir de dispositifs et de systèmes spécifiques, tels que des capteurs, actionneurs et automates programmables.
Fournir des informations en temps réel sur l’état et les performances des équipements surveillés dans le but d’analyser les données et d’apporter des mesures correctives ou préventives
L’“HYPERVISION”
L’hypervision est le niveau supérieur de surveillance et de gestion englobant l’ensemble de l’environnement industriel au travers d’une interface graphique centralisée. Cette capacité a pour objectif de :
Visualiser les données consolidées au travers de l’interface graphique sous forme de graphiques, tableau de bords ou de carte thermique
Gérer les alarmes en récupérant et en affectant des alertes de supervision issues des systèmes industriels
LE “CONTRÔLE COMMANDE”
Il s’agit de la capacité permettant la gestion et le pilotage à distance d’un système industriel (exemple : arrêt à distance d’une écluse sur une voie d’eau navigable).
Cette capacité permet de contrôler les équipements industriels avec la possibilité pour les opérateurs d’activer ou de désactiver les paramètres des équipements à distance ; ce qui offre une flexibilité dans la gestion des opérations industrielles
2- LES CAPACITÉS VMS
Les capacités VMS (Video Management System) se réfèrent à l’ensemble des fonctionnalités offertes par les systèmes de gestion vidéo et audio. L’objectif est de permettre la gestion, l’analyse et le stockage des flux de données vidéo provenant de multiples dispositifs.
LA CONNECTIVITÉ
Elle a pour rôle d’assurer la communication et l’échange de données entre les différents systèmes et l’environnement industriel. Les éléments pris en charge par cette capacité sont :
La mise en place et la gestion des réseaux industriels avec les caractéristiques spécifiques portées sur des protocoles de communication spécialisée adaptées aux contrainte de l’environnement industriel
L’interconnexion des équipements industriels tels que les capteurs, les actionneurs, les automates programmables, les robots ou encore les systèmes de contrôle-commande.
La gestion des flux ascendants et descendants de la donnée depuis les équipements industriels vers les capacités de supervision, les postes de contrôle et l’infrastructure
LES MOYENS MATÉRIELS
Les capacités VMS reposent sur divers moyens matériels pour un fonctionnement efficace. Ces matériels (audio et vidéo) sont essentiels pour la capture, le traitement, le stockage, la visualisation et la gestion des flux de données. Parmi ces moyens matériels, nous pouvons citer les capteurs et périphériques (capteurs de mouvement, microphones, haut-parleurs, etc.), les équipements réseau (switches, routeurs, etc.), ou encore les caméras de surveillance.
3- L’INFRASTRUCTURE
La capacité Infrastructure concerne les systèmes d’exploitation et de stockage qui supportent les activités industrielles. Les principaux aspects du rôle de l’infrastructure de ce contexte sont :
L’installation et la configuration des équipements industriels
La gestion des données générées par les équipements industriels, de leur collecte, leur stockage, leur traitement, leur analyse et leur archivage. Cela peut inclure la mise en place de bases de données ou de systèmes d’information décisionnels
La sécurité informatique en offrant des fonctionnalités de sécurité adéquat telles que des pare-feu, des mesures de détection des intrusions, des mesures de chiffrement ou encore des politiques d’authentification
4- LE PCC (Poste de Contrôle Centralisée)
En plus de ces capacités technologiques, une plateforme SI industrielle doit intégrer un Poste de Contrôle Centralisée (PCC) offrant un cadre où les opérateurs gèrent à travers les capacités technologiques listées les opérations industrielles. Le PCC coordonne également les interventions et prend des décisions en temps réel pour assurer le bon fonctionnement des installations industrielles.
Conclusion
La mise en place d’une plateforme SI industrielle représente une étape cruciale pour la transformation numérique des entreprises industrielles. En intégrant des capacités de SCADA, de gestion vidéo (VMS), de connectivité, et d’infrastructure, une telle plateforme permet de centraliser et d’optimiser la gestion des opérations industrielles. Cela se traduit par une réduction significative des coûts, une meilleure efficacité opérationnelle et une vision en temps réel des processus de production.
Cependant, la réalisation de cette transformation n’est pas sans défis. Les entreprises doivent surmonter des obstacles organisationnels, sécuritaires et techniques pour réussir l’intégration des systèmes existants et assurer une adoption fluide des nouvelles technologies par les opérateurs. La sécurité des données et l’interopérabilité des systèmes sont des enjeux majeurs à prendre en compte pour garantir le succès de cette initiative.
D’autres articles qui pourraient vous intéresser …