Les architectures de référence appliquent des principes de conception spécifiques pour répondre aux exigences essentielles du développement d'applications modernes. Ces principes permettent aux développeurs de créer des applications Web/mobiles qui intègrent l'IA/ML, les analyses basées sur les données et les plateformes de messagerie. Les architectures orientées événement réagissent aux événements en temps réel. Ces modèles d'architectures permettent d'accélérer la personnalisation du développement des applications dans les secteurs de la finance, de la vente au détail, de la santé, de l'énergie et de la fabrication industrielle, ainsi qu'à étendre les groupes d'applications Oracle. La plupart des applications d'entreprise reposent sur les données, de différents types, et et une base de données convergée permet un développement optimal. Les langages populaires Java, Python, Javascript, Go, etc. sont également bien pris en charge dans ces modèles d'architecture. Le développement d'applications low code limite les niveaux de technologie nécessaires et constitue une bonne option pour certaines applications. Les applications et les conteneurs de base de données gérés par Kubernetes peuvent ensuite être déployés sur Oracle Cloud (OCI), dans des environnements autonomes et sur d'autres clouds publics majeurs.
Les applications Web et mobiles contiennent généralement un front-end visible par l'utilisateur, un générateur de requêtes et un back-end qui traite les données et sert le front-end. En réponse à une demande utilisateur ou API, une application Web interagit avec l'API ou avec des données persistantes stockées dans une base de données. L'application doit prendre en charge différents clients, tels que les navigateurs et les appareils mobiles, et interagir avec d'autres systèmes et applications à l'aide d'API et d'événements. Le back-end doit être sécurisé et redimensionné à la demande.
Créez votre application Web en tant qu'ensemble de microservices pouvant être testés, déployés et gérés indépendamment par différentes équipes d'application. Exposez des services en tant qu'API REST et communiquez avec d'autres microservices grâce à un maillage d'événements intégré pour les événements et les messages, ou des API créées par microservice. Intégrez le machine learning dans des applications intelligentes avec des modèles de machine learning via des adresses REST dans la base de données.
Les applications Web et mobiles doivent être évolutives pour gérer les pics de demande avec une faible latence. Elles doivent être disponibles 24h/24 et suffisamment résilientes pour produire des données à la demande sans perdre les informations stockées.
Les applications mobiles sont conçues avec des structures de front-end telles que React Native ou SwiftUI, créant l'interface utilisateur qui interagit avec un back-end pour tous ses services de données et d'enrichissement. Le développeur peut se concentrer sur le workflow et la logique des applications, en accédant au back-end via des API bien définies, résilientes, sécurisées et évolutives de manière autonome.
La sécurité revêt une importance capitale pour les applications Web exposées à Internet. Le chiffrement des données, TLS, la protection DDoS, les pare-feu et la gestion précise de l'accès aux données et des utilisateurs sont essentiels. La sécurité des bases de données, tout comme celle des applications, est importante. Vous pouvez la gérer à l'aide des mots de passe et des clés accessibles via le portefeuille Oracle Database et le service OCI Vault.
Créez un système de front-end mobile et Web avec Javascript (React) ou SwiftUI. Pour les services d'application et de données back-end, exploitez un langage multilingue (Python, Node.js, Java, PL/SQL, Go, etc.) pour prendre en charge les cas d'utilisation et les microservices écrits dans ces langages. Traitez les données à proximité de leur emplacement de stockage.
Une application Web ou mobile doit souvent être connectée avec d'autres systèmes internes et externes à l'entreprise. Les services qui font partie d'une application Web doivent permettre l'interaction et la collaboration via des API bien définies. Utilisez Oracle REST Data Services (ORDS) pour tirer parti des API de données ou en créer de nouvelles. Utilisez des terminaux REST prêts à l'emploi via les services OML et l'exécution Python intégrée OML4Py pour vos tâches de machine learning. Utilisez les passerelles d'API disponibles sur Oracle Cloud comme point d'entrée unique pour tous les clients et acheminez les demandes d'API vers le service approprié. Configurez les services d'équilibreur de charge et les contrôleurs entrants afin de sécuriser la communication entre les microservices via les API.
La maintenance d'une infrastructure d'application Web ou mobile s'accompagne de responsabilités relatives au déploiement, à la mise à niveau, à l'application de correctifs, à la mise à l'échelle et à la sécurisation de la configuration. Utilisez des services gérés tels qu'Oracle Autonomous Database et un ensemble d'autres services gérés sur Oracle Cloud pour maximiser la disponibilité et l'évolutivité ainsi que pour répondre aux demandes en constante évolution des applications Web et mobiles. Les services gérés garantissent une disponiblité 24h/24 et une protection en cas de panne dans le data center où l'infrastructure est hébergée. Utilisez des services autogérés uniquement lorsqu'un service géré par le fournisseur n'est pas disponible.
Ne conservez pas de statut dans les composants de niveau intermédiaire de l'application. Si l'état de l'application doit être stocké, utilisez Oracle Autonomous Database pour stocker les données et l'état de l'application à des fins de cohérence, de durabilité et de récupération rapide à partir de la racine de l'état de l'application. La conservation de l'état dans une base de données est plus simple et plus efficace pour la récupération globale des applications.
Les applications Web et mobiles utilisent des données dans différents formats et doivent les stocker, y rechercher des informations et les traiter dans un magasin de données. Les données peuvent être tabulaires (relationnelles), non structurées, spatiales, au formats XML et JSON ou sous la forme de graphes. Traditionnellement, cette disparité obligeait les développeurs à utiliser une base de données relationnelle pour les données relationnelles, une banque de documents pour les données non structurées et des bases de données orientées graphes avec des liens hiérarchiques. Toutefois, l'utilisation de plusieurs bases de données complexifie les opérations et entraîne une incohérence au sein des données. Pour éviter ce problème, tirez parti de la base de données Oracle Autonomous Database convergée pour stocker plusieurs types de données, les indexer et fournir des moyens de recherche, et utilisez-la à des fins d'analyses unifiées sur l'ensemble des données.
Une application Web ou mobile peut contenir des centaines de services gérés par différentes équipes commerciales et d'applications. L'observabilité unifiée avec des interfaces à outils ouverts est importante pour obtenir une visibilité sur le comportement de ces systèmes distribués de manière inhérente. Centralisez la solution d'observabilité à l'aide des mesures, des journaux et du suivi exportés à partir de toutes les couches de l'application et des niveaux de données. Ces services surveillent l'ensemble de la pile, du front-end au back-end pour détecter et résoudre rapidement les problèmes dans l'application. Ils deviennent ainsi la plateforme d'optimisation continue des performances.
Les applications Web et mobiles doivent être résilientes, permettre de récupérer les données en cas de panne, limiter les temps d'arrêt et éviter les pertes de données. La redondance aide à éliminer les points de défaillance uniques : utilisez Kubernetes pour gérer la résilience des conteneurs de base de données et des conteneurs d'application. L'opérateur Oracle Database Kubernetes est conçu à cette fin à l'aide de pipelines d'intégration et de déploiement continus qui incluent le niveau de données. Dans les clusters Kubernetes, configurez des pools de noeuds avec au moins trois noeuds dans un domaine de disponibilité distinct dans une région de domaine de disponibilités multiples sur OCI. Dans une seule région de domaine de disponibilité sur OCI, configurez les pools de noeuds dans Kubernetes avec chaque noeud dans un domaine de panne distinct. Utiliser un seul équilibreur de charge public et plusieurs équilibreurs de charge privés avec plusieurs contrôleurs entrants pour la redondance dans Kubernetes.
Configurez Autonomous Database pour une disponibilité maximale à l'aide d'Autonomous Data Guard afin de réduire les temps d'arrêt opérationnels et les pertes de données.
Respectez le principe du moindre privilège pour vous assurer que les utilisateurs et les comptes de service ne disposent que du privilège le moins élevé pour effectuer leurs tâches. Contrôlez qui a accès aux composants d'application Web à l'aide de Cloud Identity and Access Management (IAM), y compris la base de données. Utilisez l'authentification multifacteur dans IAM pour appliquer une authentification forte permettant aux administrateurs de limiter l'accès aux composants d'application et à la base de données.
Ce modèle d'architecture de données convergée pour une application Web ou mobile est composé d'un système de front-end et de microservices ainsi que d'un back-end utilisant l'application et les services de données intégrés à Oracle Autonomous Database. Pour les services ne figurant pas dans la base de données, les microservices des conteneurs peuvent éventuellement être gérés dans un cluster Kubernetes.
Le schéma suivant illustre cette architecture de référence.
L'architecture possède les composants suivants (les composants peuvent être des services entièrement gérés sur Oracle Cloud Infrastructure ou des services équivalents dans d'autres environnements de déploiement. Par exemple, Oracle Autonomous Database est un service géré sur OCI et Oracle Database s'exécute dans d'autres environnements.)
Ce cas d'utilisation décrit un exemple d'application mobile de livraisons de repas nommée GrabDish, qui utilise une architecture de microservices avec Autonomous Database et des bases de données en conteneur (base de données enfichable dans une base de données Conteneur) pour chacun de ses services. Elle utilise la plateforme de messagerie intégrée Transactional Event Queues (TEQ) pour la messagerie, ce qui simplifie les modèles de microservices courants pour les développeurs. GrabDish utilise des services d'IA/de ML et divers types de données utilisés. L'application est programmées en plusieurs langages. Pour plus de détails, consultez les ateliers sur GrabDish à l'adresse http://bit.ly/simplifymicroservices
En savoir plus sur les ressources associées.
Les solutions de messagerie connectent les composants des applications, y compris les solutions on-premise existantes entre systèmes et cloud. Les données des messages sont des événements générés par l'application, des entrées utilisateur, des modifications de données ou des événements générés par l'appareil. La messagerie permet le transfert d'événements et de données dans le cadre d'un pipeline de traitement distribué bien défini, ou la publication de messages et d'événements sur plusieurs systèmes en aval indépendants qui traitent, enrichissent et analysent les données. La plupart des applications modernes construites avec des microservices reposent sur une architecture orientée événement. Un maillage d'événements permet de consommer tout événement produit dans un système en toute sécurité n'importe où dans le système distribué où il est nécessaire en temps quasi réel, à l'aide d'un ou de plusieurs agents d'événements. Après le traitement d'un événement, les données (payload) sont stockées dans un data lakehouse pour l'analyse et l'entraînement du modèle d'IA/de ML.
Créez des solutions de messagerie hautement disponibles, fiables et flexibles. Utilisez la plateforme de base de données convergée, les services cloud et les bonnes pratiques d'Oracle pour fournir des messages et des solutions en fonction de vos besoins d'entreprise. Ces recommandations vous aident à limiter l'intégration du développement, les frais de déploiement et la charge de gestion à long terme.
Les solutions de messagerie connectent les composants d'application, y compris vos systèmes sur site existants, aux solutions cloud. Elles permettent le transfert de données dans le cadre d'un pipeline de traitement distribué et convergé bien défini ou elles publient des messages et des événements vers plusieurs systèmes en aval qui évoluent indépendamment.
Ces solutions doivent également s'adapter de manière transparente aux pics de charge de messages non planifiés en mettant les données en mémoire tampon et en ajustant dynamiquement les ressources de processus. Par le passé, les entreprises devaient déployer et gérer des solutions de messagerie fiables qui répondaient à ces objectifs en limitant la complexité et le coût. Toutefois, cette implémentation est simplifiée par le cloud avec des services de messagerie conçus pour assurer l'évolutivité et les performances.
Utilisez les principes de conception suivants pour créer vos applications ou votre plateforme de messagerie avec l'architecture de données convergée.
Utilisez des API de messagerie JMS ou Kafka avec Oracle Transactional Event Queues. L'utilisation des API standard offre la portabilité des applications et vous permet de créer simplement des applications de messagerie hybrides et multiclouds.
Exécutez des applications sur des services entièrement gérés avec des fonctions intégrées de maintenance et d'application de correctifs de sécurité. Vous pouvez tirer parti de l'automatisation de la mise à l'échelle pour faire face à l'évolution des charges. Utilisez Oracle Autonomous Database, un service Oracle Database entièrement géré sur OCI. Oracle Transactional Event Queues est une fonctionnalité intégrée de la base de données disponible dans toutes les régions OCI.
Utilisez Oracle Autonomous Database, qui prend en charge de manière native différents types de données (JSON, relationnel, graphes, spatial, etc.). Utilisez la fonctionnalité de base de données pour simplifier la logique de l'application. Par exemple, utilisez SQL pour les requêtes, les jointures et l'analyse. Utilisez des transactions pour garantir la cohérence et l'isolation, ainsi que les analyses et les algorithmes de machine learning intégrés pour éviter les transferts de données inutiles. Utilisez les fonctionnalités de sécurité et le contrôle d'accès de la base de données pour protéger les données sensibles et utiliser la réplication pour améliorer la disponibilité, l'évolutivité et la résilience de votre application.
Une application de messagerie peut contenir des centaines de services, appartenant à différentes équipes commerciales et d'applications. L'observabilité unifiée avec des interfaces à outils ouverts est importante pour avoir une meilleure visibilité sur le comportement de ces systèmes distribués complexes. Au lieu de créer leur propre solution, chaque équipe centralise les mesures, les journaux et le suivi exportés depuis toutes les couches de l'application. Les mesures TEQ peuvent être exportées dans Prometheus, qui prend en charge les tableaux de bord Grafana pour les processus de débogage et de réglage des performances.
Éliminez les points de défaillance uniques grâce à la mise à l'échelle horizontale et automatisez la récupération après incident.
Étant donné que TEQ fait partie d'Oracle Autonomous Database, les applications bénéficient des fonctions intégrées de haute disponibilité et de reprise après sinistre inter-région sans travail supplémentaire.
La messagerie transactionnelle de TEQ simplifie également la reprise suite à des défaillances externes.
Implémentez des stratégies Identity and Access Control (IAM) pour permettre uniquement aux utilisateurs autorisés de créer, d'envoyer ou de recevoir des données à partir des flux. Appliquez un principe d'accessibilité minimale pour les terminaux en sécurisant l'accès aux adresses de messagerie avec le protocole mTLS et la passerelle de service, qui limite l'accès à partir d'Internet. Chiffrez les données au repos et en mouvement pour assurer la confidentialité des données. Utilisez le portefeuille de base de données pour sécuriser les informations d'identification des connexions à la base de données.
L'architecture de base de données convergée offre une conception permettant d'obtenir des modèles de messagerie dans les applications modernes. Ce modèle utilise Transactional Event Queues (TEQ), qui est intégré à Oracle Autonomous Database.
Cette architecture simplifie le processus, car elle ne nécessite pas d'utiliser des services externes de diffusion en continu ou de mise en file d'attente et fournit des fonctionnalités de messagerie transactionnelle qui simplifient les modèles de microservices courants.
Les architectes d'applications doivent prendre en compte l'évolutivité, les performances et la simplicité de cette architecture :
FedEx utilise Oracle E-Business Suite et le gestionnaire d'événements métier créé avec Oracle TEQ pour la comptabilité clients des 15,5 millions de colis livrés chaque jour.
Plusieurs scénarios d'authentification à deux facteurs (2-FA) qui utilisent des mots de passe à usage unique sont activés par Oracle Transactional Event Queues
En savoir plus sur les ressources associées.
Les plates-formes low-code conviennent bien à la création d’applications opportunistes en collaboration avec les parties prenantes de l’entreprise, à la création d’applications de reporting et d’analyse des données, à l’extension des applications SaaS et à la modernisation des anciennes applications. Chaque ligne de code a un coût associé à sa création, sa maintenance, son débogage, sa mise à niveau et sa sécurité. Oracle Application Express (APEX) aide les développeurs à éviter ces coûts en fournissant des composants de haut niveau et des modèles de conception courants grâce à une expérience de développement graphique et intuitif.
Les plates formes low code vous permettent de créer des applications d'entreprise plus rapidement qu'avec le codage manuel traditionnel. Ces plateformes conviennent parfaitement à la création d’applications opportunistes en collaboration avec les parties prenantes de l’entreprise, à la création d’applications de reporting et d’analyse des données, à l’extension des applications SaaS et à la modernisation des anciennes applications.
Avec les plateformes low code, vous êtes libre de vous concentrer sur la résolution de votre problème d'entreprise plutôt que sur la complexité du développement d'applications Web. La complexité émane de la sécurité, de l'accessibilité, de l'efficacité de l'accès aux données, des performances et de la mondialisation. Les plateformes low code éliminent cette complexité en réduisant considérablement la quantité de code à maintenir.
Oracle Application Express (APEX) aide les développeurs à éviter les coûts associés au développement traditionnel d'applications en leur fournissant des composants de haut niveau et des modèles de conception communs grâce à une expérience de développement graphique intuitive.
Oracle Cloud Infrastructure (OCI) fournit l'infrastructure sécurisée, fiable, évolutive et hautement performante requise pour les applications les plus exigeantes. Ces applications peuvent être redimensionnées pour prendre en charge n'importe quel élément, des petits groupes de travail aux millions d'utilisateurs finaux. Ce document décrit les principes de conception et le chemin d'implémentation optimal pour la conception d'une application low code.
Lors de l'implémentation d'un modèle low code, respectez les principes de conception de développement d'applications modernes suivants :
Adoptez une approche low code reposant sur les métadonnées lors du développement d'applications. Indiquez la logique de l'application de manière déclarative dans la mesure du possible et écrivez le code uniquement si nécessaire. Interagissez directement avec la base de données à l'aide du langage SQL. Utilisez des services entièrement gérés, comme Oracle Autonomous Database et Oracle APEX Application Development (service APEX), qui peuvent maximiser la disponibilité et l'évolutivité pour gérer les demandes en constante évolution de vos applications low code. En outre, les fonctionnalités de base de données telles qu'Oracle Real Application Clusters (RAC) et Oracle Data Guard garantissent que vos applications low code sont disponibles 24h/24 et peuvent basculer en cas de panne dans le data center où l'infrastructure est hébergée.
Utilisez OCI Resource Manager pour automatiser le provisionnement des bases de données autonomes Oracle et des environnements APEX. Utilisez Oracle SQL Developer Command Line (SQLcl) avec Liquibase pour automatiser le déploiement des modifications de modèle de données. Utilisez le déploiement d'applications en un clic APEX pour déployer manuellement les modifications entre les environnements.
Oracle APEX ne conserve pas de statut et est sans serveur. L'état de l'application d'exécution est stocké dans des tables. Les connexions peuvent donc être réutilisées entre les utilisateurs. Par conséquent, le nombre de connexions est restreint, ce qui permet une simultanéité d'accès utilisateur élevée.
Les applications low code doivent généralement utiliser des données dans différents formats, notamment structurées (relationnelles), non structurées (documents XML/JSON) et spatiales. APEX étant intégré à Autonomous Database, vous pouvez utiliser SQL, PL/SQL et JavaScript côté serveur pour travailler dans tous ces formats de données. De plus, grâce à l'architecture unique d'APEX, les applications bénéficient d'un accès aux données sans latence, ce qui offre des performances optimales.
Surveillez et suivez l'activité des applications APEX à l'aide des fonctions intégrées de surveillance des activités, qui incluent des informations détaillées de trace et de débogage au niveau de chaque utilisateur. Passez en revue les activités au niveau de l'espace de travail et de l'instance à partir des services d'administration APEX. Utilisez Performance Hub pour surveiller l'activité de la base de données et examinez les rapports AWR (Automatic Workload Repository) afin d'identifier les principaux consommateurs de ressources ainsi que les recommandations de réglage.
APEX sur Oracle Autonomous Database est déployé à l'aide d'une architecture hautement disponible qui englobe le niveau de données (Exadata et RAC) et le niveau intermédiaire (noeuds Oracle REST Data Services redondants). Utilisez Autonomous Data Guard pour augmenter davantage la disponibilité de vos applications afin de vous protéger des pannes de domaine de disponibilité.
Utilisez OCI Identity and Access Management (IAM) pour les modèles d'authentification de vos applications APEX. Affectez des modèles d'autorisation aux applications et composants d'application APEX afin d'appliquer le contrôle d'accès en fonction des privilèges ou des rôles utilisateur. Utilisez les fonctionnalités déclaratives intégrées d'APEX pour gérer la protection de l'état de session (SSP) et le chiffrement au niveau des éléments afin de protéger vos applications et vos données. Utilisez des variables attachées dans les requêtes SQL pour vous prémunir contre les injections SQL. Configurez des délais d'expiration adaptés à votre application pour que les sessions inactives soient automatiquement interrompues. Exécutez la fonction de conseil intégrée d'APEX pour détecter d'éventuels problèmes de sécurité, tels que des pages, des éléments et des boutons non protégés. Utilisez l'échappement déclaratif et les API d'échappement par programmation pour éviter les scripts inter-site (XSS).
Cette architecture est destinée au développement et au déploiement d'applications low code à l'aide d'Oracle APEX Application Development (service APEX) et de tous les services Oracle Autonomous Database. En déployant ces services, tous les composants nécessaires à la pile complète sont provisionnés et entièrement gérés automatiquement. Ces composants incluent les passerelles, les équilibreurs de charge et Oracle REST Data Services.
Cette image présente l'architecture sous-jacente de développement d'applications low code à l'aide d'Oracle APEX Application Development et de tous les services Oracle Autonomous Database. Elle présente un environnement entièrement géré contenant un sous-réseau public et un sous-réseau privé. En dehors de l'environnement entièrement géré, on retrouve les services suivants : applications APEX, API Oracle REST Data Services et API REST externes. Ces services accèdent à l'environnement entièrement géré via une passerelle Internet ou une passerelle NAT.
Le sous-réseau public contient un équilibreur de charge tandis que le sous-réseau privé contient une instance Oracle REST Data Services et une instance Oracle Autonomous Database, sur laquelle se trouve une instance d'Oracle APEX on Autonomous Database.
Le trafic des applications APEX et des API Oracle REST Data Services est acheminé via une passerelle Internet vers l'équilibreur de charge, ce qui le dirige de manière bidirectionnelle vers l'instance Oracle REST Data Services du sous-réseau privé. Ce service, à son tour, communique bidirectionnellement avec Oracle Autonomous Database. Le trafic provenant d'Oracle APEX sur l'instance Autonomous Database est acheminé directement vers les API REST externes via une passerelle NAT.
Tous les artefacts d'application sont déployés au niveau de la base de données, ce qui offre un accès aux données sans latence car le trafic réseau entre les niveaux d'application et de base de données n'est pas nécessaire.
Lors de l'implémentation d'un modèle low code, vous devez également tenir compte des points suivants :
Considérez les autres architectures décrites dans ce modèle et ne cédez pas à la tentation d'implémenter des anti-modèles.
Quelques exemples qui démontrent l'efficacité du low code :
En savoir plus sur les ressources associées.
Le Big Data est un ensemble de fonctionnalités et de modèles qui vous permettent de gérer, de collecter, de stocker, de cataloguer, de préparer, de traiter et d'analyser tous les types de données (non structurés, semi-structurés et structurés), qu'ils proviennent de sources telles que des bases de données, des vidéos, des formulaires, des documents, des fichiers journaux, des pages Web ou des images. En outre, une plateforme de machine learning doit être entièrement gérée et permettre aux ingénieurs de données et aux data scientists d'effectuer toutes ces étapes du cycle de développement du modèle.
Les fonctionnalités Big Data d’Oracle couvrent divers services et outils afin que vous puissiez commencer votre transition vers le Big Data en fonction de vos compétences et préférences. Avec la base de données Oracle convergée, différents types de données peuvent être stockés dans la base de données. Elle évolue pour emmagasiner plusieurs pétaoctets de volume, avec une ingestion rapide des données et des événements (grâce à des files d'attente d'événements transactionnels), ce qui garantit la sécurité de toutes les données grâce à une sécurité intégrée. L'architecture de données convergée gère les problèmes de volume, de variété des données, la vitesse et la véracité des données sur une plateforme de base de données convergée avec Oracle Autonomous Database.
Les data scientists et les ingénieurs en machine learning ne veulent pas perdre leur temps à provisionner, à mettre à niveau, à appliquer des correctifs et à sécuriser l’infrastructure. Ils veulent se consacrer pleinement à la création, à l'entraînement et au déploiement de modèles qui ont un impact sur l'entreprise. Une plateforme de machine learning doit être entièrement gérée et doit permettre d'effectuer toutes les étapes du cycle de développement d'un modèle (création, entraînement, déploiement et surveillance). Les données utilisées pour le machine learning doivent être indépendantes de la source et permettre aux experts en données d'accéder à des données cohérentes et fiables pour la création, la formation et le déploiement de modèles.
La plupart des outils de machine learning modernes sont open source et écrits en Python. Par conséquent, une plateforme de machine learning doit fournir une prise en charge native des frameworks open source et de Python. Elle doit également permettre aux utilisateurs de personnaliser leurs environnements de machine learning en installant leurs propres bibliothèques ou en mettant à niveau celles déjà installées. La plateforme doit permettre aux experts en données de former leurs modèles sur des données structurées, non structurées ou semi-structurées, tout en faisant évoluer l'extraction, la transformation et le chargement des données (ETL) ou les étapes de formation verticalement ou horizontalement sur un certain nombre de ressources de calcul.
Enfin, une plateforme de machine learning doit permettre de déployer les modèles pour une consommation en temps réel avec un minimum de désagrément (idéalement via un simple appel REST), tout en préservant le lignage du modèle déployé afin de garantir son audit et sa reproductibilité.
Lors de l'implémentation d'un modèle de big data et d'analyse, utilisez les principes de conception suivants pour le développement d'applications modernes.
Votre capacité à tirer parti de vos données en détermine la valeur. Les outils de big data sont populaires dans la communauté open source. La plupart de leurs fonctionnalités ont des capacités équivalentes dans les bases de données modernes, notamment avec l'entreposage de données, les analyses ainsi que l'entraînement et le déploiement de modèles d'IA/ML. Oracle Database convergé est une plateforme de big data de ce type.
Les fonctionnalités natives premium d'Oracle telles que les tables externes Oracle Autonomous Data Warehouse et SQL permettent l'utilisation de data warehouses dans la base de données Oracle et la banque d'objets OCI pour le stockage et l'analyse de pétaoctets de données en temps réel.
Le DataOps est important pour que vous puissiez tirer au maximum avantage de vos pipelines de big data. Utilisez le service Oracle Cloud Infrastructure Data Integration pour assimiler des données, implémenter le traitement ETL et la propagation ELT ainsi que pour créer des pipelines afin de connecter des tâches en séquence ou en parallèle en vue de faciliter un processus. Les pipelines peuvent inclure diverses sources de données populaires, à l'intérieur comme à l'extérieur d'Oracle Cloud. Utilisez les fonctionnalités de planification de Data Integration pour définir le moment et la fréquence d'exécution de chaque tâche. Utilisez Oracle Database Cloud Service Management pour définir des travaux exécutés sur plusieurs bases de données selon un calendrier. Améliorez ce processus avec les pipelines CI/CD et l'observabilité unifiée pour les développeurs d'applications.
Utilisez les meilleurs outils pour simplifier, automatiser et accélérer la consolidation des données afin d'en exploiter au maximum la valeur commerciale. Pour les data warehouses, les data marts des services ainsi que les couches de service et de présentation avec des données structurées, utilisez Autonomous Database, qui est optimisé pour ces scénarios. Les fonctionnalités d'Autonomous Data Warehouse offrent également une connectivité aux outils d'analyse, de veille économique et de création de rapports comme Oracle Analytics Cloud.
Prévoyez de protéger vos données. Surveillez toutes les tâches qui intègrent des données et en produisent, conservez les métadonnées de lignage de données et maintenez les stratégies de contrôle d'accès à jour.
Respectez le principe du moindre privilège et assurez-vous que les utilisateurs et les comptes de service ne disposent que du privilège minimal nécessaire pour effectuer leurs tâches. Contrôlez qui a accès aux composants de plateforme de données à l'aide d'Oracle Cloud Infrastructure Identity and Access Management. Utilisez l'authentification à plusieurs facteurs dans Oracle Cloud Infrastructure Identity and Access Management pour une authentification forte des administrateurs. Utilisez la sécurité de base de données avec Oracle Datasafe pour obtenir l'état de sécurité de toutes les données, utilisateurs et modèles d'accès. Stockez des informations sensibles telles que les mots de passe et les jetons d'authentification dans un service Vault.
Utilisez une base de données convergée évolutive (traitement des transactions et data warehouse) qui génère des données, stocke et analyse tous les types de données pour gérer votre entreprise. Dans cette architecture, diverses sources de données (utilisateurs finaux, appareils, événements, capteurs et applications) transmettent les données à la base de données via l'intégration des données (Oracle GoldenGate) et Oracle Transactional Event Queues pour la transmission en continu des données. Les données sont stockées dans Oracle Autonomous Database (Oracle Autonomous Transaction Processing et Oracle Autonomous Data Warehouse) ainsi que dans OCI Object Store pour le big data à l'aide de requêtes SQL sur des tables externes. Utilisez Oracle Machine Learning pour la création et le déploiement de modèles. Oracle Analytics Cloud vous permettra d'obtenir des informations sur les données.
Oracle Machine Learning (OML Notebooks, OML AutoML UI, OML Services, OML4Py) sur Oracle Autonomous Database pour l'exploration et la préparation des données, ainsi que la création, l'évaluation et le déploiement de modèles de machine learning.
Ce modèle d'architecture offre des fonctionnalités puissantes lorsque les données requises pour entraîner le modèle sont introduites dans la base de données et que le traitement est proche de l'emplacement des données. Ce modèle comprend tout un éventail de sources de données et d'événements que vous pouvez explorer et préparer avec l'exploration de données pour l'entraînement OML, et utiliser OML pour créer, entraîner et déployer des modèles avec SQL, Python en utilisant OML4Py ou la solution no code AutoML. Importez des modèles entraînés ailleurs, tels que dans OCI Data Science (par exemple, Tensorflow ou PyTorch) avec les services OML, à l'aide du format ONNX.
Ce modèle utilise l'approche consistant à déplacer les algorithmes vers les données. Toutes les données sont accessibles à la source (à l'aide de tables externes) ou sont ingérées, puis traitées et stockées dans une base de données convergée pour les modèles de ML. Une fois les modèles entraînés dans la base de données, ils peuvent être déployés directement à l'aide de requêtes SQL (à l'aide d'opérateurs PREDICTION) ou à l'aide de l'API OML4Py. Les modèles entraînés en externe peuvent être déployés à l'aide des services OML. De plus, le machine learning avec analyse textuelle, spatiale et de graphes est disponible dans Autonomous Database.
Cette architecture utilise les composants suivants :
Les sources de données suivantes sont traitées :
Cette architecture comprend les composants suivants dans le VCN :
Tenez compte des points suivants pour les analyses et le big data.
Lors de la mise en œuvre du machine learning et de l'intelligence artificielle, envisagez ces options.
Anti-modèles
Lors de la conception d'une implémentation, tenez compte des points suivants :
Considérez les autres architectures décrites dans ce modèle et ne cédez pas à la tentation d'implémenter des anti-modèles.
Voici des exemples d'implémentation qui utilisent les services d'analyse et de données d'Oracle Cloud Infrastructure (OCI) pour assimiler, stocker, cataloguer, préparer, traiter et analyser le big data.
Utilisez Oracle Autonomous Data Warehouse en tant que data warehouse ou data mart avec Oracle Analytics Cloud.
Gérez les données dans Autonomous Data Warehouse et utilisez Oracle Analytics Cloud pour la visualisation des données.
En savoir plus sur les ressources associées.