La tâche de construire des plates-formes informatiques pour accumuler et analyser des données revient tôt ou tard à toute entreprise dont l'activité repose sur un modèle de prestation de services chargé intellectuellement ou sur la création de produits techniquement complexes. Construire des plates-formes analytiques est une tâche difficile et chronophage. Cependant, toute tâche peut être simplifiée. Dans cet article, je souhaite partager mon expérience de l'utilisation d'outils low-code pour vous aider à créer des solutions analytiques. Cette expérience a été acquise lors de la mise en œuvre de plusieurs projets dans la direction Big Data Solutions de la société Neoflex. Depuis 2005, la direction Big Data Solutions de Neoflex s'est occupée des problématiques de construction de stockages de données et de lacs, résolvant les problèmes d'optimisation de la vitesse de traitement de l'information et travaillant sur une méthodologie de gestion de la qualité des données.
Personne ne pourra éviter l'accumulation consciente de données faiblement et / ou hautement structurées. Peut-être même si nous parlons d'une petite entreprise. En effet, lors de la mise à l'échelle d'une entreprise, un entrepreneur prometteur sera confronté aux problématiques de développement d'un programme de fidélité, voudra analyser l'efficacité des points de vente, penser à la publicité ciblée, et être intrigué par la demande de produits d'accompagnement. En première approximation, le problème peut être résolu sur le genou. Mais avec la croissance d'une entreprise, arriver à une plate-forme analytique est toujours inévitable.
Cependant, dans quel cas les tâches d'analyse de données peuvent-elles devenir des tâches de la classe "Rocket Science"? Peut-être à ce moment-là quand il s'agit de très grandes données.
Pour simplifier la tâche de Rocket Science, vous pouvez manger l'éléphant morceau par morceau.
Plus vos applications / services / microservices auront de discrétion et d'autonomie, plus il sera facile pour vous, vos collègues et toute l'entreprise de digérer un éléphant.
Presque tous nos clients sont arrivés à ce postulat, reconstruisant le paysage, sur la base des pratiques d'ingénierie des équipes DevOps.
Mais même avec un régime «séparé, éléphant», nous avons de bonnes chances de sursaturation du paysage informatique. À ce stade, il vaut la peine de s'arrêter, d'expirer et de regarder vers la plate-forme d'ingénierie low-code .
De nombreux développeurs sont intimidés par la perspective d'une impasse dans leur carrière lorsqu'ils s'éloignent de l'écriture directe de code pour "faire glisser" les flèches dans les interfaces utilisateur des systèmes low-code. Mais l'émergence des machines-outils n'a pas conduit à la disparition des ingénieurs, mais a porté leur travail à un nouveau niveau!
Voyons pourquoi.
L'analyse de données dans le domaine de la logistique, de l'industrie des télécommunications, dans le domaine de la recherche médiatique, du secteur financier, est toujours associée aux questions suivantes:
- La vitesse de l'analyse automatisée;
- La capacité de mener des expériences sans affecter le flux principal de production de données;
- La fiabilité des données préparées;
- Suivi des modifications et gestion des versions;
- Proveance des données, lignage des données, CDC;
- Livraison rapide de nouvelles fonctionnalités dans l'environnement de production;
- Et le proverbial: coût de développement et de support.
Autrement dit, les ingénieurs ont un grand nombre de tâches de haut niveau, qui ne peuvent être exécutées avec une efficacité suffisante qu'en se débarrassant des tâches de développement de bas niveau.
L'évolution et la digitalisation de l'entreprise sont devenues les conditions préalables à la transition des développeurs vers un nouveau niveau. La valeur pour les développeurs évolue également: il y a une pénurie importante de développeurs capables de plonger profondément dans les concepts d'une entreprise automatisée.
Faisons une analogie avec les langages de programmation de bas niveau et de haut niveau. La transition des langues de bas niveau vers les langues de haut niveau est une transition de l'écriture de «directives directes dans la langue de fer» vers des «directives dans la langue des gens». Autrement dit, ajouter une couche d'abstraction. Dans ce cas, la transition vers des plates-formes low-code à partir de langages de programmation de haut niveau est une transition de «directives dans la langue des gens» à «directives dans la langue des affaires». S'il y a des développeurs qui sont attristés par ce fait, alors ils sont attristés, peut-être même à partir du moment où Java Script est né, qui utilise des fonctions de tri de tableaux. Et ces fonctions, bien sûr, ont une implémentation logicielle sous le capot par d'autres moyens de la même programmation de haut niveau.
Par conséquent, le code bas n'est que l'émergence d'une autre couche d'abstraction.
Expérience appliquée de l'utilisation du low-code
Le sujet du low-code est assez large, mais je voudrais maintenant parler de l'application appliquée des «concepts low-code» en utilisant l'exemple de l'un de nos projets.
La division Big Data Solutions de Neoflex est plus spécialisée dans le secteur financier des entreprises, la construction de stockage de données et de lacs et l'automatisation de divers rapports. Dans ce créneau, l'utilisation du low-code est depuis longtemps devenue un standard. D'autres outils low-code incluent des outils d'organisation des processus ETL: Informatica Power Center, IBM Datastage, Pentaho Data Integration. Ou Oracle Apex, qui agit comme un environnement pour le développement rapide des interfaces d'accès et d'édition des données. Cependant, l'utilisation d'outils de développement low-code n'est pas toujours associée à la construction d'applications très ciblées sur une pile technologique commerciale avec une forte dépendance vis-à-vis du fournisseur.
En utilisant des plates-formes low-code, vous pouvez également organiser l'orchestration des flux de données, créer des plates-formes de science des données ou, par exemple, des modules de contrôle de la qualité des données.
L'un des exemples appliqués de l'expérience de l'utilisation d'outils de développement low-code est la collaboration entre Neoflex et Mediascope, l'un des leaders sur le marché russe de la recherche sur les médias. L'un des objectifs commerciaux de cette société est la production de données sur la base desquelles annonceurs, sites Internet, chaînes de télévision, stations de radio, agences de publicité et marques décident d'acheter de la publicité et planifient leurs communications marketing.
La recherche sur les médias est un secteur d'activité à forte intensité technologique. Reconnaître des séquences vidéo, collecter des données à partir d'appareils qui analysent la visualisation, mesurer l'activité sur les ressources Web - tout cela implique qu'une entreprise dispose d'un personnel informatique important et d'une expérience colossale dans la création de solutions analytiques. Mais la croissance exponentielle de la quantité d'informations, le nombre et la variété de ses sources font progresser constamment l'industrie des données informatiques. La solution la plus simple pour faire évoluer la plate-forme analytique déjà opérationnelle Mediascope pourrait être une augmentation du personnel informatique. Mais une solution beaucoup plus efficace consiste à accélérer le processus de développement. L'une des étapes menant dans cette direction peut être l'utilisation de plates-formes low-code.
Au moment du démarrage du projet, l'entreprise disposait déjà d'une solution produit fonctionnelle. Cependant, la mise en œuvre de la solution dans MSSQL n'a pas pu répondre pleinement aux attentes de mise à l'échelle de la fonctionnalité tout en maintenant un coût de révision acceptable.
La tâche qui nous attendait était vraiment ambitieuse - Neoflex et Mediascope ont dû créer une solution industrielle en moins d'un an, à condition que le MVP soit publié au cours du premier trimestre à compter de la date de début des travaux.
La pile technologique Hadoop a été choisie comme base pour la construction d'une nouvelle plate-forme de données basée sur le calcul low-code. HDFS est devenu la norme pour le stockage de données à l'aide de fichiers parquet. Pour accéder aux données de la plate-forme, Hive a été utilisé, dans lequel toutes les vitrines disponibles sont présentées sous la forme de tableaux externes. Le chargement des données dans le stockage a été implémenté à l'aide de Kafka et Apache NiFi.
L'outil lowe-code de ce concept a été utilisé pour optimiser la tâche la plus exigeante en main-d'œuvre dans la construction d'une plate-forme analytique - la tâche de calcul des données.
L'outil Datagram à faible code a été choisi comme principal mécanisme de mappage des données. Neoflex Datagram est un outil de conception de transformations et de flux de données.
En utilisant cet outil, vous pouvez éviter d'écrire du code Scala "à la main". Le code Scala est généré automatiquement à l'aide de l'approche Model Driven Architecture.
Un avantage évident de cette approche est l'accélération du processus de développement. Cependant, en plus de la vitesse, il existe également les avantages suivants:
- Afficher le contenu et la structure des sources / destinations;
- Suivi de l'origine des objets de flux de données vers des champs individuels (lignage);
- Exécution partielle des transformations avec visualisation des résultats intermédiaires;
- Visualiser le code source et le corriger avant son exécution;
- Validation automatique des transformations;
- Chargement automatique des données 1 en 1.
Le seuil d'entrée de solutions low-code pour générer des transformations est assez bas: le développeur doit connaître SQL et avoir de l'expérience avec les outils ETL. Il convient de noter que les générateurs de transformation pilotés par code ne sont pas des outils ETL au sens large du terme. Les outils low-code peuvent ne pas avoir leur propre environnement d'exécution de code. Autrement dit, le code généré sera exécuté dans l'environnement qui se trouvait sur le cluster avant même l'installation de la solution low-code. Et c'est peut-être un autre avantage du karma low-code. Puisque, en parallèle avec la commande low-code, une commande «classique» peut fonctionner, qui implémente la fonctionnalité, par exemple, en pur code Scala. La mise en production du travail des deux équipes sera simple et transparente.
Il convient peut-être de noter qu'en plus du low-code, il existe également des solutions sans code. Et dans leur essence, ce sont des choses différentes. Low-code permet au développeur d'interférer avec le code généré dans une plus grande mesure. Dans le cas de Datagram, il est possible de visualiser et de modifier le code Scala généré, aucun code ne peut fournir une telle opportunité. Cette différence est très significative non seulement en termes de flexibilité de la solution, mais également en termes de confort et de motivation dans le travail des ingénieurs de données.
Architecture de la solution
Essayons de comprendre comment exactement un outil low-code aide à résoudre le problème de l'optimisation de la vitesse de développement de la fonctionnalité de calcul de données. Tout d'abord, analysons l'architecture fonctionnelle du système. Dans ce cas, un exemple est le modèle de production de données pour la recherche sur les médias.
Les sources de données dans notre cas sont très hétérogènes et diverses:
- (-) — - , – , , . – . Data Lake , , , . , , ;
- ;
- web-, site-centric, user-centric . Data Lake research bar VPN.
- , - ;
- -.
L'implémentation telle quelle du chargement à partir des systèmes sources dans la mise en scène principale des données brutes peut être organisée de différentes manières. Si le code bas est utilisé à ces fins, il est possible de générer automatiquement des scripts de démarrage basés sur des métadonnées. Dans ce cas, il n'est pas nécessaire de descendre au niveau de développement des mappages source vers cible. Pour implémenter le chargement automatique, nous devons établir une connexion avec la source, puis définir dans l'interface de chargement une liste d'entités à charger. La création de la structure de répertoire dans HDFS sera automatique et correspondra à la structure de stockage des données dans le système source.
Cependant, dans le cadre de ce projet, nous avons décidé de ne pas profiter de cette opportunité de la plate-forme low-code car Mediascope a déjà commencé de manière indépendante à travailler sur la production d'un service similaire sur la liaison Nifi + Kafka.
Il faut noter tout de suite que ces outils ne sont pas interchangeables, mais plutôt complémentaires les uns des autres. Nifi et Kafka sont capables de travailler à la fois en bundles directs (Nifi -> Kafka) et inversés (Kafka -> Nifi). Pour la plateforme de recherche médiatique, le premier lien a été utilisé.
Dans notre cas, j'avais besoin de traiter différents types de données des systèmes sources et de les envoyer au courtier Kafka. Dans le même temps, la direction des messages vers un sujet Kafka spécifique a été réalisée à l'aide des processeurs PublishKafka Nifi. L'orchestration et la maintenance de ces pipelines se font dans une interface visuelle. L'outil Nifi et l'utilisation du bundle Nifi + Kafka peuvent également être appelés une approche de développement low-code, qui a un seuil bas d'entrée dans les technologies Big Data et accélère le processus de développement d'applications.
L'étape suivante de la mise en œuvre du projet a été la réduction au format d'une seule couche sémantique de données détaillées. Si une entité possède des attributs historiques, le calcul est effectué dans le contexte de la partition en question. Si l'entité n'est pas historique, il est éventuellement possible soit de recalculer tout le contenu de l'objet, soit de refuser du tout de recalculer cet objet (en raison de l'absence de modifications). À ce stade, les clés sont générées pour toutes les entités. Les clés sont enregistrées dans les répertoires Hbase correspondant aux objets maîtres, contenant la correspondance entre les clés de la plateforme analytique et les clés des systèmes sources. La consolidation des entités atomiques s'accompagne d'un enrichissement avec les résultats du calcul préliminaire des données analytiques. Le cadre de calcul des données était Spark.La fonctionnalité décrite de conversion des données en une seule sémantique a également été implémentée sur la base de mappages de l'outil à faible code Datagram.
L'architecture cible devait fournir un accès aux données SQL aux utilisateurs professionnels. Hive a été utilisé pour cette option. Les objets sont automatiquement enregistrés dans Hive lorsque l'option «Registr Hive Table» est activée dans l'outil low-code.
Contrôle du flux de paiement
Datagram a une interface pour créer des conceptions de flux de travail. Les mappages peuvent être lancés à l'aide du planificateur Oozie. Dans l'interface du développeur de flux, il est possible de créer des schémas parallèles, séquentiels, ou en fonction des conditions spécifiées d'exécution des transformations de données. Il existe un support pour les scripts shell et les programmes java. Il est également possible d'utiliser le serveur Apache Livy. Apache Livy est utilisé pour exécuter des applications directement à partir de l'environnement de développement.
Si l'entreprise dispose déjà de son propre orchestrateur de processus, il est possible d'utiliser l'API REST pour intégrer des mappages dans un flux existant. Par exemple, nous avons eu une expérience assez réussie d'intégration de mappages Scala dans des orchestrateurs écrits en PLSQL et Kotlin. L'API REST d'un outil low-code implique la présence d'opérations telles que la génération d'une année exécutable basée sur la conception du mappage, l'appel d'un mappage, l'appel d'une séquence de mappages et, bien sûr, la transmission de paramètres à l'URL pour lancer des mappages.
Avec Oozie, il est possible d'organiser un flux de calcul en utilisant Airflow. Peut-être que je ne m'attarderai pas longtemps sur la comparaison d'Oozie et d'Airflow, mais je dirai simplement que dans le cadre d'un travail sur un projet de recherche médiatique, le choix s'est porté sur Airflow. Les principaux arguments cette fois-ci se sont avérés être une communauté plus active développant le produit et une interface + API plus développée.
Airflow est également bon car il utilise le Python bien-aimé pour décrire les processus de calcul. En général, il n'y a pas autant de plates-formes de gestion de flux de travail open source. Le lancement et le suivi de l'exécution des processus (y compris ceux avec un diagramme de Gantt) ne font qu'ajouter des points au karma d'Airflow.
Le format du fichier de configuration pour lancer les mappages de solutions low-code est spark-submit. Cela s'est produit pour deux raisons. Tout d'abord, spark-submit vous permet d'exécuter le fichier jar directement depuis la console. Deuxièmement, il peut contenir toutes les informations dont vous avez besoin pour configurer le flux de travail (ce qui facilite l'écriture de scripts qui forment le Dag).
L'élément le plus courant du flux de travail Airflow dans notre cas est le SparkSubmitOperator.
SparkSubmitOperator vous permet d'exécuter des mappages de datagrammes remplis de jar`niks avec des paramètres d'entrée préformés.
Il convient de mentionner que chaque tâche Airflow s'exécute sur un thread distinct et ne sait rien des autres tâches. Dans ce contexte, l'interaction entre les tâches est effectuée à l'aide d'opérateurs de contrôle, tels que DummyOperator ou BranchPythonOperator.
Dans l'ensemble, l'utilisation de la solution bas code Datagram en conjonction avec l'universalisation des fichiers de configuration (formant Dag) a conduit à une accélération et une simplification significatives du processus de développement des flux de téléchargement de données.
Calcul de la vitrine
L'étape la plus intelligemment chargée de la production de données analytiques est peut-être l'étape de construction de la vitrine. Dans le cadre de l'un des flux de données de la société de recherche, à ce stade, il y a une conversion en diffusion de référence, en tenant compte de la correction des fuseaux horaires en référence à la grille de diffusion. Il est également possible de s'adapter au réseau de diffusion local (actualités locales et publicité). Entre autres choses, cette étape décompose les intervalles de visionnage continus des produits multimédias en fonction de l'analyse des intervalles de visionnage. Immédiatement, les valeurs de visualisation sont "pondérées" en fonction des informations sur leur signification (calcul du facteur de correction).
La validation des données est une étape distincte de la préparation des magasins de données. L'algorithme de validation utilise un certain nombre de modèles de sciences mathématiques. Cependant, l'utilisation d'une plate-forme low-code permet de décomposer un algorithme complexe en un certain nombre de mappages distincts et lisibles visuellement. Chacun des mappages effectue une tâche précise. En conséquence, le débogage intermédiaire, la journalisation et la visualisation des étapes de préparation des données sont possibles.
Il a été décidé de discrétiser l'algorithme de validation dans les sous-étapes suivantes:
- Tracer des régressions des dépendances de regarder un réseau de télévision dans une région avec regarder tous les réseaux de la région pendant 60 jours.
- Calcul des résidus studentisés (écarts des valeurs réelles par rapport à celles prédites par le modèle de régression) pour tous les points de régression et pour le jour calculé.
- Un échantillon de paires région-réseau anormales, où le reste étudiant du jour calculé dépasse la norme (spécifiée par le paramètre de fonctionnement).
- Recalcul du reste studentisé corrigé pour les paires région-réseau anormales pour chaque répondant qui a consulté le réseau dans la région avec la détermination de la contribution de ce répondant (la valeur du changement dans le reste étudiant) lors de l'exclusion de ce répondant de l'échantillon.
- Recherche de candidats dont l'exclusion ramène le solde étudiant du jour d'établissement à la normale.
L'exemple ci-dessus confirme l'hypothèse qu'un ingénieur de données devrait avoir trop de choses en tête de toute façon ... Et s'il s'agit vraiment d'un «ingénieur», pas d'un «codeur», alors la peur d'une dégradation professionnelle lors de l'utilisation d'outils low-code il doit enfin se retirer.
Que peut faire d'autre le low-code?
La portée d'un outil low-code pour le traitement par lots et le streaming de données sans écrire manuellement du code Scala ne s'arrête pas là.
L'utilisation du low-code dans le développement de datalakes est déjà devenue un standard pour nous. Peut-être pouvons-nous dire que les solutions sur la pile Hadoop suivent le chemin du développement du DWH classique basé sur le SGBDR. Les outils low-code de la pile Hadoop peuvent résoudre à la fois les tâches de traitement des données et les tâches de création d'interfaces BI finales. De plus, il convient de noter que la BI peut signifier non seulement la représentation des données, mais aussi leur édition par les forces des utilisateurs métier. Nous utilisons souvent cette fonctionnalité lors de la construction de plates-formes analytiques pour le secteur financier.
Entre autres choses, en utilisant du code bas et, en particulier, Datagram, il est possible de résoudre le problème du traçage de l'origine des objets de flux de données avec atomicité à des champs individuels (lignage). Pour ce faire, l'outil low-code implémente une interface avec Apache Atlas et Cloudera Navigator. En fait, le développeur doit enregistrer un ensemble d'objets dans les dictionnaires Atlas et se référer aux objets enregistrés lors de la création de mappages. Le mécanisme de suivi de l'origine des données ou d'analyse des dépendances d'objets fait gagner beaucoup de temps s'il est nécessaire d'apporter des améliorations aux algorithmes de calcul. Par exemple, lors de la création d'états financiers, cette fonction vous permet de survivre plus confortablement à la période des changements législatifs. Après tout, mieux nous comprenons la dépendance inter-formes dans le contexte des objets de la couche détaillée,moins nous rencontrerons des défauts «soudains» et réduirons le nombre de reprises.
Qualité des données et code bas
Une autre tâche implémentée par l'outil low-code sur le projet Mediascope est la tâche de la classe Data Quality. La particularité de la mise en œuvre du pipeline de vérification des données pour le projet de la société de recherche était le manque d'impact sur les performances et la vitesse du flux de données principal. Le familier Apache Airflow a été utilisé pour permettre l'orchestration de la validation des données par des threads indépendants. Chaque étape de la production de données étant prête, une partie distincte du pipeline DQ a été lancée en parallèle.
Il est recommandé de surveiller la qualité des données depuis leur création dans la plate-forme d'analyse. Ayant des informations sur les métadonnées, nous pouvons, à partir du moment où les informations pénètrent dans la couche primaire, vérifier si les conditions de base sont remplies - pas nulles, contraintes, clés étrangères. Cette fonctionnalité est implémentée sur la base de mappages générés automatiquement de la famille de qualité des données dans Datagram. La génération de code dans ce cas est également basée sur les métadonnées du modèle. Sur le projet Mediascope, l'interface était avec les métadonnées du produit Enterprise Architect.
En associant l'outil low-code et Enterprise Architect, les vérifications suivantes ont été automatiquement générées:
- Vérification de la présence de valeurs «nulles» dans les champs avec le modificateur «non nul»;
- Vérification de la présence de doublons de la clé primaire;
- Validation de clé étrangère d'entité;
- Vérification de l'unicité d'une chaîne par rapport à un ensemble de champs.
Pour des vérifications de disponibilité et de validité des données plus sophistiquées, un mappage d'expression Scala a été créé qui accepte un code de vérification Spark SQL externe préparé par des analystes dans Zeppelin.
Bien entendu, il faut arriver à l'auto-génération des chèques progressivement. Dans le cadre du projet décrit, celui-ci a été précédé des étapes suivantes:
- DQ implémenté dans les notebooks Zeppelin;
- Cartographie intégrée DQ;
- DQ sous la forme de mappages massifs séparés contenant un ensemble complet de vérifications pour une entité particulière;
- Mappages DQ paramétrés universels qui acceptent les métadonnées et les informations de validation métier en entrée.
Peut-être que le principal avantage de la création d'un service de contrôles paramétrés est la réduction du délai de livraison des fonctionnalités à l'environnement de production. Les nouveaux contrôles de qualité peuvent contourner le modèle classique de livraison de code indirectement via des environnements de développement et de test:
- Toutes les vérifications de métadonnées sont générées automatiquement lorsque le modèle change dans EA;
- Des contrôles de disponibilité des données (déterminant la présence de toute donnée à un moment donné) peuvent être générés sur la base d'un répertoire qui stocke le moment prévu de l'apparition de la prochaine donnée dans le contexte des objets;
- La validation des données commerciales est créée par les analystes dans les notebooks Zeppelin. D'où ils vont directement aux tables de configuration du module DQ dans l'environnement de production.
Il n'y a aucun risque d'expédition directe des scripts à la production en tant que tels. Même avec une erreur de syntaxe, le maximum qui nous menace est de ne pas effectuer un contrôle, car le flux de calcul des données et le flux de lancement des contrôles qualité sont séparés l'un de l'autre.
En fait, le service DQ fonctionne en permanence sur l'environnement de production et est prêt à commencer à fonctionner lorsque la prochaine donnée apparaît.
Au lieu d'une conclusion
L'avantage d'utiliser le code bas est évident. Les développeurs n'ont pas besoin de développer une application à partir de zéro. Un programmeur libéré de tâches supplémentaires donne des résultats plus rapidement. La vitesse, à son tour, libère une ressource supplémentaire de temps pour résoudre les problèmes d'optimisation. Par conséquent, dans ce cas, vous pouvez compter sur une solution meilleure et plus rapide.
Bien sûr, le low-code n'est pas une panacée, et la magie ne se produira pas d'elle-même:
- L'industrie low-code traverse une phase de "croissance" et jusqu'à présent il n'y a pas de normes industrielles uniformes;
- De nombreuses solutions low-code ne sont pas gratuites, et leur achat devrait être une étape délibérée, qui devrait être faite en toute confiance dans les avantages financiers de leur utilisation;
- GIT / SVN. ;
- – , , « » low-code-.
- , low-code-. . / IT- .
Cependant, si vous connaissez toutes les lacunes du système choisi, et les avantages de son utilisation, néanmoins, sont dans la majorité dominante, alors passez au petit code sans crainte. De plus, la transition vers celui-ci est inévitable - car toute évolution est inévitable.
Si un développeur sur une plate-forme low-code peut faire son travail plus rapidement que deux développeurs sans low-code, cela donne à l'entreprise une longueur d'avance à tous égards. Le seuil d'entrée des solutions low-code est inférieur à celui des technologies «traditionnelles», ce qui a un effet positif sur la question des pénuries de personnel. Lors de l'utilisation d'outils low-code, il est possible d'accélérer l'interaction entre les équipes fonctionnelles et de prendre des décisions plus rapides sur l'exactitude du chemin de recherche en science des données choisi. Les plates-formes de bas niveau peuvent conduire la transformation numérique d'une organisation, car les solutions produites peuvent être comprises par des spécialistes non techniques (en particulier les utilisateurs professionnels).
Si vous avez un délai serré, une logique commerciale chargée, un manque d'expertise technologique et que vous avez besoin d'accélérer le délai de mise sur le marché, le low-code est l'un des moyens de répondre à vos besoins.
On ne peut nier l’importance des outils de développement traditionnels, mais dans de nombreux cas, l’utilisation de solutions low-code est le meilleur moyen d’accroître l’efficacité des problèmes à résoudre.