Simulasi Telemetri Cloud

Platform Simulasi Cloud Telemetri Kendaraan Software-Defined (SDV) menyediakan infrastruktur on-demand yang skalabel untuk menjalankan simulasi telemetri kendaraan di Google Cloud.

Sistem ini memungkinkan Anda menyimulasikan kampanye telemetri dari lingkungan Android Automotive virtual (Cuttlefish) tanpa hardware fisik. Layanan ini mengatur siklus proses simulasi dengan menerima permintaan, membuat virtual machine (VM) Compute Engine sementara, menjalankan simulasi di dalam container Docker, mengumpulkan dan mengupload hasil ke Cloud Storage, serta menghapus resource.

Pendekatan ini menyediakan platform yang hemat biaya dan sangat skalabel untuk menguji pipeline telemetri, karena resource hanya digunakan selama eksekusi simulasi.

Tujuan dan Kemampuan

Sistem mengatur siklus proses simulasi dan mengabstraksi pengelolaan infrastruktur yang mendasarinya.

  • Skalabilitas sesuai permintaan: Sistem membuat resource (VM Compute Engine) hanya selama simulasi untuk memberikan biaya berbasis penggunaan.
  • Pengelolaan serentak: Sistem menerapkan batas yang dapat dikonfigurasi pada simulasi paralel (misalnya, 5 secara default). Layanan ini mengantrekan permintaan berlebih dan menjadwalkannya secara otomatis saat slot tersedia.
  • Arsitektur berbasis peristiwa: Sistem ini menggunakan Cloud Functions dan Pub/Sub untuk orkestrasi alur kerja yang tidak terikat dan tangguh, yang mencakup penanganan permintaan, penjadwalan, penyelesaian, dan pembersihan.
  • Pengelolaan status terintegrasi: Sistem menggunakan database Firestore untuk melacak status dan konfigurasi aktif setiap simulasi (misalnya, PENDING, RUNNING, COMPLETED, atau FAILED).
  • Pengelolaan artefak: Sistem secara otomatis menangani download file input yang diperlukan dan upload semua output simulasi (misalnya, laporan, log, laporan bug, dan file Logcat) ke Cloud Storage.
  • Pembersihan resource: Tugas Cloud Scheduler otomatis mencegah kebocoran resource dengan membersihkan entri database atau VM yang tidak memiliki induk.

Arsitektur

Sistem ini menggunakan arsitektur serverless yang didorong oleh peristiwa dengan beberapa layanan Google Cloud. Anda dapat berinteraksi dengan sistem menggunakan UI web atau REST API.

  • Interaksi pengguna: Anda dapat menggunakan demo web yang disediakan, aplikasi kustom, atau berinteraksi langsung dengan endpoint API.
  • Lapisan orkestrasi:
    • read-simulation: Fungsi ini memungkinkan Anda mengkueri simulasi, jumlah VM yang sedang berjalan, dan jumlah maksimum VM yang dikonfigurasi untuk berjalan secara serentak.
    • receive-request: Sistem memvalidasi permintaan berdasarkan daftar yang diizinkan (allowlist) sidik jari gambar yang ketat dan memublikasikannya ke Pub/Sub.
    • schedule-simulation: Eventarc memicu fungsi ini berdasarkan pesan Pub/Sub atau perubahan Firestore. Layanan ini memeriksa batas serentak dan menyediakan VM.
    • finish-simulation: Agen memanggil fungsi ini di akhir proses untuk memperbarui status dan memicu pembersihan.
    • delete-simulation: Fungsi ini menangani pembatalan manual dan pembersihan resource.
  • Pengelolaan status (Firestore): Database Firestore melacak status (misalnya, PENDING, RUNNING, COMPLETED, atau FAILED) dan konfigurasi setiap simulasi. Database ini menyimpan semua data eksekusi simulasi.
  • Penyimpanan data (Cloud Storage): Sistem menyimpan semua file terkait simulasi di bucket Cloud Storage. Hal ini mencakup file konfigurasi input, laporan output, log dari perangkat Cuttlefish, laporan bug, dan file Logcat.
  • Lapisan eksekusi (Compute Engine):
    • Fungsi schedule-simulation membuat VM Compute Engine untuk setiap simulasi. VM menjalankan container Docker simulation-agent.
    • simulation-agent menarik file input dari Cloud Storage, memulai instance SDV, dan mengelola interaksi dengan perangkat virtual Cuttlefish untuk mengeksekusi simulator telemetri dan mengambil data yang dihasilkan.
  • Pemeliharaan (Cloud Scheduler): Tugas terjadwal berjalan secara berkala untuk membersihkan resource yang tidak terkait (misalnya, VM yang gagal atau entri database yang tidak aktif) untuk mencegah kebocoran resource.

Langkah Berikutnya

Untuk mulai menggunakan Simulasi Telemetri Cloud, lihat panduan berikut:

  • Panduan Deployment: Pelajari cara menyiapkan infrastruktur dan membangun agen simulasi.
  • Panduan Pengguna: Pelajari cara menjalankan simulasi menggunakan demo web atau REST API.