itestro - Fotolia
Low-code : OutSystems lève le voile sur le futur de sa plateforme
Si l’éditeur portugais ne lance pas beaucoup de nouvelles fonctionnalités, il a tenu à présenter sa feuille de route consacrée à son architecture cloud native et à l’infusion de l’IA dans sa plateforme low-code/no-code.
Lors de son événement NextStep 22, OutSystems a rappelé des dernières mises à jour de la version 11 de sa suite low-code/no-code. Celle-ci corrige principalement des bugs qui affectaient les différentes briques nécessaires à son fonctionnement.
Plus intéressant, l’éditeur renforce les intégrations avec les outils tiers, notamment pour les analyses SAST, la supervision des applications et l’accès aux sources de données. Une API accessible en préversion permet de se connecter aux outils de Veracode et de SonarQube. Une autre API, elle aussi soumise à un programme en « early access », est réservée à OpenTelemetry. Il s’agit de permettre aux clients qui ne veulent pas utiliser les outils APM inclus dans la suite de développement de se tourner vers les services de Datadog, New Relic ou Dynatrace.
Enfin, OutSystems s’ouvre aux bases de données NoSQL. Integration Builder est désormais compatible avec MongoDB qui devient une source de données pour les applications. Auparavant, l’éditeur prenait en charge des sources comme SAP, Salesforce, Azure SQL, MySQL ou PostgreSQL.
Ces ajouts, bien que réclamés par les utilisateurs, n’étaient pas au centre de la présentation de l’éditeur. Non, il a préféré présenter sa feuille de route pour les quelques années à venir.
OutSystems Developer Cloud : le projet Neo touche à son terme
Ainsi, le projet Neo sort enfin de l’ombre. L’éditeur abandonne le nom de code de sa plateforme cloud native pour la renommer OutSystems Developer Cloud (ODC).
OutSystems proposait déjà Outsystems Cloud, une PaaS pour déployer la suite de développement sur AWS et Microsoft Azure. Même s’il est possible d’y souscrire en mode SaaS et que les déploiements sont automatisés, elle reproduit le modèle de déploiement on-premise de l’éditeur. Celle-ci s’appuie sur une instance Windows Server, les données résident dans une base de données relationnelles (SQL Server, Azure SQL Database, Oracle), tandis que les applications sont hébergées sur des serveurs spécifiques. Dans les faits, l’infrastructure est plus complexe puisque l’éditeur a mis en place des mesures de sécurité, des fonctionnalités d’automatisation des déploiements, de répartition de charge, de haute disponibilité, ou encore de scalabilité.
Patrick JeanCTO, OutSystems
Avec ODC, OutSystems fournit une architecture établie sur Kubernetes (plus précisément sur EKS), des conteneurs Linux et des microservices disponibles depuis AWS. Tout comme OutSystems Cloud, ODC doit assurer la séparation de la plateforme des applications. « Nous avons bâti une plateforme multitenant qui sépare notre plateforme de services des runtime applicatifs », explique Patrick Jean, CTO de OutSystems lors de la conférence. « Vos applications s’exécutent dans un tenant comprenant des environnements isolés (développement, test, production) incluant les données associées ».
Avantage par rapport à OutSystems Cloud, cela permettrait d’appliquer de l’autoscaling sur chaque application de manière indépendante et d’éviter les effets de « voisins bruyants » (noisy neighbors, en anglais). Plus concrètement, le contrôleur Kubernetes dédié à l’autoscaling supervise l’utilisation du CPU et de la RAM par chacun des conteneurs applicatifs. Il est ensuite possible de répliquer les services en exécution pour optimiser les ressources allouées ou d’ajouter de nouveaux clusters de calculs si la consommation de la RAM et du CPU ont dépassé un certain seuil. En outre, les conteneurs applicatifs sont répliqués dans plusieurs zones de disponibilité pour assurer la haute disponibilité. Pour le problème de voisins bruyants, le service Build place chaque image de conteneurs dans un conteneur séparé.
« Concernant la base de données, nous avons adopté une approche à large échelle et sans interruption de services », vante le CTO. Pour cela, l’éditeur s’appuie sur Amazon Aurora Serverless. Par défaut, chaque environnement de développement, de test ou de production a le droit à sa propre instance Aurora Serverless hautement disponible. ODS prend également en charge S3, Aurora ou une base de données PostgreSQL compatible.
En plus d’assurer les mises à jour de l’architecture, et de la plateforme de développement (avec OutSystems Cloud, ce sont les clients qui migrent d’une version à une autre), Outsystems promet qu’ODC est prêt à accueillir les gros projets des grands groupes.
OutSystems Cloud, une offre adoptée par un bon nombre de clients de l’éditeur, ne disparaît pas pour autant. Et s’il fournit une documentation pour les utilisateurs de la version anticipée, l’éditeur n’a toujours pas donné de date de disponibilité pour ODC, ni évoqué son modèle économique.
L’IA vue comme un mentor pour le développeur
L’autre volet de la feuille de route d’Outsystems concerne l’intelligence artificielle. Lors d’un événement satellite à NextStep se déroulant à Paris, Antonio Alegria, Head of AI chez OutSystems a évoqué quatre années de recherche et de développement dans ce domaine.
L’éditeur se sent suffisamment confiant pour renommer les fonctionnalités de machine learning et de deep learning « infusées » dans les différentes portions de sa plateforme.
Celles-ci sont rassemblées sous l’appellation AI Mentor System. Ainsi, Code Mentor est l’outil qui prédit la prochaine action d’un développeur. Architecture Mentor (anciennement Architecture Dashboard), lui, est consacré à la revue de code afin de faire respecter les standards de développement décidés par l’organisation IT. Security Mentor doit identifier des vulnérabilités dans le code. Performance Mentor fait la même chose pour optimiser la performance, tandis que Maintainability Mentor cherche les doublons et les moyens d’amoindrir la dette technique.
Ainsi, Antonio Alegria a dévoilé plusieurs améliorations. Premièrement, son équipe a développé un outil pour manipuler les données applicatives en langage naturel. « Nous pensons que cela sera très utile pour de nombreux cas d’usage », affirme le responsable. « Les utilisateurs peuvent exprimer simplement ce qu’ils ont besoin de faire, puis adapter les requêtes ».
Ensuite, Maintainability Mentor générerait 40 % de faux positifs en moins. De la même manière, les fonctions de révision automatique du code à des fins de sécurité, de performance et guidage des utilisateurs ont été améliorées au cours de l’année 2022.
De gros efforts de R&D
Mais Outsystems veut aller bien plus loin. « À l’avenir, les développeurs doivent rester au volant, mais déléguer davantage le gros œuvre aux bots », envisage Antonio Alegria.
Le responsable croit que les « modèles fondamentaux » – ces réseaux de neurones autosupervisés géants comme GPT-3 – sont la clé. Ceux-là peuvent être réentraînés pour effectuer des tâches spécifiques.
Antonio AlegriaHead of AI, OutSystems
« En ce sens, nous sommes en train de créer notre propre modèle de langage OutSystems », avance le Head of AI.
OutSystems veut ainsi proposer plus de recommandations qui couvriraient l’ensemble de la pile applicative pour aider les utilisateurs à déployer leurs applications. Ce modèle devrait permettre d’effectuer des suggestions universelles, non plus seulement sur l’enchaînement des logiques de programmation, mais également dans l’ensemble des domaines de la plateforme : UI, traitements de données, optimisation, etc.
« Nous allons aussi ajouter des capacités de génération de code pour les tâches les plus répétitives », ajoute le responsable. C’est pourquoi l’éditeur met sur pied son propre « Data Engine ». « Nous avons créé un nouveau format de données pour décrire et analyser la manière dont OutSystems représente son code et ses fonctions », explique Antonio Alegria.
À cela, l’éditeur compte ajouter des fonctionnalités de raisonnement automatisé, un sous-domaine de l’intelligence artificielle consacré à la vérification de preuves. Il veut s’assurer que les optimisations, les fonctions et les pratiques de sécurité sont correctes.
« Tout cela s’inscrit dans un effort de recherche autour de l’apprentissage profond géométrique (un sous-domaine de l’IA dédié au traitement des données non euclidiennes : réseaux, molécules, variétés comme le ruban de Möbius, etc.), des grands modèles de langage consacrés au code, l’analyse de code et la vérification de programme », liste le responsable de l’IA.
OutSystems semble certain d’être sur le bon chemin : il a déjà déposé sept brevets et publié une dizaine d’articles de recherche concernant ses travaux.