Cloudera CDP et migration Cloud de votre Data Warehouse
By WORMS David
16 déc. 2019
- Catégories
- Big Data
- Cloud computing
- Tags
- Azure
- Cloudera
- Data Hub
- Data Lake
- Entrepôt de données (Data Warehouse) [plus][moins]
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
Alors que l’un de nos clients anticipe un passage vers le Cloud et avec l’annonce récente de la disponibilité de Cloudera CDP mi-septembre lors de la conférence Strata, il semble que le moment soit venu de plonger dans la nouvelle offre Cloudera Big Data introduite après la fusion de Cloudera et Hortonworks il y a environ un an.
Présentation
Cloudera défini CDP comme le premier service cloud de données d’entreprise. Il fournit des services d’analyses avancés et en libre-service dans des environnements hybrides et multi-cloud tout en préservant des politiques sophistiquées et granulaires de gouvernance et de sécurité.
Selon Cloudera, une plateforme de données d’entreprise se caractérise par :
- analytique multifonction
- hybride et multi cloud
- sécurisé et gouverné
- plateforme ouverte
Elle offre la possibilité de mettre en œuvre de nombreux types de cas d’utilisation sur plusieurs plateformes avec une vue cohérente des données, de la sécurité et du contrôle de la gouvernance. Elle démocratise les données sans risquer la conformité et en respectant les préoccupations réglementaires.
![Architecture CDP](./ architecture.png)
La Cloudera Data Platform (CDP) se compose d’un plan de contrôle complété par de nombreux services appelés expériences.
Le Control Plane est géré par le service Cloudera’s Shared Data Experience (SDX) qui est responsable de la sécurité et de la gouvernance de CDP. La console de gestion est composée du Workload Manager, du Replication Manager et du Data Catalog. Avant de déployer un cluster, un environnement doit être enregistré dans la console de gestion. Entre autres, il définit l’isolement du réseau, déclare la source de données stockée dans Amazon S3 ou Azure ADLS gen2, déploie un FreeIPA dédié pour les identités des utilisateurs et des groupes et l’authentification par mot de passe, centralise le catalogue de données et le schéma avec le Hive Metastore, applique les politiques d’autorisation avec Ranger, configure le suivi de l’audit avec Ranger et la gouvernance avec Atlas et expose les accès avec Knox.
Concernant la gestion et la sécurité des utilisateurs, un serveur FreeIPA est automatiquement provisionné lors de la création d’un environnement. Il est responsable de la synchronisation des utilisateurs et de leur mise à disposition des services CDP, de la gestion du principal du service Kerberos, etc. Les utilisateurs et applications externes accéderont aux différents services via la passerelle Knox en utilisant l’authentification SAML.
Disponibilité
A l’écriture de cet article, en octobre 2019, le service CDP n’était disponible que sur le Cloud avec AWS. Depuis l’offre Cloud s’est élargie à Azure et la version on-premise est désormais disponible. Nous couvrirons également Azure car certains de nos clients l’utilisent ou se tournent vers lui. Il convient également de mentionner que la disponibilité de GCP est définie pour le premier trimestre 2020. Bien que CDP ait été initialement publié pour AWS, il n’est pas encore ouvert au grand public. La console publique Web du CDP est en ligne mais n’était pas accessible.
Altus et Cloudbreak sont les alternatives actuelles à CDP pour provisionner des ressources sur le Cloud et déployer des clusters. Notre compréhension est que Altus et Cloudbreak sont obsolètes. Notez que des éléments visuels mentionnant Altus apparaissent dans la console et que le service Data Hub décrit ci-dessous semble être une évolution de Cloudbreak. De plus, l’avenir de HDInsight, disponible dans Azure et basé sur la distribution HortonWorks, n’est pas certain après 2020.
Terminologie
La nouvelle plateforme est livrée avec de nombreux nouveaux noms et acronymes. Ceci est une liste non exclusive de certains d’entre eux.
- CDP - Cloudera Data Platform
CDP est une plateforme de données intégrée facile à déployer, à gérer et à utiliser sur des environnements cloud et bare metal, pilotée à partir de la console de gestion et exploitant des services tels que le Data Catalog, le Replication Manager et le Workload Manager. - SDX - Expérience de données partagées
Les capacités de sécurité et de gouvernance du CDP. - EDH - Enterprise Data Hub
Suite intégrée de moteurs analytiques allant du traitement de données en streaming et par batch, au Data Warehouse, à la base de données opérationnelle et au Machine Learning. - Data Warehouse Cloudera
Un service offrant du scaling automatique, un service d’analyse hautement concurrentiel et rentable basé sur un cluster éphémère Kubernetes avec un stockage Cloud attaché. - Data Lake
Lorsque vous enregistrez un environnement dans la console de gestion de CDP, un Data Lake est automatiquement déployé. Le Data Lake s’exécute dans le réseau virtuel de l’environnement et fournit une couche de sécurité et de gouvernance pour les ressources de workload de l’environnement, telles que les clusters Data Hub. Lorsqu’un cluster est démarré dans le contexte d’un environnement CDP, le cluster est automatiquement «attaché» à l’infrastructure de sécurité et de gouvernance de Data Lake. «Attacher» vos ressources de workload à un Data Lake permet au cluster attachées d’accéder aux données et de s’exécuter dans le contexte de sécurité fourni par le Data Lake. Les technologies suivantes offrent des fonctionnalités pour le Data Lake : gestion des schéma avec Hive Metastore ; politiques d’autorisation avec Ranger ; audit de suivi avec Ranger ; gouvernance avec Atlas ; passerelle d’authentification avec Knox. - Gestion d’identité CDP
Il comprend le système de gestion des utilisateurs CDP, FreeIPA, la fédération des identités et l’authentification Knox. Les administrateurs peuvent fédérer l’accès à CDP en configurant un fournisseur d’identité externe. Les utilisateurs/groupes et le mot de passe sont authentifiés via SSO auprès d’un fournisseur d’identité compatible SAML (IDP, par exemple Okta ou KeyCloak) - SMM - Streams Messaging Manager
Un outil de surveillance et de gestion des opérations qui offre une visibilité de bout en bout dans un environnement Apache Kafka d’entreprise. - SRM - Streams Replication Manager
Une solution de réplication de niveau entreprise qui permet une réplication de rubriques Kafka tolérante aux pannes, évolutive et robuste. - CFM - Cloudera Flow Management
Une solution d’ingestion et de gestion de données sans code optimisée par Apache NiFi. - CSP - Cloudera Stream Processing
Il fournit des fonctionnalités avancées de messages, de traitement et d’analyse de streaming avec Apache Kafka en tant que principal moteur de traitement streaming.
Entrepôt de données moderne avec CDP
L’une des premières briques disponibles dans CDP est le Cloudera Data Warehouse. Il crée des entrepôts de données en libre-service pour les équipe et les analystes afin de faciliter l’approvisionnement d’un nouvel entrepôt de données et de partager des sous-ensembles spécifiques de données avec des équipes et des services spécifiques. Il est conçu de telle sorte qu’il est facile de jeter l’entrepôt si le besoin évolue. Les entrepôts de données peuvent être provisionnés avec Impala ou Hive comme moteurs.
Les objectifs des entrepôts de données CDP sont les suivants :
- Passez plus de temps à créer de la valeur qu’à combattre les incendies
- Hiérarchisation entre le respect des SLA et le Time to Value
Le cloud aide mais comporte ses propres défis :
- Assurer une gouvernance cohérente
- Sécurité
- Faciliter la transition des projets on-premise vers le Cloud
- Les applications et les utilisateurs doivent travailler sur une infrastructure cohérente ou être obligés de re-tester et de re-qualifier de nouveaux outils
- Perte de traçabilité, comment être sûr de savoir où se trouvent les données, comment elles y sont arrivées et qu’est-ce qui est quoi
Problèmes soulevés :
- Contention (ou sous-utilisation) des ressources et voisins “génante”
- Continuité des opérations commerciales tout en faisant face à des charges de travail fluctuantes et saisonnières, les requêtes ne s’exécutant qu’à la fin de la semaine/du mois/de l’année, ce qui peut devenir une source de stress pour les ressources et empêcher d’autres tâches de respecter les SLA
- Déplacez les tâches “génantes” dans le Cloud, la mise à l’échelle automatique pour les heures de pointe et les suspensions automatiques pour les accalmies
- Un rapport ad hoc spécifique peut évoluer indépendamment sans affecter les voisins et peut être suspendu pour garantir le contrôle des coûts
- S’adapter aux changements d’objectifs métiers dans le temps, les infrastructures étant en phase avec la réalité métier
Avantages du cloud :
- Supprimer les contraintes de ressources : déduire et découvrir des ressources
- Accélérez l’intégration des cas d’utilisation : métadonnées partagées sur toutes les plateformes
- Sécurisé et sûr grâce à la sécurité et la gouvernance offert par SDX
- Répondre aux pics de demande : pool de ressources disponible à chaud avec allocation proactive
- Évitez les données verrouillées dans le cluster avec des mouvements de données en continus
- Coût sous contrôle en suspendant automatiquement les ressources inutilisées
- Répondre à la demande de ressources et isolation des utilisateurs et de la croissance en temps réel
Les principales motivations pour entrer dans le Cloud sont d’amener les équipes à se concentrer sur les projets porteurs, de contrôler les coûts d’infrastructure et d’ accéder à un calcul et un stockage élastiques.
Cependant, cela crée de nouveaux défis. La planification de la capacité dans un centre de données de cloud public doit être soigneusement évaluée. L’architecture et la configuration d’une base de données pour obtenir des performances élevées, la simultanéité, l’isolement des ressources, etc. dans les environnements multi-tenants est difficile et implique une gestion précise des coûts d’infrastructure. Il est nécessaire de migrer les données, les métadonnées et les politiques de sécurité et de préserver le lignage des données.
Si elle n’est pas effectuée avec soin, la migration vers le cloud peut être risquée et coûteuse et peut prendre beaucoup de temps.
2 étapes principales :
- Étape 1 : jeter les bases
- Définir le plan du Data Warehouse : définir les composants logiciels requis
- Mettre en place un mécanisme de réplication pour les données et les métadonnées
- Utilisez le plan directeur et le mécanisme de réplication pour provisionner le DW et répliquer les données en toute sécurité
- Étape 2 : déployer des applications et les exploiter
- Gérer la réplication incrémentielle des données
- Maintenir le Data Warehouse : gestion de la pile logicielle, gestion des capacités matériels, redimensionnement du système
- On-boarding de nouvelles applications, utilisateurs, processus de surveillance : responsable de s’assurer que l’utilisateur final obtient les SLA attendus
Deux runtime/expériences
Clusters Data Hub
Le Data Hub fournit un contrôle presque complet de la configuration de l’entrepôt de données et du processus de migration. Le DBA s’approprie la définition du cluster, le plan de capacité, la migration des données, la mise à l’échelle, la configuration et le réglage fin des paramètres.
Il est basé sur des blueprints similaires à celles présentes dans Ambari et Cloudbreak dans lesquelles sont définies les ressources et les composants avant de déployer le cluster sur des machines virtuelles comme Amazon EC2.
L’utilisateur commence par configurer un environnement à l’intérieur de la console Cloudera, il peut en sélectionner un existant dans une liste de modèles communs ou créer le sien en dupliquant un blueprint existant et en personnalisant son contenu. Des personnalisations avancées sont disponibles, comme le choix d’une image cloud différente ou la modification du nombre d’instances par rôle.
Une fois déployé, l’administration du cluster se fait via le Cloudera Manager.
Clusters d’entrepôt de données
Il offre moins de contrôle que l’expérience Data Hub mais il est beaucoup plus facile à utiliser et à contrôler.
Il s’appuie sur des clusters Kubernetes à la demande et sur le stockage natif du fournisseur Cloud. Les principaux avantages sont la façon dont les workload on-premise peuvent être isolées et planifiées pour la migration. Il gère la planification des capacités, la réplication des données, des métadonnées, la mise à disposition des ressources tout en maîtrisant les coûts. Il est adapté aux charges de travail éclatées et saturées avec des SLA dégradés et celles qui ont un impact sur la stabilité du cluster.
Le Workload Manager est un gestionnaire de performances d’applications pour les workload Impala et Hive (qui sont actuellement les deux moteurs possibles pour les clusters Data Warehouse). Il permet aux DBAs d’avoir accès aux queries SQL avec des propriétés communes, d’examiner les performances de ces requêtes, de diagnostiquer les problèmes potentiels et de les résoudre.
Il peut être utilisé pour se connecter au data center on-premise, pour classer les charges de travail SQL importantes et les migrer vers le cloud public via la fonctionnalité Cloudburst. Il créera automatiquement un plan de réplication des données (appelé Data Replication Plan) ainsi qu’un plan de capacité et d’approvisionnement (appelé Capacity and Provisioning Plan). À partir de là, le service Data Warehouse crée un entrepôt de données (Impala ou Hive) à l’aide de conteneurs Docker gérés par Kubernetes sur le cloud public et le Replication Manager Service copie les données, les métadonnées et les politiques de sécurité dans S3 (pour AWS) et RDS (Amazon Relational Database Service). Plusieurs paramètres sont disponibles. Le DBA peut activer et désactiver les stratégies de mise à l’échelle automatique. Il est possible de définir un délai d’expiration pour suspendre automatiquement les ressources si le cluster n’a pas reçu/traité les requêtes pendant plus d’une période définie (300s par défaut). Il est possible de configurer la taille maximale du cluster pour éviter une utilisation excessive et un coût supérieur à un certain montant sur une base horaire. La politique de scaling (mise à l’échelle) automatique peut être spécifiée. Le scaling est disponible avec plusieurs déclinaisons : une expérience de type classe économique et une expérience de type classe affaire. Par exemple, HEADROOM
définit la capacité libre souhaitée tandis que WAIT TIME
définit le centile de requête et le temps d’attente souhaité. Enfin, les propriétés de configuration de Hive peuvent être entièrement personnalisées.
Remarque sur l’intégration d’Azure avec CDP
L’intégration Azure CDP est prévue pour la fin de 2019 tandis que l’intégration GCP est prévue début 2020.
Les déploiements Cloudera Enterprise sont maintenant pris en charge sur Azure Government, Azure Germany et Azure China.
Azure Data Lake Store (ADLS gen 2) est pris en charge par Cloudera pour être utilisé comme emplacement de stockage pour les données. Il fournit une cohérence, une structure de répertoires de fichiers et des listes de contrôle d’accès compatibles POSIX. ADLS n’est pas pris en charge en tant que système de fichiers par défaut. Vous pouvez utiliser ADLS comme système de fichiers secondaire tandis que HDFS reste le système de fichiers principal.
Cloudera prend en charge la récupération après sinistre avec DistCP à l’aide de Windows Azure Storage Blob (WASB) pour conserver une copie des données que vous avez dans HDFS.
Les disques durs virtuels (VHD) sur le stockage standard Microsoft Azure n’offrent pas les mêmes garanties de débit et de performances que les disques de stockage Premium.
Les disques de stockage standard peuvent fournir un débit cible pouvant atteindre 60 Mo/s, quelle que soit leur taille.
Les disques de stockage Premium peuvent fournir un débit cible mesuré en fonction de la taille du disque. Les disques 1To P30 sont provisionnés pour un débit de 200 Mo/s.
Remarque : la documentation de Cloudera mentionne que «les disques durs virtuels (VHD) sur le stockage standard Microsoft Azure n’offrent pas les mêmes garanties de débit et de performances que les disques de stockage Premium». Cependant, les disques de stockage Premium sont liés au Stockage Azure Stockage Premium, qui sont dits être des disques durs virtuels : “Un disque géré Azure est un disque dur virtuel (VHD). […] Les types de disques disponibles sont Ultra disque, Disque dur SSD Premium, SSD standard et disque dur standard (HDD).”
Les types d’instances de travail et les types d’instances maître recommandés varient selon le type d’instance.
Conclusion
Les clusters Data Hub de CDP offrent un maximum de flexibilité dans la création et la gestion d’un entrepôt de données de production dans le cloud. Les clusters Data Warehouse facilitent l’extension progressive des données vers le cloud et l’exploitation de l’entrepôt de données en production. Ils s’appuient tous deux sur le service Shared Data Experience (SDX), qui est responsable des capacités de sécurité et de gouvernance.