Partager via


Déployer manuellement une application Java avec Open Liberty ou WebSphere Liberty sur un cluster Azure Kubernetes Service (AKS)

Cet article fournit des instructions pas à pas pour déployer manuellement Open/WebSphere Liberty sur Azure.

Plus précisément, cet article explique comment accomplir les tâches suivantes :

  • Exécutez votre application Java, Java Enterprise Edition (EE), Jakarta EE ou MicroProfile sur le runtime Open Liberty ou WebSphere Liberty.
  • Générez l’image Docker de l’application avec az acr build en utilisant des images de conteneurs Liberty.
  • Déployez l’application conteneurisée sur un cluster Azure Kubernetes Service (AKS) à l’aide d’un opérateur Liberty.

Un opérateur Liberty simplifie le déploiement et la gestion des applications s’exécutant sur des clusters Kubernetes. Avec l’opérateur Open Liberty ou WebSphere Liberty, vous pouvez également effectuer des opérations plus avancées, telles que la collecte des traces et des vidages.

Pour une solution plus automatisée qui accélère votre parcours vers AKS à l’aide d’une solution de place de marché disponible sur le portail Azure, consultez Déployer une application Java avec Open Liberty/WebSphere Liberty sur un cluster Azure Kubernetes Service (AKS).

Pour plus d’informations sur Open Liberty, consultez la page de projet Open Liberty. Pour plus d’informations sur IBM WebSphere Liberty, consultez la page du produit WebSphere Liberty.

Cet article vous aide à accéder rapidement au déploiement. Avant de passer en production, vous devez explorer Tuning Liberty.

Si vous souhaitez fournir des commentaires ou travailler étroitement sur vos scénarios de migration avec l’équipe d’ingénierie qui développe WebSphere sur des solutions Azure, répondez à cette courte enquête sur la migration WebSphere et incluez vos coordonnées. L’équipe de gestionnaires de programmes, d’architectes et d’ingénieurs vous contactera rapidement pour établir une collaboration.

Prérequis

Connexion à Azure

Si vous ne l’avez pas déjà fait, procédez comme suit pour vous connecter à votre abonnement Azure :

  1. Ouvrez Azure CLI ou PowerShell, puis connectez-vous à l’aide de az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître d’autres options de connexion, consultez Se connecter à Azure avec Azure CLI.

    Remarque

    Si plusieurs locataires Azure sont associés à vos informations d’identification Azure, vous devez spécifier le locataire auquel vous souhaitez vous connecter. Vous pouvez spécifier un locataire avec l’option --tenant , par exemple. az login --tenant contoso.onmicrosoft.com

  2. Recherchez la version et les bibliothèques dépendantes installées en utilisant az version.

  3. Effectuez une mise à niveau vers la version la plus récente en utilisant az upgrade.

Remarque

Lorsque vous utilisez Azure CLI, si vous êtes invité à installer une extension Azure CLI, procédez ainsi. Pour plus d’informations sur les extensions, consultez Utiliser et gérer des extensions avec Azure CLI.

Vous pouvez exécuter la plupart des commandes Azure CLI dans PowerShell de la même manière que dans Bash. La différence n’existe que lors de l’utilisation de variables. Dans les sections suivantes, la différence est abordée dans différents onglets si nécessaire.

Créer un groupe de ressources

Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées.

Créez un groupe de ressources appelé java-liberty-project en utilisant az group create dans l’emplacement eastus2. Ce groupe de ressources est utilisé ultérieurement pour créer l’instance Azure Container Registry et le cluster AKS.

export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2

Créer une instance de registre de conteneurs

Utilisez az acr create pour créer l’instance de registre de conteneurs. L’exemple suivant crée une instance de registre de conteneurs nommée <your-unique-ACR-name>. Remplacez cet espace réservé par une valeur unique dans Azure.

Remarque

Cet article utilise le mécanisme d’authentification sans mot de passe recommandé pour Azure Container Registry. Il est toujours possible d’utiliser un nom d’utilisateur et un mot de passe avec docker login après avoir utilisé az acr credential show pour obtenir le nom d’utilisateur et le mot de passe. Toutefois, l’utilisation d’un nom d’utilisateur et d’un mot de passe est moins sécurisée que l’authentification sans mot de passe.

export REGISTRY_NAME=<your-unique-ACR-name>
az acr create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $REGISTRY_NAME \
    --sku Basic

Après un court instant, vous devriez voir une sortie JSON contenant les lignes suivantes :

"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"resourceGroup": "java-liberty-project",

Récupérez le nom du serveur de connexion pour l’instance de registre de conteneurs. Vous avez besoin de cette valeur lorsque vous déployez l’image de l’application sur le cluster AKS ultérieurement.

export LOGIN_SERVER=$(az acr show \
    --name $REGISTRY_NAME \
    --query 'loginServer' \
    --output tsv)

Créer un cluster AKS

Permet az aks create de créer un cluster AKS, comme illustré dans l’exemple suivant. Cet exemple crée un cluster AKS nommé myAKSCluster avec un nœud et attache l’instance de registre de conteneurs à celle-ci. La commande prend plusieurs minutes.

export CLUSTER_NAME=myAKSCluster
az aks create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --node-count 1 \
    --node-vm-size Standard_DS2_V2 \
    --generate-ssh-keys \
    --enable-managed-identity \
    --attach-acr $REGISTRY_NAME

Une fois la commande terminée, elle retourne des informations au format JSON sur le cluster, y compris la sortie suivante :

"nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
"privateFqdn": null,
"provisioningState": "Succeeded",
"resourceGroup": "java-liberty-project",

Se connecter au cluster AKS

Procédez comme suit pour gérer votre cluster Kubernetes :

  1. Installez kubectl, le client de ligne de commande Kubernetes, en utilisant az aks install-cli, comme illustré dans l’exemple suivant :

    az aks install-cli
    
  2. Utilisez az aks get-credentials pour configurer kubectl pour vous connecter à votre cluster Kubernetes. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser, comme illustré dans l’exemple suivant :

    Remarque

    La commande utilise l’emplacement par défaut pour le fichier de configuration Kubernetes, qui est ~/.kube/config. Vous pouvez spécifier un autre emplacement pour votre fichier de configuration Kubernetes à l’aide --filede .

    az aks get-credentials \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $CLUSTER_NAME \
        --overwrite-existing \
        --admin
    
  3. Vérifiez la connexion à votre cluster en utilisant pour renvoyer kubectl get une liste des nœuds de cluster, comme illustré dans l’exemple suivant :

    kubectl get nodes
    

    L’exemple de sortie suivant montre le nœud unique créé au cours des étapes précédentes. Vérifiez que l’état du nœud est Ready:

    NAME                                STATUS   ROLES   AGE     VERSION
    aks-nodepool1-xxxxxxxx-yyyyyyyyyy   Ready    <none>  76s     v1.29.9
    

Créer une base de données Azure SQL

Créez une base de données unique Azure SQL Database pour votre application en procédant comme suit :

  1. Utilisez les commandes suivantes pour définir des variables d’environnement liées à la base de données. Remplacez par <your-unique-sql-server-name> un nom unique pour votre serveur Azure SQL Database.

    export SQL_SERVER_NAME=<your-unique-sql-server-name>
    export DB_NAME=demodb
    
  2. Utilisez les commandes suivantes pour créer une base de données unique et définir l’utilisateur connecté actuel en tant qu’administrateur Microsoft Entra. Pour plus d’informations, consultez Démarrage rapide : Créer une base de données unique - Azure SQL Database.

    export ENTRA_ADMIN_NAME=$(az account show \
        --query user.name \
        --output tsv)
    
    az sql server create \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $SQL_SERVER_NAME \
        --enable-ad-only-auth \
        --external-admin-principal-type User \
        --external-admin-name $ENTRA_ADMIN_NAME \
        --external-admin-sid $(az ad signed-in-user show --query id --output tsv)
    
    az sql db create \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $DB_NAME \
        --server $SQL_SERVER_NAME \
        --edition GeneralPurpose \
        --compute-model Serverless \
        --family Gen5 \
        --capacity 2
    

Remarque

Vous créez un serveur Azure SQL avec l’authentification SQL désactivée pour les considérations de sécurité. Seul l’ID Microsoft Entra est utilisé pour s’authentifier auprès du serveur. Pour plus d’informations sur l’activation de l’authentification SQL, consultez az sql server create.

Créer une connexion de service dans AKS avec Service Connector

Utilisez les commandes suivantes pour créer une connexion entre le cluster AKS et la base de données SQL à l’aide de l’ID de charge de travail Microsoft Entra avec Service Connector. Pour plus d’informations, consultez Créer une connexion de service dans AKS avec Service Connector.

# Register the Service Connector and Kubernetes Configuration resource providers
az provider register --namespace Microsoft.ServiceLinker --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait

# Install the Service Connector passwordless extension
az extension add \
    --name serviceconnector-passwordless \
    --upgrade \
    --allow-preview true

# Retrieve the AKS cluster and Azure SQL Server resource IDs
export AKS_CLUSTER_RESOURCE_ID=$(az aks show \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --query id \
    --output tsv)

export AZURE_SQL_SERVER_RESOURCE_ID=$(az sql server show \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $SQL_SERVER_NAME \
    --query id \
    --output tsv)

# Create a user-assigned managed identity used for workload identity
export USER_ASSIGNED_IDENTITY_NAME=workload-identity-uami
az identity create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${USER_ASSIGNED_IDENTITY_NAME}

# Retrieve the user-assigned managed identity resource ID
export UAMI_RESOURCE_ID=$(az identity show \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${USER_ASSIGNED_IDENTITY_NAME} \
    --query id \
    --output tsv)

# Create a service connection between your AKS cluster and your SQL database using Microsoft Entra Workload ID
az aks connection create sql \
    --connection akssqlconn \
    --client-type java \
    --source-id $AKS_CLUSTER_RESOURCE_ID \
    --target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \
    --workload-identity $UAMI_RESOURCE_ID

Résoudre les problèmes reliés aux messages d’erreur

Si la az aks connection create sql commande génère un message d’erreur, recherchez le message d’erreur dans la liste suivante, puis utilisez les instructions pour résoudre le problème :

  • Dependency pyodbc can't be installed, please install it manually

    Ce message d’erreur indique que le pyodbc package ne peut pas être installé, probablement en raison de problèmes d’autorisations. Corrigez le problème en procédant comme suit :

    1. Recherchez l’emplacement de Python qui fonctionne avec Azure CLI en exécutant la commande suivante :

      az --version
      

      La sortie doit contenir Python location , par exemple. Python location '/opt/az/bin/python3'

    2. Copiez la valeur de Python location.

    3. Utilisez la commande suivante pour installer le pyodbc package en sudo mode. Remplacez <python-location> par l’emplacement Python que vous avez copié à l’étape précédente.

      sudo <python-location> -m pip install pyodbc
      
  • libodbc.so : impossible d’ouvrir le fichier objet partagé : aucun fichier ou répertoire de ce type

  • Installez manuellement odbc 17/18 pour SQL Server

    Ces erreurs indiquent que le odbc pilote n’est pas installé. Corrigez le problème en procédant comme suit :

    Remarque

    Vous devez utiliser l’ID de charge de travail Microsoft Entra pour sécuriser l’accès à votre base de données Azure SQL sans utiliser l’authentification SQL. Si vous devez utiliser l’authentification SQL, ignorez les étapes décrites dans cette section et utilisez le nom d’utilisateur et le mot de passe pour vous connecter à Azure SQL Database.

    1. Si vous utilisez Linux, ouvrez Installer le pilote Microsoft ODBC pour SQL Server (Linux). Si vous utilisez MacOS, ouvrez Installer le pilote Microsoft ODBC pour SQL Server (macOS).

    2. Suivez les instructions pour installer microsoft ODBC Driver (18 ou 17) pour SQL Server.

    3. Utilisez az aks connection create sql à nouveau pour créer la connexion de service, comme illustré dans l’exemple suivant :

      az aks connection create sql \
          --connection akssqlconn \
          --client-type java \
          --source-id $AKS_CLUSTER_RESOURCE_ID \
          --target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \
          --workload-identity $UAMI_RESOURCE_ID
      

Obtenir le compte de service et le secret créés par Service Connector

Pour vous authentifier auprès d’Azure SQL Database, procédez comme suit :

  1. Obtenez le compte de service et le secret créés par Service Connector en suivant les instructions de la section Mettre à jour votre conteneur du tutoriel : Connecter une application AKS à Azure SQL Database. Utilisez l’option pour créer directement un déploiement à l’aide de l’exemple de code YAML fourni.

    Remarque

    Le secret créé par Service Connector contient une AZURE_SQL_CONNECTIONSTRING valeur, qui est une chaîne de connexion sans mot de passe à Azure SQL Database. Pour plus d'informations, consultez l'exemple de valeur de la section Identité gérée attribuée à l'utilisateur de la rubrique Intégrer Azure SQL Database avec Service Connector.

  2. Dans les sections en surbrillance de l’exemple de déploiement Kubernetes YAML, copiez les valeurs serviceAccountName et secretRef.name, comme illustré dans l’exemple suivant :

    serviceAccountName: <service-account-name>
    containers:
    - name: raw-linux
       envFrom:
          - secretRef:
             name: <secret-name>
    
  3. Définissez des variables d’environnement à l’aide des commandes suivantes. Veillez à remplacer <service-account-name> et <secret-name> par les valeurs que vous avez copiées à l’étape précédente.

    export SERVICE_ACCOUNT_NAME=<service-account-name>
    export SECRET_NAME=<secret-name>
    

    Ces valeurs sont utilisées dans la section suivante pour déployer l’application Liberty sur le cluster AKS.

Installer l’opérateur Open Liberty

Dans cette section, vous allez installer l’opérateur Open Liberty sur le cluster AKS pour héberger l’application Liberty.

Installez l’opérateur Open Liberty à l’aide des commandes suivantes :

Remarque

Ce guide vous guide pour installer l’opérateur Open Liberty. Pour utiliser l’opérateur WebSphere Liberty, consultez Installation de l’opérateur WebSphere Liberty avec l’interface CLI Kubernetes.

# Install cert-manager Operator
export CERT_MANAGER_VERSION=v1.11.2
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/${CERT_MANAGER_VERSION}/cert-manager.yaml

# Install the Open Liberty Operator
export OPERATOR_VERSION=1.4.2
mkdir -p overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/olo-all-namespaces.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/cluster-roles.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/kustomization.yaml -q -P ./overlays/watch-all-namespaces
mkdir base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/kustomization.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-crd.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-operator.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-roles.yaml -q -P ./base
kubectl create namespace open-liberty
kubectl apply --server-side -k overlays/watch-all-namespaces

# Remove the downloaded files
rm -rf overlays base

Configurer et générer l’image de l’application

Pour déployer et exécuter votre application Liberty sur le cluster AKS, conteneurisez votre application en tant qu’image Docker à l’aide d’Images Open Liberty ou d’images conteneur WebSphere Liberty.

Suivez les étapes de cette section pour déployer l’exemple d’application sur le runtime Liberty. Ces étapes utilisent Maven.

Découvrez l'application

Clonez l’exemple de code pour ce guide à l’aide des commandes suivantes. L’exemple se trouve dans le dépôt GitHub Open Liberty/WebSphere Liberty sur Azure Kubernetes Service Samples , qui contient quelques exemples. Cet article utilise l’exemple java-app .

git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20250424

Si vous voyez un message concernant l'état detached HEAD, vous pouvez l'ignorer en toute sécurité. Cela signifie simplement que vous avez consulté une étiquette. Le clonage du dépôt crée la structure de fichiers suivante :

java-app
├─ src/main/
│  ├─ aks/
│  │  ├─ openlibertyapplication-passwordless-db.yaml
│  ├─ docker/
│  │  ├─ Dockerfile
│  │  ├─ Dockerfile-wlp
│  ├─ liberty/config/
│  │  ├─ server.xml
│  ├─ java/
│  ├─ resources/
│  ├─ webapp/
├─ pom.xml
├─ pom-azure-identity.xml

Les répertoires java, resources et webapp contiennent le code source de l’exemple d’application. Le code déclare et utilise une source de données nommée jdbc/JavaEECafeDB.

Dans le répertoire aks , le fichier openlibertyapplication-passwordless-db.yaml est utilisé pour déployer l’image de l’application. Dans le répertoire docker, il y a deux fichiers pour créer l’image de l’application avec Open Liberty ou WebSphere Liberty.

Dans le répertoire liberty/config, le fichier server.xml est utilisé pour configurer la connexion de base de données pour le cluster Open Liberty et WebSphere Liberty. Il définit une azure.sql.connectionstring variable utilisée pour se connecter à Azure SQL Database.

Le fichier pom.xml est le fichier POM (Project Object Model) Maven qui contient les informations de configuration du projet. Le fichier pom-azure-identity.xml déclare la dépendance azure-identity, utilisée pour s’authentifier auprès des services Azure à l’aide de l’ID Microsoft Entra.

Remarque

Cet exemple utilise la bibliothèque azure-identity pour s’authentifier auprès d’Azure SQL Database à l’aide de l’authentification Microsoft Entra, ce qui est recommandé pour les considérations de sécurité. Pour plus d’informations sur l’utilisation de l’authentification SQL dans votre application Liberty, consultez connexions de base de données relationnelle avec Java Database Connectivity (JDBC) .

Créer le projet

Maintenant que vous avez collecté les propriétés nécessaires, générez l’application à l’aide des commandes suivantes. Le fichier POM du projet lit de nombreuses variables de l’environnement. Dans le cadre de la génération Maven, ces variables sont utilisées pour remplir des valeurs dans les fichiers YAML situés dans src/main/aks. Vous pouvez faire pareil pour votre application en dehors de Maven si vous préférez.

cd $BASE_DIR/java-app

# The following variables are used for deployment file generation into target/
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}

mvn clean install
mvn dependency:copy-dependencies -f pom-azure-identity.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources

Générer l’image pour le déploiement AKS

Utilisez cette option az acr build pour générer l’image, comme illustré dans l’exemple suivant :

cd $BASE_DIR/java-app/target

az acr build \
    --registry ${REGISTRY_NAME} \
    --image javaee-cafe:v1 \
    .

La az acr build commande charge les artefacts spécifiés dans le fichier Dockerfile dans l’instance de registre de conteneurs, génère l’image et la stocke dans l’instance de registre de conteneurs.

Déployez l’application sur le cluster AKS

Procédez comme suit pour déployer l’application Liberty sur le cluster AKS :

  1. Appliquez le fichier de déploiement à l’aide des commandes suivantes :

    cd $BASE_DIR/java-app/target
    
    # Apply deployment file
    kubectl apply -f openlibertyapplication-passwordless-db.yaml
    
  2. Déterminez si l’instance OpenLibertyApplication est créée à l’aide de la commande suivante :

    kubectl get openlibertyapplication javaee-cafe-cluster --watch
    

    La sortie suivante est typique. Utilisez Ctrl+C pour quitter.

    NAME                  IMAGE                                        EXPOSED   RECONCILED   RESOURCESREADY   READY   WARNING   AGE
    javaee-cafe-cluster   <registry-name>.azurecr.io/javaee-cafe:v1              True         True             True              57s
    
  3. Déterminez si le déploiement créé par l’opérateur est prêt à l’aide de la commande suivante :

    kubectl get deployment javaee-cafe-cluster --watch
    

    La sortie suivante est classique :

    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    javaee-cafe-cluster         0/3     3            0           20s
    
  4. Attendez de voir 3/3 sous la colonne READY et 3 sous la colonne AVAILABLE, puis utilisez Ctrl+C pour arrêter le processus de surveillance kubectl.

Test de l’application

Quand l’application s’exécute, un service Kubernetes d’équilibrage de charge expose le front-end de l’application sur Internet. Ce processus peut prendre un certain temps.

Permet kubectl get service d’obtenir l’adresse IP externe du service lorsqu’il est disponible, comme illustré dans l’exemple suivant :

export APP_URL=http://$(kubectl get service javaee-cafe-cluster -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo $APP_URL

Remarque

Si vous ne voyez pas d’URL valide à partir de la sortie, attendez un certain temps et réexécutez la commande.

Ouvrez l’URL dans un navigateur web et vérifiez la page d’accueil de l’application. Si la page ne se charge pas correctement, actualisez la page ultérieurement, une fois l’application démarrée. Le nom de pod de vos réplicas d’application doit s’afficher en haut à gauche de la page. Attendez quelques minutes et actualisez la page. Vous verrez un autre nom de pod affiché en raison de l’équilibrage de charge fourni par le cluster AKS.

Capture d’écran de la page d’accueil de l’application Java liberty.

Remarque

Actuellement, l’application n’utilise pas HTTPS. Nous vous recommandons d’activer le protocole TLS (Transport Layer Security) avec vos propres certificats. Pour plus d’informations, veuillez consulter la section Utiliser TLS avec un contrôleur d’entrée sur Azure Kubernetes Service (AKS).

Nettoyer les ressources

Pour éviter des frais Azure, vous devez nettoyer les ressources non nécessaires. Lorsque le cluster n’est plus nécessaire, utilisez-le az group delete pour supprimer le groupe de ressources, le service de conteneur, le registre de conteneurs, la base de données et toutes les ressources associées.

az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait

Étapes suivantes

Pour plus d’informations, consultez les références suivantes utilisées dans ce guide :

Pour incorporer le cache Azure pour Redis dans une application Java, consultez Démarrage rapide : Utilisez Azure Cache pour Redis en Java avec le client Redisson Redis.

Pour explorer les options d’exécution des produits WebSphere sur Azure, veuillez consulter la section Quelles sont les solutions pour exécuter la famille de produits WebSphere sur Azure ?