Comparer les déploiements sans serveur et de cluster Managed Service pour Apache Spark

Managed Service pour Apache Spark inclut désormais les options de produit "Dataproc sur Compute Engine" (déploiement de cluster) et "Google Cloud Serverless pour Apache Spark" (déploiement sans serveur) précédentes.

Bien que les deux options fournissent un environnement Spark géré, hautement évolutif, prêt pour la production et sécurisé, compatible avec l'OSS et offrant une prise en charge complète des formats de données, elles diffèrent dans la façon dont elles gèrent l'infrastructure sous-jacente et facturent les ressources. Passez en revue les fonctionnalités et les cas d'utilisation suivants pour vous aider à choisir une solution Spark.

Pour en savoir plus sur les déploiements de clusters Managed Service pour Apache Spark, consultez Présentation du déploiement de clusters Managed Service pour Apache Spark.

Comparer les déploiements de Managed Service pour Apache Spark

Le tableau suivant répertorie les principales différences entre les déploiements de cluster et sans serveur de Managed Service pour Apache Spark.

Déploiement Sans serveur Cluster
Frameworks de traitement Charges de travail par lot et sessions interactives : Spark Spark. Autres frameworks Open Source, tels que Hive, Flink, Trino et Kafka
Sans serveur Oui Non
Temps de démarrage 50s 120s
Contrôle de l'infrastructure Non Oui
Gestion des ressources Sans serveur YARN
Compatibilité avec les GPU Oui Oui
Sessions interactives Oui Non
Conteneurs personnalisés Oui Non
Accès à la VM (SSH) Non Oui
Versions Java Java 17, 21 Java 17 et versions antérieures

Choisir le meilleur déploiement de Managed Service pour Apache Spark

Cette section présente les principaux avantages et cas d'utilisation de Managed Service pour Apache Spark afin de vous aider à sélectionner le meilleur déploiement (cluster ou sans serveur) pour vos charges de travail Spark.

Présentation

Les déploiements de Managed Service pour Apache Spark diffèrent en termes de niveau de contrôle, de gestion de l'infrastructure et de mode de facturation.

  • Déploiement sans serveur : Managed Service pour Apache Spark propose des jobs Spark en tant que service, exécutés sur une infrastructure entièrement gérée. Google Cloud Vous payez pour la durée d'exécution du job.
  • Déploiement de cluster : propose des clusters Spark en tant que service, exécutés sur votre infrastructure Compute Engine. Vous payez pour la disponibilité du cluster.

En raison de ces différences, chaque déploiement de Managed Service pour Apache Spark est plus adapté aux cas d'utilisation suivants :

Déploiement Cas d'utilisation
Sans serveur Différents environnements de job dédiés
Charges de travail par lot planifiées
Gestion du code prioritaire par rapport à la gestion de l'infrastructure
Cluster Environnements partagés de longue durée
Charges de travail nécessitant un contrôle précis de l'infrastructure
Migration d'environnements Hadoop et Spark hérités

Différences majeures

Fonctionnalité Déploiement sans serveur Déploiement de cluster
Modèle de gestion Environnement d'exécution sans serveur entièrement géré. Basé sur un cluster. Vous provisionnez et gérez les clusters.
Contrôle et personnalisation Contrôle réduit de l'infrastructure, avec un accent sur l'envoi de code et la spécification des paramètres Spark. Contrôle accru de la configuration du cluster, des types de machines et des logiciels. Possibilité d'utiliser des VM Spot, et de réutiliser des réservations et la capacité de ressources Compute Engine. Convient aux charges de travail qui dépendent de formes de VM spécifiques, telles que les architectures de processeur.
Cas d'utilisation Requêtes ad hoc, analyses interactives, nouveaux pipelines Spark et charges de travail avec des besoins en ressources imprévisibles. Clusters partagés de longue durée, migration de charges de travail Hadoop et Spark existantes avec des configurations personnalisées, charges de travail nécessitant une personnalisation approfondie.
Coûts opérationnels Coûts réduits. Google Cloud gère l'infrastructure, le scaling et le provisionnement, ce qui permet d'adopter un modèle NoOps. Gemini Cloud Assist facilite le dépannage, tandis que le réglage automatique sans serveur permet d'optimiser les performances. Coûts plus élevés nécessitant la gestion, le scaling et la maintenance des clusters.
Modèle d'efficacité Aucun coût de calcul inactif : allocation des ressources de calcul uniquement lorsque le job est en cours d'exécution. Aucun coût de démarrage ni d'arrêt. Sessions interactives partagées compatibles pour une efficacité accrue. Efficacité obtenue en partageant des clusters entre les jobs et les équipes, avec un modèle de partage et de multitenant.
Contrôle de la zone géographique Managed Service pour Apache Spark prend en charge les charges de travail régionales sans frais supplémentaires afin d'offrir une fiabilité et une disponibilité accrues. Les clusters sont zonaux. La zone peut être sélectionnée automatiquement lors de la création du cluster.
Coût Facturation uniquement pour la durée d'exécution du job Spark, hors démarrage et arrêt, en fonction des ressources consommées. Facturation en tant qu'unités de calcul de données (DCU) utilisées et autres coûts d'infrastructure. Facturation pour la durée d'exécution du cluster, y compris le démarrage et l'arrêt, en fonction du nombre de nœuds. Inclut les frais de licence Managed Service pour Apache Spark et les coûts d'infrastructure.
Remises sur engagement d'utilisation (CUD) Les remises sur engagement d'utilisation basées sur les dépenses BigQuery s'appliquent aux jobs Managed Service pour Apache Spark. Les remises sur engagement d'utilisation Compute Engine s'appliquent à toutes les utilisations de ressources.
Contrôle de l'image et de l'environnement d'exécution Les utilisateurs peuvent épingler des versions mineures de l'environnement d'exécution Managed Service pour Apache Spark. Les versions sous-mineures sont gérées par Managed Service pour Apache Spark. Les utilisateurs peuvent épingler des versions mineures et sous-mineures des images Managed Service pour Apache Spark.
Gestion des ressources Sans serveur YARN
Compatibilité avec les GPU Oui Oui
Sessions interactives Oui Non
Conteneurs personnalisés Oui Non
Accès à la VM (SSH) Non Oui
Versions Java Java 17, 21 Versions précédentes compatibles
Temps de démarrage 50s 120s

Quand choisir un déploiement sans serveur

Le déploiement sans serveur de Managed Service pour Apache Spark élimine les complexités liées à la gestion des clusters, ce qui vous permet de vous concentrer sur le code Spark. Il est donc idéal pour les scénarios de traitement de données suivants :

Quand choisir un déploiement de cluster

Vous pouvez utiliser le déploiement de cluster Managed Service pour Apache Spark afin d'exécuter Apache Spark et d'autres frameworks de traitement de données Open Source. Il offre un haut degré de contrôle et de flexibilité, ce qui en fait le choix privilégié dans les scénarios suivants :

  • Migration de charges de travail Hadoop et Spark existantes : permet de migrer des clusters Hadoop ou Spark sur site vers Google Cloud. Répliquez les configurations existantes avec un minimum de modifications de code, en particulier lorsque vous utilisez des versions Spark plus anciennes.
  • Personnalisation et contrôle approfondis : vous permet de personnaliser les types de machines de cluster, la taille des disques et les configurations réseau. Ce niveau de contrôle est essentiel pour le réglage des performances et l'optimisation de l'utilisation des ressources pour les jobs complexes et de longue durée.
  • Clusters persistants et de longue durée : prend en charge les jobs Spark continus et de longue durée, ainsi que les clusters persistants pour plusieurs équipes et projets.
  • Écosystème Open Source diversifié : fournit un environnement unifié pour exécuter des pipelines de traitement de données à l'aide d'outils de l'écosystème Hadoop, tels que Hive, Pig ou Presto, avec vos charges de travail Spark.
  • Conformité en matière de sécurité : permet de contrôler l'infrastructure pour répondre à des normes de sécurité ou de conformité spécifiques, telles que la protection des informations personnelles ou des données de santé protégées.
  • Flexibilité de l'infrastructure : offre des VM Spot et la possibilité de réutiliser des réservations et la capacité de ressources Compute Engine pour équilibrer l'utilisation des ressources et faciliter votre stratégie d'infrastructure cloud.

Récapitulatif

Le choix d'un déploiement de cluster ou sans serveur de Managed Service pour Apache Spark dépend de vos exigences en termes de charge de travail, de vos préférences opérationnelles et du niveau de contrôle souhaité.

  • Choisissez Managed Service pour Apache Spark sans serveur pour sa facilité d'utilisation, sa rentabilité pour les charges de travail intermittentes et sa capacité à accélérer le développement de nouvelles applications Spark en supprimant les coûts liés à la gestion de l'infrastructure.
  • Choisissez les clusters Managed Service pour Apache Spark lorsque vous avez besoin d'un contrôle maximal, que vous devez migrer des charges de travail Hadoop ou Spark, ou que vous avez besoin d'un environnement de cluster partagé, personnalisé et persistant.

Après avoir évalué les facteurs listés dans cette section, sélectionnez le déploiement de Managed Service pour Apache Spark le plus efficace et le plus rentable pour exécuter Spark et exploiter tout le potentiel de vos données.