Recommandations et modèles de migration Azure Data Lake Storage

Vous pouvez effectuer la migration de vos données, de vos charges de travail et de vos applications d’Azure Data Lake Storage Gen1 vers Azure Data Lake Storage Gen2. Cet article explique l’approche de migration recommandée, aborde les différents modèles de migration et indique quand utiliser chacun d’eux. Pour faciliter la lecture de cet article, le terme Gen1 est utilisé pour faire référence à Azure Data Lake Storage Gen1 tandis que le terme Gen2 est utilisé pour faire référence à Azure Data Lake Storage Gen2.

Remarque

Azure Data Lake Storage Gen1 est désormais hors service. Consultez l’annonce de mise hors service ici. Les ressources Data Lake Storage Gen1 ne sont plus accessibles. Si vous avez besoin d’une aide particulière, contactez-nous.

Azure Data Lake Storage Gen2 est basé sur le Stockage Blob Azure et fournit un ensemble de fonctionnalités dédiées à l’analyse des données volumineuses. Data Lake Storage Gen2 contient les fonctionnalités d’Azure Data Lake Storage Gen1, comme la sémantique des systèmes de fichiers, la sécurité au niveau des fichiers et des répertoires, et la mise à l’échelle, ainsi que les fonctionnalités du Stockage Blob Azure comme le stockage hiérarchisé à faible coût, la haute disponibilité et la reprise d’activité.

Notes

Comme Gen1 et Gen2 sont des services différents, il n’y a pas d’expérience de mise à niveau sur place. Pour simplifier la migration vers Gen2 à l’aide du portail Azure, consultez Migrer Azure Data Lake Storage de Gen1 vers Gen2 à l’aide du portail Azure.

Pour effectuer la migration de Gen1 vers Gen2, nous vous recommandons l’approche suivante.

Étape 1 : Évaluer la préparation

Étape 2 : Préparer la migration

Étape 3 : Migrer les données et les charges de travail d’application

Étape 4 : Basculer de Gen1 vers Gen2

Étape 1 : Évaluer la préparation

  1. Découvrez l’offre Data Lake Storage Gen2, ses avantages, son coût et son architecture générale.

  2. Comparez les fonctionnalités de Gen1 à celles de Gen2.

  3. Consultez la liste des problèmes connus pour voir si certaines fonctionnalités sont manquantes.

  4. Gen2 prend en charge les fonctionnalités du stockage Blob, telles que la journalisation des diagnostics, les niveaux d’accès et les stratégies de gestion du cycle de vie du stockage Blob. Si ces fonctionnalités vous intéressent, consultez leur niveau actuel de prise en charge.

  5. Consultez l’état actuel de la prise en charge de l’écosystème Azure pour voir si Gen2 prend en charge tous les services dont dépendent vos solutions.

Étape 2 : Préparer la migration

  1. Identifiez les jeux de données qui doivent faire l’objet d’une migration.

    Profitez-en pour nettoyer les jeux de données que vous n’utilisez plus. Si vous ne souhaitez pas effectuer la migration de toutes vos données à la fois, profitez-en pour identifier les groupes logiques de données qui peuvent faire l’objet d’une migration en plusieurs phases.

    Effectuez une analyse du vieillissement (ou similaire) sur votre compte Gen1 pour identifier les fichiers ou dossiers restés longtemps dans l’inventaire ou peut-être devenus obsolètes.

  2. Déterminez l’impact qu’aura une migration sur votre entreprise.

    Par exemple, déterminez si vous pouvez vous permettre des temps d’arrêt pendant la migration. Ces considérations peuvent vous aider à identifier un modèle de migration approprié et à choisir les outils les mieux adaptés.

  3. Créez un plan de migration.

    Nous vous recommandons d’utiliser ces modèles de migration. Vous pouvez choisir l’un de ces modèles, les associer ou concevoir votre propre modèle personnalisé.

Étape 3 : Migrer les données, les charges de travail et les applications

Effectuez la migration des données, des charges de travail et des applications à l’aide du modèle de votre choix. Nous vous recommandons de valider les scénarios de manière incrémentielle.

  1. Créez un compte de stockage et activez la fonctionnalité d’espace de noms hiérarchique.

  2. Migrez vos données.

  3. Configurez les services de vos charges de travail pour qu’ils pointent vers votre point de terminaison Gen2.

    Pour les clusters HDInsight, vous pouvez ajouter des paramètres de configuration de compte de stockage au fichier %HADOOP_HOME%/conf/core-site.xml. Si vous prévoyez de migrer des tables de ruche externes de Gen1 à Gen2, veillez à ajouter des paramètres de compte de stockage au fichier %HIVE_CONF_DIR%/hive-site.xml également.

    Vous pouvez modifier ce paramètre pour chaque fichier avec Apache Ambari. Pour trouver les paramètres de compte de stockage, voir Support Azure Hadoop : ABFS - Azure Data Lake Stockage Gen2. Cet exemple utilise le paramètre fs.azure.account.key pour activer l’autorisation de clé partagée :

    <property>
      <name>fs.azure.account.key.abfswales1.dfs.core.windows.net</name>
      <value>your-key-goes-here</value>
    </property>
    

    Pour consulter des liens vers des articles qui vous aident à configurer HDInsight, Azure Databricks et d’autres services Azure de manière à utiliser Gen2, consultez les services Azure qui prennent en charge Azure Data Lake Stockage Gen2.

  4. Mettez à jour les applications pour qu’elles utilisent les API Gen2. Consultez les guides suivants :

Environnement Article
Explorateur de stockage Azure Utiliser l’Explorateur Stockage Azure pour gérer les répertoires et les fichiers dans Azure Data Lake Storage Gen2
.NET Utiliser .NET pour gérer les répertoires et les fichiers dans Azure Data Lake Storage Gen2
Java Utiliser Java pour gérer les répertoires et les fichiers dans Azure Data Lake Storage Gen2
Python Utiliser Python pour gérer les répertoires et les fichiers dans Azure Data Lake Storage Gen2
JavaScript (Node.js) Utiliser JavaScript SDK dans Node.js pour gérer les répertoires et les fichiers dans Azure Data Lake Storage Gen2
API REST API REST Azure Data Lake Storage
  1. Mettez à jour les scripts pour qu’ils utilisent les applets de commande PowerShell Data Lake Storage Gen2 et les commandes Azure CLI.

  2. Recherchez les références URI contenant la chaîne adl:// dans les fichiers de code, les notebooks Databricks, les fichiers HQL Apache Hive ou tout autre fichier utilisé dans le cadre de vos charges de travail. Remplacez ces références par l’URI formaté Gen2 de votre nouveau compte de stockage. Par exemple, l’URI Gen1 adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile peut devenir abfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile.

  3. Configurez la sécurité sur votre compte pour inclure les rôles RBAC Azure, la sécurité au niveau des fichiers et des dossiers, ainsi que les pare-feu et réseaux virtuels dans Stockage Azure.

Étape 4 : Basculer de Gen1 vers Gen2

Une fois que vous êtes certain que vos applications et vos charges de travail sont stables sur Gen2, vous pouvez commencer à utiliser Gen2 pour vos scénarios métier. Désactivez les pipelines restants qui s’exécutent sur Gen1, puis désactivez votre compte Gen1.

Comparaison entre les fonctionnalités de Gen1 et de Gen2

Ce tableau compare les fonctionnalités de Gen1 à celles de Gen2.

Domaine Première génération Deuxième génération
Organisation des données Espace de noms hiérarchique
Prise en charge des fichiers et des dossiers
Espace de noms hiérarchique
Prise en charge des conteneurs, des fichiers et des dossiers
Géo-redondance LRS LRS, ZRS, GRS, RA-GRS
Authentification Identité managée Microsoft Entra
Principaux de service
Identité managée Microsoft Entra
Principaux de service
Clé d’accès partagé
Autorisation Gestion : Azure RBAC
Données - Listes ACL
Gestion : Azure RBAC
Données : Listes ACL, Azure RBAC
Chiffrement - Données au repos Côté serveur - Avec des clés managées par Microsoft ou managées par le client Côté serveur - Avec des clés managées par Microsoft ou managées par le client
Prise en charge du réseau virtuel Intégration au réseau virtuel Points de terminaison de service, points de terminaison privés
Expérience développeur REST, .NET, Java, Python, PowerShell, Azure CLI Disponibilité générale - REST, .NET, Java, Python
Préversion publique - JavaScript, PowerShell, Azure CLI
Journaux d’activité de ressources Journaux classiques
Intégré à Azure Monitor
Journaux classiques - Disponibilité générale
Azure Monitor intégré – Préversion
Écosystème HDInsight (3.6), Azure Databricks (3.1 et versions ultérieures), Azure Synapse Analytics, ADF HDInsight (3.6, 4.0), Azure Databricks (5.1 et versions ultérieures), Azure Synapse Analytics, ADF

Modèles Gen1 à Gen2

Choisissez un modèle de migration, puis modifiez le modèle en fonction des besoins.

Modèle de migration Détails
Opération lift-and-shift Modèle le plus simple. Idéal si vos pipelines de données permettent des temps d’arrêt.
Copie incrémentielle Semblable au lift-and-shift, mais avec un temps d’arrêt moindre. Idéal pour les grandes quantités de données dont la copie prend plus de temps.
Double pipeline Idéal pour les pipelines qui ne peuvent pas se permettre de temps d’arrêt.
Synchronisation bidirectionnelle Semblable au double pipeline, mais avec une approche plus progressive, adaptée aux pipelines complexes.

Examinons de plus près chacun de ces modèles.

Modèle lift-and-shift

Il s’agit du modèle le plus simple.

  1. Arrêtez toutes les écritures dans Gen1.

  2. Déplacez les données de Gen1 vers Gen2. Nous recommandons Azure Data Factory ou le portail Azure. Les listes de contrôle d’accès sont copiées avec les données.

  3. Faites pointer les opérations d’ingestion et les charges de travail vers Gen2.

  4. Désactivez Gen1.

Consultez notre exemple de code pour le modèle lift-and-shift dans notre exemple de migration lift-and-shift.

Diagram of the lift and shift pattern.

Considérations relatives à l’utilisation du modèle lift-and-shift

  • Effectuez le basculement de Gen1 vers Gen2 pour toutes les charges de travail en même temps.

  • Prévoyez un temps d’arrêt pendant la migration et la période de basculement.

  • Idéal pour les pipelines qui permettent des temps d’arrêt et dans lesquels toutes les applications peuvent être mises à niveau en même temps.

Conseil

Vous pouvez utiliser le portail Azure pour raccourcir les temps d’arrêt et réduire le nombre d’étapes nécessaires pour effectuer la migration.

Modèle de copie incrémentielle

  1. Commencez par déplacer les données de Gen1 vers Gen2. Nous vous recommandons Azure Data Factory. Les listes de contrôle d’accès sont copiées avec les données.

  2. Copiez les nouvelles données de façon incrémentielle à partir de Gen1.

  3. Une fois que toutes les données ont été copiées, arrêtez toutes les écritures dans Gen1 et faites pointer les charges de travail vers Gen2.

  4. Désactivez Gen1.

Consultez notre exemple de code pour le modèle de copie incrémentielle dans notre exemple de migration de copie incrémentielle.

Diagram of the incremental copy pattern.

Considérations relatives à l’utilisation du modèle de copie incrémentielle

  • Effectuez le basculement de Gen1 vers Gen2 pour toutes les charges de travail en même temps.

  • Prévoyez un temps d’arrêt uniquement pendant la période de basculement.

  • Idéal pour les pipelines dans lesquels toutes les applications sont mises à niveau en même temps, mais dans lesquels la copie des données nécessite plus de temps.

Modèle de pipeline double

  1. Déplacez les données de Gen1 vers Gen2. Nous vous recommandons Azure Data Factory. Les listes de contrôle d’accès sont copiées avec les données.

  2. Ingérez les nouvelles données à la fois dans Gen1 et dans Gen2.

  3. Faites pointer les charges de travail vers Gen2.

  4. Arrêtez toutes les écritures dans Gen1, puis désactivez Gen1.

Consultez notre exemple de code pour le modèle de pipeline double dans notre exemple de migration de pipeline double.

Diagram of the dual pipeline pattern.

Considérations relatives à l’utilisation du modèle de pipeline double

  • Les pipelines Gen1 et Gen2 s’exécutent côte à côte.

  • Ne permet aucun temps d’arrêt.

  • Idéal lorsque vos charges de travail et vos applications ne peuvent pas se permettre de temps d’arrêt, et lorsque vous pouvez ingérer les données dans les deux comptes de stockage.

Modèle de synchronisation bidirectionnelle

  1. Configurez la réplication bidirectionnelle entre Gen1 et Gen2. Nous recommandons WanDisco. Il offre une fonctionnalité de réparation pour les données existantes.

  2. Lorsque tous les déplacements de données ont été effectués, arrêtez toutes les écritures dans Gen1, puis désactivez la réplication bidirectionnelle.

  3. Désactivez Gen1.

Consultez notre exemple de code pour le modèle de synchronisation bidirectionnelle dans notre exemple de migration de synchronisation bidirectionnelle.

Diagram of the bidirectional pattern.

Considérations relatives à l’utilisation du modèle de synchronisation bidirectionnelle

  • Idéal pour les scénarios complexes qui impliquent un grand nombre de pipelines et de dépendances, et pour lesquels une approche progressive est sans doute plus adaptée.

  • L’effort de migration est important, mais il offre une prise en charge côte à côte de Gen1 et de Gen2.

Étapes suivantes

Voir aussi