Perangkat pada koneksi Pub/Sub yang terhubung ke Google Cloud

Last reviewed 2023-01-26 UTC

Daripada menerapkan arsitektur khusus untuk menghubungkan perangkat ke aplikasi analisis, beberapa organisasi mungkin mendapatkan manfaat dengan terhubung langsung ke Pub/Sub dari perangkat edge. Kami rekomendasikan pendekatan ini untuk organisasi dengan sedikit perangkat terhubung yang menggabungkan data dari sejumlah besar perangkat dan sensor di jaringan lokal. Pendekatan ini juga direkomendasikan jika organisasi Anda memiliki perangkat terhubung di lingkungan yang lebih aman, seperti pabrik. Dokumen ini menguraikan pertimbangan arsitektur tingkat tinggi yang perlu Anda lakukan untuk menggunakan pendekatannya guna menghubungkan perangkat ke produk Google Cloud.

Dokumen ini adalah bagian dari serangkaian dokumen yang memberikan informasi tentang arsitektur IoT di Google Cloud dan migrasi dari IoT Core. Dokumen lain dalam rangkaian ini mencakup hal berikut:

Arsitektur

Diagram berikut menunjukkan gateway atau perangkat agregasi terhubung yang terhubung langsung ke Pub/Sub.

Arsitektur perangkat agregasi atau gateway yang terhubung ke Pub/Sub (alur peristiwa yang dijelaskan dalam teks berikut).

Berikut adalah alur peristiwa dalam diagram sebelumnya:

  • Anda dapat menggunakan Identity and Access Management API untuk membuat pasangan kunci baru akun layanan. Kunci publik disimpan dalam IAM. Namun, Anda harus download kunci pribadi dengan aman dan menyimpannya di perangkat gateway agar dapat digunakan untuk autentikasi.
  • Perangkat agregasi mengumpulkan data dari beberapa perangkat dan sensor jarak jauh lainnya yang terletak di dalam jaringan lokal yang aman. Perangkat jarak jauh berkomunikasi dengan gateway menggunakan protokol edge lokal seperti MODBUS, BACNET, OPC-UA, atau protokol lokal lain.
  • Perangkat agregasi mengirimkan data ke Pub/Sub melalui HTTPS atau gRPC. Panggilan API ini ditandatangani menggunakan kunci pribadi akun layanan yang ditahan di perangkat agregasi.

Pertimbangan dan pilihan arsitektur

Karena Pub/Sub adalah layanan streaming data tanpa server, Anda dapat menggunakannya untuk membuat sistem dua arah yang terdiri dari produser dan konsumen peristiwa (dikenal sebagai penerbit dan pelanggan). Dalam beberapa skenario perangkat yang terhubung, Anda hanya memerlukan layanan publikasi dan berlangganan yang skalabel untuk membuat arsitektur data yang efektif. Bagian berikut menjelaskan pertimbangan dan pemilihan yang perlu Anda buat saat menerapkan perangkat ke arsitektur Pub/Sub di Google Cloud.

Endpoint penyerapan

Pub/Sub menyediakan library klien bawaan dalam beberapa bahasa yang menerapkan API REST dan gRPC. Layanan ini mendukung dua protokol penyerapan pesan: REST (HTTP) dan gRPC. Agar perangkat terhubung dapat mengirim dan menerima data melalui Pub/Sub, perangkat harus dapat berinteraksi dengan salah satu endpoint tersebut.

Banyak aplikasi software dengan dukungan bawaan untuk REST API, sehingga penghubungan dengan Pub/Sub REST API sering menjadi solusi termudah. Namun, dalam beberapa kasus penggunaan, gRPC dapat menjadi alternatif yang lebih efisien dan lebih cepat. Karena menggunakan buffering protokol berserial untuk payload pesan, bukan JSON, XML, atau format berbasis teks lainnya, gRPC lebih cocok untuk aplikasi bandwidth rendah yang biasa ditemukan pada kasus penggunaan perangkat terhubung. Koneksi gRPC API juga lebih cepat daripada REST untuk transmisi data, dan gRPC mendukung komunikasi dua arah secara bersamaan. Sebuah studi menemukan bahwa gRPC mampu bekerjatujuh kali lebih cepat daripada REST. Oleh karena itu, untuk skenario dengan banyak perangkat yang terhubung, gRPC menjadi opsi yang lebih baik jika konektor gRPC tersedia atau dapat diterapkan untuk aplikasi perangkat yang terhubung.

Autentikasi perangkat dan pengelolaan kredensial

Pub/Sub mendukung sejumlah metode autentikasi untuk akses dari luar Google Cloud.

Jika arsitektur Anda menyertakan penyedia identitas eksternal seperti Active Directory atau cluster Kubernetes lokal, Anda dapat menggunakan federasi identitas workload untuk mengelola akses ke Pub/Sub. Pendekatan ini memungkinkan Anda membuat token akses jangka pendek untuk perangkat yang terhubung. Anda juga dapat memberi peran IAM ke perangkat terhubung, tanpa overhead pengelolaan dan keamanan saat menggunakan kunci akun layanan.

Apabila penyedia identitas eksternal tidak tersedia, kunci akun layanan adalah satu-satunya opsi untuk autentikasi. Kunci akun layanan dapat menjadi risiko keamanan jika tidak dikelola dengan benar. Jadi, sebaiknya ikuti praktik terbaik keamanan untuk men-deploy kunci akun layanan ke perangkat yang terhubung. Untuk mempelajari lebih lanjut, lihat Praktik terbaik untuk mengelola kunci akun layanan. Akun layanan juga merupakan resource terbatas dan setiap project cloud memiliki kuota akun layanan yang dikelola pengguna terbatas. Maka, pendekatan ini hanya opsi untuk deployment dengan sedikit perangkat yang perlu dihubungkan.

Aplikasi backend

Setelah data diserap ke dalam topik Pub/Sub, data tersebut akan tersedia untuk semua aplikasi dengan kredensial dan hak istimewa akses sesuai yang berjalan di Google Cloud Tidak ada konektor tambahan yang diperlukan selain Pub/Sub API di aplikasi Anda. Pesan dapat disediakan untuk beberapa aplikasi di seluruh infrastruktur backend Anda untuk pemrosesan atau laporan paralel, serta penyimpanan arsip dan analisis lainnya.

Kasus penggunaan

Bagian berikut menjelaskan contoh skenario saat koneksi langsung dari perangkat ke Pub/Sub sangat cocok untuk kasus penggunaan perangkat terhubung.

Penyerapan data massal dari histori data lokal

Perangkat ke koneksi Pub/Sub paling cocok untuk aplikasi dengan sedikit endpoint yang mengirimkan data dalam volume besar. Historis data operasional adalah contoh tepat dari sistem lokal dengan banyak data tersimpan yang perlu dikirim ke Google Cloud. Untuk kasus penggunaan ini, beberapa jumlah endpoint harus diautentikasi, biasanya satu hingga beberapa perangkat terhubung, yang berada dalam parameter standar untuk autentikasi akun layanan. Sistem ini juga biasanya memiliki arsitektur modular, yang memungkinkan Anda menerapkan koneksi Pub/Sub API yang perlu dikomunikasikan dengan Google Cloud.

Agregasi data gateway lokal untuk factory

Agregasi data sensor pabrik di gateway lokal adalah kasus penggunaan lain yang cocok untuk koneksi Pub/Sub langsung. Dalam hal ini, sistem agregasi dan pengelolaan data lokal di-deploy pada perangkat gateway di factory. Sistem ini biasanya merupakan produk software yang terhubung ke berbagai sensor dan komputer lokal. Produk ini mengumpulkan data dan sering mengubahnya menjadi representasi standar sebelum meneruskannya ke aplikasi cloud.

Banyak perangkat dapat dihubungkan di skenario ini. Namun, perangkat-perangkat tersebut biasanya hanya terhubung ke gateway lokal dan dikelola oleh software pada perangkat tersebut, sehingga tidak diperlukan aplikasi pengelolaan berbasis cloud. Tidak seperti pada arsitektur broker MQTT, dalam kasus penggunaan ini, gateway berperan aktif dalam menggabungkan dan mengubah data.

Ketika terhubung ke Google Cloud, gateway melakukan autentikasi dengan Pub/Sub melalui kunci akun layanan. Kunci tersebut mengirimkan data yang telah dikumpulkan dan diubah ke aplikasi cloud untuk dilakukan proses lebih lanjut. Jumlah gateway yang terhubung juga biasanya berkisar di puluhan hingga ratusan perangkat, yang berada dalam rentang standar untuk autentikasi akun layanan.

Langkah selanjutnya