Déployer WildFly connecté à Autonomous Database
WildFly prend en charge les dernières normes pour l'accès aux données basé sur REST, y compris JAX-RS 2 et JSON-P. B
WildFly, précédemment appelé serveur d'applications JBoss, est un serveur d'applications open source conforme aux spécifications Jakarta EE 8/9 et Java EE 8. Il inclut un composant de serveur Web appelé Undertow. Le serveur d'applications peut être configuré pour exécuter et gérer une topologie multi-serveurs ou en tant que serveur autonome. WildFly prend en charge les dernières normes pour l'accès aux données basé sur REST, y compris JAX-RS 2 et JSON-P. Il permet une gestion efficace de la mémoire basée sur des sous-systèmes pluggables. WildFly accélère le cycle de développement grâce à la structure Arquillian simple d'utilisation.
Architecture
Cette architecture de référence contient un équilibreur de charge, un niveau d'application avec une architecture multi-serveur WildFly, un niveau de base de données avec Oracle Autonomous Transaction Processing et un bastion pour un accès sécurisé à la console d'administration WildFly.
Les composants sont situés dans différents sous-réseaux. L'équilibreur de charge et l'hôte du bastion se trouvent dans un sous-réseau public. Les serveurs WildFly partagent un sous-réseau privé et sont répartis entre les domaines de disponibilité dans les régions qui le permettent, et entre les domaines en faute, pour une haute disponibilité.
La base de données se trouve dans son propre sous-réseau privé. L'accès externe aux serveurs d'applications passe par l'équilibreur de charge via une passerelle Internet, tandis que l'accès à la console d'administration passe par un hôte bastion.
Le diagramme suivant illustre cette architecture de référence.

Description de l'illustration architecture-wildfly-oci.png
architecture-wildfly-oci-oracle.zip
L'architecture se compose des éléments suivants :
- Région
Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (d'un pays à l'autre ou même d'un continent à l'autre).
- Domaines de disponibilité
Les domaines de disponibilité sont des centres de données autonomes et indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui donne une tolérance aux pannes. Les domaines de disponibilité ne partagent pas d'infrastructure comme l'alimentation ou le refroidissement, ou le réseau de domaine de disponibilité interne. Il est donc peu probable qu'un échec dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.
- Domaines d'erreur
Un domaine de pannes est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes dotés d'une alimentation et d'un matériel indépendants. Lorsque vous distribuez des ressources dans plusieurs domaines de pannes, vos applications peuvent tolérer les pannes de serveurs physiques, la maintenance du système et les pannes de courant au sein d'un domaine de pannes.
- Réseau cloud virtuel (VCN) et sous-réseaux
Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Tout comme les réseaux de centres de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur votre environnement réseau. Un VCN peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être ciblés vers une région ou vers un domaine de disponibilité. Chaque sous-réseau se compose d'une plage contiguë d'adresses qui ne chevauchent pas les autres sous-réseaux du VCN. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
- Balanceur de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une répartition de trafic automatisée à partir d'un point d'entrée unique vers plusieurs serveurs à l'arrière.
- Liste de sécurité
Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés dans et hors du sous-réseau.
- Table de routage
Les tables de routage virtuelles contiennent des règles pour acheminer le trafic à partir de sous-réseaux vers des destinations en dehors d'un VCN, généralement via des passerelles.
- Passerelle Internet
La passerelle Internet autorise le trafic entre les sous-réseaux publics dans un VCN et Internet public.
- Serveurs WildFly
Les serveurs WildFly hébergent vos applications.
- Système Autonomous Database
WildFly peut se connecter à toute base de données offrant une connectivité de base de données Java (JDBC). Cette architecture offre la possibilité de provisionner un Oracle Autonomous Database.
Recommandations
Vos exigences peuvent différer de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.
- VCN
Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez de joindre aux sous-réseaux du VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresses IP privées standard.
Sélectionnez les blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données on-premise ou un autre fournisseur cloud) sur lequel vous souhaitez configurer des connexions privées.
Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.
Lorsque vous concevez les sous-réseaux, tenez compte de vos besoins en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.
- Bande passante d'équilibreur de charge
Lors de la création de l'équilibreur de charge, vous pouvez sélectionner une forme prédéfinie fournissant une bande passante fixe ou indiquer une forme personnalisée (flexible) dans laquelle vous définissez une plage de bande passante et laisser le service redimensionner automatiquement la bande passante en fonction des modèles de trafic. Avec l'une ou l'autre approche, vous pouvez modifier la forme à tout moment après la création de l'équilibreur de charge.
- Calculer les instances
Toutes les locations obtiennent deux instances de machine virtuelle toujours libre (VM), que cette architecture peut utiliser.
Si plus de puissance de traitement est nécessaire, vous pouvez sélectionner différentes formes.
- Systèmes de base de données
Deux bases de données Oracle Autonomous Toujours gratuit sont allouées à toutes les locations. Les bases de données autonomes utilisent l'infrastructure Exadata partagée, où Oracle gère le provisionnement et la maintenance de l'infrastructure.
Si plus de deux bases de données sont requises, utilisez un Oracle Autonomous Database non libre. - Mode "block storage"
Les instances de cette architecture utilisent un stockage de blocs standard ; aucune performance supplémentaire n'est requise.
- Connectivité réseau
Vous pouvez gérer l'environnement en vous connectant à votre infrastructure sur site existante à l'aide d'un VPN site à site ou d'une connexion dédiée à FastConnect.
Si l'environnement doit être séparé de l'infrastructure existante ou accessible à l'extérieur, un hôte bastion peut sécuriser les connexions de gestion. L'hôte du bastion est généralement provisionné dans une zone démilitarisée (DMZ). Il protège les ressources sensibles en les plaçant dans des réseaux privés auxquels il n'est pas possible d'accéder directement depuis l'extérieur du cloud. Vous pouvez éviter d'exposer les composants les plus sensibles de l'architecture sans compromettre leur accès.
Remarques
Tenez compte des points suivants lors du déploiement de cette architecture de référence.
- Performances
Cette architecture peut utiliser les ressources Toujours libres d'Oracle Cloud Infrastructure. En raison des limitations de la puissance de traitement dans le niveau Toujours libre, il n'est pas destiné à la production. Pour des charges de travail plus intenses, les formes régulières des instances, des équilibreurs de charge et des bases de données doivent être utilisées.
- Sécurité
À l'exception de l'hôte du bastion et des équilibreurs de charge, tous les composants doivent être placés dans des sous-réseaux privés.
- Disponibilité
Les équilibreurs de charge et les bases de données sont redondants, ne nécessitant aucune intervention pour tirer parti de ces fonctionnalités. Les serveurs WildFly sont déployés en paire et équilibrés par l'équilibreur de charge. D'autres noeuds peuvent être ajoutés, mais ils ne sont pas inclus dans le niveau Toujours libre.
- Coût
Cette architecture peut utiliser le niveau Toujours libre. Toutefois, les ressources de niveau libre pourraient ne pas être suffisantes pour la charge de travail de production, auquel cas vous devrez fournir des ressources et des services informatiques aux taux réguliers.
déploiement
Le code Terraform de cette architecture de référence est disponible en tant qu'exemple de pile dans Oracle Cloud Infrastructure Resource Manager. Vous pouvez également télécharger le code à partir de GitHub et le personnaliser en fonction de vos besoins spécifiques.
- Déployer à l'aide d'Oracle Cloud Infrastructure Resource Manager :
- Cliquez sur
.
Si vous n'êtes pas déjà connecté, entrez les informations d'identification de la location et de l'utilisateur.
- Consulter et accepter les conditions générales.
- Sélectionnez la région de déploiement de la pile.
- Suivez les invites affichées à l'écran et les instructions pour créer la pile.
- Après avoir créé la pile, cliquez sur Actions Terraform et sélectionnez Plan.
- Attendez que le travail soit terminé et vérifiez le plan.
Pour apporter des modifications, revenez à la page Détails de la pile, cliquez sur Modifier la pile et apportez les modifications requises. Exécutez ensuite à nouveau l'action Plan.
- Si aucune autre modification n'est nécessaire, revenez à la page Détails de la pile, cliquez sur Actions Terraform et sélectionnez Appliquer.
- Cliquez sur
- Effectuez un déploiement en utilisant le code Terraform dans GitHub :
- Accédez à GitHub.
- Clonez ou téléchargez le référentiel sur votre ordinateur local.
- Suivez les instructions du document
README
.
En savoir plus
Liens vers des informations supplémentaires qui peuvent vous aider à en apprendre davantage sur, modifier, utiliser ou implémenter cette architecture.
-
Articles techniques, livres blancs, échantillons de code, FAQ, etc. décrivant comment utiliser JDBC, le pool de connexions universelles et la JVM intégrée pour se connecter à Oracle Database.
-
Référentiel sur GitHub contenant des exemples de code pour un servlet Java qui se connecte à Oracle Database à l'aide du pilote Oracle JDBC.
-
Structure des meilleures pratiques pour Oracle Cloud Infrastructure