Membandingkan deployment cluster dan tanpa server Managed Service for Apache Spark

Managed Service untuk Apache Spark kini mencakup opsi produk "Dataproc di Compute Engine" (deployment cluster) dan "Google Cloud Serverless untuk Apache Spark" (deployment serverless) sebelumnya.

Meskipun kedua opsi ini menyediakan lingkungan Spark terkelola yang sangat skalabel, siap produksi, dan aman yang kompatibel dengan OSS dengan dukungan penuh untuk format data, keduanya berbeda dalam cara mengelola infrastruktur yang mendasarinya dan menagih resource. Tinjau fitur dan kasus penggunaan berikut untuk membantu Anda memilih solusi Spark.

Untuk mengetahui informasi selengkapnya tentang deployment serverless Managed Service untuk Apache Spark, lihat Ringkasan deployment serverless Managed Service untuk Apache Spark.

Membandingkan deployment Managed Service untuk Apache Spark

Tabel berikut mencantumkan perbedaan utama antara deployment cluster dan serverless Managed Service untuk Apache Spark.

Deployment Serverless Cluster
Framework pemrosesan Workload batch dan sesi interaktif: Spark Spark. Framework open source lainnya, seperti Hive, Flink, Trino, dan Kafka
Serverless Ya Tidak
Waktu startup 50 detik 120 detik
Kontrol infrastruktur Tidak Ya
Pengelolaan resource Serverless YARN
Dukungan GPU Ya Ya
Sesi interaktif Ya Tidak
Container kustom Ya Tidak
Akses VM (SSH) Tidak Ya
Versi Java Java 17, 21 Java 17 dan versi sebelumnya

Memutuskan deployment Managed Service untuk Apache Spark terbaik

Bagian ini menguraikan kekuatan inti Managed Service untuk Apache Spark dan kasus penggunaan utama untuk membantu Anda memilih deployment Managed Service untuk Apache Spark terbaik—cluster atau serverless—untuk workload Spark Anda.

Ringkasan

Deployment Managed Service untuk Apache Spark berbeda dalam tingkat kontrol, pengelolaan infrastruktur, dan mode penagihan yang ditawarkan masing-masing.

  • deployment serverless: Managed Service untuk Apache Spark menawarkan Spark-jobs-as-a-service, yang menjalankan Spark di infrastruktur yang terkelola sepenuhnya. Google Cloud Anda membayar runtime tugas.
  • deployment cluster: Menawarkan Spark-clusters-as-a-service, yang menjalankan Spark terkelola di infrastruktur Compute Engine Anda. Anda membayar waktu operasional cluster.

Karena perbedaan ini, setiap deployment Managed Service untuk Apache Spark paling cocok untuk kasus penggunaan berikut:

Deployment Kasus penggunaan
serverless Lingkungan tugas khusus yang berbeda
Workload batch terjadwal
Pengelolaan kode diprioritaskan daripada pengelolaan infrastruktur
cluster Lingkungan bersama yang berjalan lama
Workload yang memerlukan kontrol terperinci atas infrastruktur
Memigrasikan lingkungan Hadoop dan Spark lama

Perbedaan utama

Fitur deployment serverless deployment cluster
Model pengelolaan Lingkungan eksekusi serverless yang terkelola sepenuhnya. Berbasis cluster. Anda menyediakan dan mengelola cluster.
Kontrol &penyesuaian Kontrol infrastruktur yang lebih sedikit, dengan fokus pada pengiriman kode dan penentuan parameter Spark. Kontrol yang lebih besar atas konfigurasi cluster, jenis mesin, dan software. Kemampuan untuk menggunakan VM spot, dan menggunakan kembali reservasi dan kapasitas resource Compute Engine. Cocok untuk workload yang memiliki dependensi pada bentuk VM tertentu, seperti arsitektur CPU.
Kasus penggunaan Kueri ad-hoc, analisis interaktif, pipeline Spark baru, dan workload dengan kebutuhan resource yang tidak dapat diprediksi. Cluster bersama yang berjalan lama, memigrasikan workload Hadoop dan Spark yang ada dengan konfigurasi kustom, workload yang memerlukan penyesuaian mendalam.
Overhead operasional Overhead yang lebih rendah. Google Cloud mengelola infrastruktur, penskalaan, dan penyediaan, sehingga memungkinkan model NoOps. Gemini Cloud Assist memudahkan pemecahan masalah, sedangkan penyetelan otomatis serverless membantu memberikan performa yang optimal. Overhead yang lebih tinggi yang memerlukan pengelolaan, penskalaan, dan pemeliharaan cluster.
Model efisiensi Tidak ada overhead komputasi idle: alokasi resource komputasi hanya saat tugas berjalan. Tidak ada biaya startup dan penonaktifan. Sesi interaktif bersama didukung untuk meningkatkan efisiensi. Efisiensi diperoleh dengan berbagi cluster di seluruh tugas dan tim, dengan model berbagi dan multi-tenant.
Kontrol lokasi Managed Service untuk Apache Spark mendukung workload regional tanpa biaya tambahan untuk memberikan keandalan dan ketersediaan tambahan. Cluster bersifat zonal. Zona dapat dipilih secara otomatis selama pembuatan cluster.
Biaya Ditagih hanya untuk durasi eksekusi tugas Spark, tidak termasuk startup dan penonaktifan, berdasarkan resource yang digunakan. Ditagih sebagai Data Compute Unit (DCU) yang digunakan dan biaya infrastruktur lainnya. Ditagih untuk waktu cluster berjalan, termasuk startup dan penonaktifan, berdasarkan jumlah node. Mencakup biaya lisensi Managed Service untuk Apache Spark ditambah biaya infrastruktur.
Diskon Abonemen (CUD) CUD berbasis pengeluaran BigQuery berlaku untuk tugas Managed Service untuk Apache Spark. CUD Compute Engine berlaku untuk semua penggunaan resource.
Kontrol image dan runtime Pengguna dapat menyematkan ke versi runtime Managed Service untuk Apache Spark minor; versi subminor dikelola oleh Managed Service untuk Apache Spark. Pengguna dapat menyematkan ke versi image Managed Service untuk Apache Spark minor dan subminor.
Pengelolaan resource serverless YARN
Dukungan GPU Ya Ya
Sesi interaktif Ya Tidak
Container kustom Ya Tidak
Akses VM (SSH) Tidak Ya
Versi Java Java 17, 21 Versi sebelumnya didukung
Waktu startup 50 detik 120 detik

Kapan harus memilih deployment serverless

Deployment serverless Managed Service untuk Apache Spark menghilangkan kompleksitas pengelolaan cluster, sehingga Anda dapat fokus pada kode Spark. Hal ini menjadikannya pilihan yang sangat baik untuk digunakan dalam skenario pemrosesan data berikut:

  • Analisis ad-hoc dan interaktif: Untuk data scientist dan analis yang menjalankan kueri interaktif dan analisis eksplorasi menggunakan Spark, model serverless menyediakan cara cepat untuk memulai tanpa berfokus pada infrastruktur.
  • Aplikasi dan pipeline berbasis Spark: Saat membuat pipeline atau aplikasi data baru di Spark, Managed Service untuk Apache Spark dapat mempercepat pengembangan secara signifikan dengan menghapus overhead operasional pengelolaan cluster.
  • Workload dengan permintaan sporadis atau tidak dapat diprediksi: Untuk tugas Spark yang terputus-putus atau tugas dengan persyaratan resource yang berfluktuasi, penskalaan otomatis serverless dan harga bayar sesuai penggunaan (biaya berlaku untuk konsumsi resource tugas) dapat mengurangi biaya secara signifikan.
  • Fokus produktivitas developer: Dengan menghilangkan kebutuhan akan penyediaan dan pengelolaan cluster, Managed Service untuk Apache Spark mempercepat pembuatan logika bisnis, memberikan insight yang lebih cepat, dan meningkatkan produktivitas.
  • Operasi yang disederhanakan dan overhead yang dikurangi: Pengelolaan infrastruktur Managed Service untuk Apache Spark mengurangi beban dan biaya operasional.

Kapan harus memilih deployment cluster

Anda dapat menggunakan deployment cluster Managed Service untuk Apache Spark untuk menjalankan Apache Spark dan framework pemrosesan data open source lainnya. Layanan ini menawarkan tingkat kontrol dan fleksibilitas yang tinggi, sehingga menjadi pilihan yang lebih disukai dalam skenario berikut:

  • Memigrasikan workload Hadoop dan Spark yang ada: Mendukung migrasi cluster Hadoop atau Spark lokal ke Google Cloud. Mereplikasi konfigurasi yang ada dengan perubahan kode minimal, terutama saat menggunakan versi Spark yang lebih lama.
  • Kontrol dan penyesuaian mendalam: Memungkinkan Anda menyesuaikan jenis mesin cluster, ukuran disk, dan konfigurasi jaringan. Tingkat kontrol ini sangat penting untuk penyetelan performa dan mengoptimalkan penggunaan resource untuk tugas yang kompleks dan berjalan lama.
  • Cluster yang berjalan lama dan persisten: Mendukung tugas Spark yang berjalan lama dan terus-menerus serta cluster persisten untuk beberapa tim dan project.
  • Ekosistem open source yang beragam: Menyediakan lingkungan terpadu untuk menjalankan pipeline pemrosesan data yang menjalankan alat ekosistem Hadoop, seperti Hive, Pig, atau Presto, dengan workload Spark Anda.
  • Kepatuhan keamanan: Memungkinkan kontrol atas infrastruktur untuk memenuhi standar keamanan atau kepatuhan tertentu, seperti melindungi informasi identitas pribadi (PII) atau informasi kesehatan terlindungi (PHI).
  • Fleksibilitas infrastruktur: Menawarkan VM Spot dan kemampuan untuk menggunakan kembali reservasi dan kapasitas resource Compute Engine untuk menyeimbangkan penggunaan resource dan memfasilitasi strategi infrastruktur cloud Anda.

Ringkasan

Keputusan apakah akan menggunakan deployment cluster atau serverless Managed Service untuk Apache Spark bergantung pada persyaratan workload, preferensi operasional, dan tingkat kontrol yang Anda inginkan.

  • Pilih Managed Service untuk Apache Spark serverless karena kemudahan penggunaannya, efisiensi biaya untuk workload yang terputus-putus, dan kemampuannya untuk mempercepat pengembangan aplikasi Spark baru dengan menghapus overhead pengelolaan infrastruktur.
  • Pilih cluster Managed Service untuk Apache Spark jika Anda memerlukan kontrol maksimum, perlu memigrasikan workload Hadoop atau Spark, atau memerlukan lingkungan cluster bersama yang persisten dan disesuaikan.

Setelah mengevaluasi faktor-faktor yang tercantum di bagian ini, pilih deployment Managed Service untuk Apache Spark yang paling efisien dan hemat biaya untuk menjalankan Spark guna memaksimalkan potensi data Anda.