Membangun dan Men-deploy ke Google Cloud dengan Antigravity

1. Pengantar

fca14bb9f4bb74f4.png

Dalam codelab ini, Anda akan mempelajari cara menggunakan Google Antigravity (selanjutnya disebut Antigravity dalam dokumen ini) untuk mendesain, membangun, dan men-deploy aplikasi serverless ke Google Cloud. Kita akan membangun pipeline dokumen serverless dan berbasis peristiwa yang menyerap file dari Google Cloud Storage (GCS), memprosesnya menggunakan Cloud Run dan Gemini, serta mengalirkan metadatanya ke BigQuery.

Yang akan Anda pelajari

  • Cara menggunakan Antigravity untuk perencanaan dan desain arsitektur.
  • Buat infrastruktur sebagai kode (skrip shell) dengan agen AI.
  • Buat dan deploy layanan Cloud Run berbasis Python.
  • Mengintegrasikan Gemini di Vertex AI untuk analisis dokumen multimodal.
  • Verifikasi pipeline end-to-end menggunakan artefak Walkthrough Antigravity.

Yang Anda butuhkan

2. Ringkasan aplikasi

Sebelum kita mulai merancang dan menerapkan aplikasi menggunakan Antigravity, mari kita buat garis besar aplikasi yang ingin kita bangun terlebih dahulu.

Kita ingin membangun pipeline dokumen tanpa server dan berbasis peristiwa yang menyerap file dari Google Cloud Storage (GCS), memprosesnya menggunakan Cloud Run dan Gemini, serta mengalirkan metadatanya ke BigQuery.

Diagram arsitektur tingkat tinggi untuk aplikasi ini dapat terlihat seperti ini:

3bd519cfab38258d.png

Hal ini tidak harus akurat. Antigravity dapat membantu kita mengetahui detail arsitektur saat kita melakukannya. Namun, ada baiknya Anda memiliki gambaran tentang apa yang ingin Anda buat. Makin banyak detail yang dapat Anda berikan, makin baik hasil yang akan Anda dapatkan dari Antigravity dalam hal arsitektur dan kode.

3. Merencanakan arsitektur

Kita siap mulai merencanakan detail arsitektur dengan Antigravity.

Antigravity unggul dalam merencanakan sistem yang kompleks. Daripada langsung menulis kode, kita dapat memulai dengan menentukan arsitektur tingkat tinggi.

Pertama, pastikan Anda berada di Pengelola Agen. Jika baru membuka Antigravity, Anda dapat mengklik tombol Open Agent Manager di tengah atau Anda juga akan melihat Open Agent Manager yang sama di pojok kanan atas.

Di Agent Manager, Anda memiliki opsi untuk membuka ruang kerja atau cukup menggunakan Playground, ruang kerja independen untuk prototipe dan eksperimen cepat. Mari kita mulai dengan Playground.

Klik tombol + untuk memulai percakapan baru di Playground:

4e33c028a604a375.png

Tindakan ini akan menampilkan antarmuka tempat Anda dapat memberikan perintah seperti yang ditunjukkan di bawah:

fbf023e84f0eb3b2.png

Di sudut kanan atas, klik ikon setelan ⚙️ dan tetapkan Review Policy di bagian Artifact dan Terminal Command Auto Execution di bagian Terminal ke Request Review. Dengan demikian, di setiap langkah, Anda dapat meninjau dan menyetujui rencana sebelum agen melaksanakannya.

Perintah

Sekarang, kita siap memberikan perintah pertama kita ke Antigravity.

Pertama, pastikan Antigravity dalam mode Planning dan untuk modelnya, gunakan model Gemini Pro (High) (tetapi Anda dapat bereksperimen dengan model lain).

Masukkan perintah berikut, lalu klik tombol kirim:

I want to build a serverless event-driven document processing pipeline on Google Cloud.
Architecture:
- Ingestion: Users upload files to a Cloud Storage bucket.
- Trigger: File uploads trigger a Pub/Sub message.
- Processor: A Python-based Cloud Run service receives the message, processes the file (simulated OCR), and extracts metadata.
- Storage: Stream the metadata (filename, date, tags, word_count) into a BigQuery dataset. 

Daftar Tugas & Rencana Penerapan

Antigravity akan menganalisis permintaan Anda dan membuat daftar Tugas dan Rencana Penerapan.

Rencana ini menguraikan:

  • Infrastructure: Bucket GCS, Topik Pub/Sub, Set Data BigQuery.
  • Prosesor: Aplikasi Python/Flask, Dockerfile, Persyaratan.
  • Integrasi: Notifikasi GCS → Pub/Sub → Cloud Run.

Anda akan melihat sesuatu yang mirip dengan berikut ini:

ada19341c490a570.png

Klik tombol Open di samping baris Task. Tindakan ini akan menampilkan serangkaian tugas yang telah dibuat oleh Antigravity. Agen akan meninjaunya satu per satu:

19675c55a71b373.png

Langkah selanjutnya adalah meninjau rencana penerapan dan memberikan izin kepada agen untuk melanjutkan.

Klik rencana penerapan untuk melihat detailnya. Baca dengan cermat. Ini adalah kesempatan Anda untuk memberikan masukan terkait penerapan fitur ini. Anda dapat mengklik bagian mana pun dari rencana penerapan dan menambahkan komentar. Setelah menambahkan beberapa komentar, pastikan untuk mengirimkan perubahan yang ingin Anda lihat untuk ditinjau, terutama terkait penamaan, ID project Google Cloud, region, dll.

Setelah semuanya terlihat baik, berikan izin kepada agen untuk melanjutkan rencana penerapan dengan mengklik tombol Proceed.

4. Buat aplikasi

Setelah rencana disetujui, Antigravity akan mulai membuat file yang diperlukan untuk aplikasi, mulai dari skrip penyediaan hingga kode aplikasi.

Antigravity akan membuat folder dan mulai membuat file yang diperlukan untuk project. Dalam contoh eksekusi, kita melihat hal berikut:

4d98413e3bd17148.png

File skrip shell setup.sh atau file skrip shell dengan nama serupa akan dibuat, yang mengotomatiskan pembuatan resource. API ini menangani:

  1. Mengaktifkan API (run, pubsub, bigquery, storage).
  2. Membuat bucket Google Cloud Storage (doc-ingestion-{project-id}).
  3. Membuat set data dan tabel BigQuery (pipeline_data.processed_docs).
  4. Mengonfigurasi topik dan notifikasi Pub/Sub.

Agen harus membuat aplikasi Python (main.py) yang memproses pesan push Pub/Sub. Alat ini menggunakan logika OCR simulasi, menghasilkan jumlah kata dan tag acak, serta mempertahankan hal tersebut ke BigQuery.

Setelah skrip penyiapan ini dibuat, Antigravity akan meminta Anda untuk menjalankan skrip tersebut atas nama Anda. Contoh layar ditampilkan di bawah:

44395ab66413a64f.png

Lanjutkan dan klik Accept sesuai kebutuhan.

Skrip penyediaan akan membuat resource dan memvalidasi bahwa resource tersebut telah dibuat. Jika pemeriksaan berhasil, container akan dibangun dan di-deploy sebagai layanan (di main.py) di Cloud Run. Contoh output ditampilkan di bawah:

e0e625e218e7fe46.png

Sebagai bagian dari men-deploy layanan, layanan ini juga akan menyiapkan langganan Pub/Sub dan komponen penghubung lainnya yang diperlukan agar pipeline ini berfungsi. Semua proses ini akan memerlukan waktu beberapa menit.

Sementara itu, Anda dapat beralih ke Inbox (dari pojok kiri atas), periksa tugas Pending yang menunggu input Anda:

ddd2f49d02fad987.png

Ini adalah cara yang baik untuk memastikan bahwa Anda menyetujui tugas saat agen mencari masukan dari Anda.

5. Verifikasi aplikasi

Setelah pipeline di-deploy, Antigravity akan memverifikasi bahwa aplikasi benar-benar berfungsi. Antigravity mengotomatiskan hal ini dengan langkah-langkah verifikasi dalam daftar tugas. Contoh layar ditampilkan di bawah:

b8758b77880cc4d9.png

Tindakan ini akan membuat artefak pengujian (test.txt) dan ingin menguploadnya ke bucket Google Cloud Storage. Klik Accept untuk melanjutkan.

Jika ingin menjalankan pengujian lebih lanjut sendiri, Anda dapat mengambil petunjuk dari langkah validasi Antigravity, yang menggunakan utilitas gsutil untuk mengupload file contoh ke bucket Cloud Storage. Contoh perintah ditampilkan di bawah:

gsutil cp <some-test-doc>.txt gs://<bucket-name>/

Memeriksa hasil di BigQuery

Sebagai bagian dari proses verifikasi, alat ini juga akan memeriksa apakah data tetap ada di BigQuery.

c0f08fedf671e9bd.png

Perhatikan kueri SQL yang digunakan untuk memeriksa dokumen.

Setelah verifikasi selesai, Anda akan melihat bahwa daftar tugas telah selesai:

b55ad48a87f95eca.png

Opsional: Verifikasi manual

Meskipun Antigravity telah memverifikasi aplikasi, Anda juga dapat memeriksa secara manual di konsol Google Cloud bahwa semua resource telah dibuat, jika Anda mau, dengan mengikuti langkah-langkah berikut.

Cloud Storage

Tujuan: Verifikasi keberadaan bucket dan periksa file yang diupload.

  1. Buka Cloud Storage > Buckets.
  2. Temukan bucket bernama [PROJECT_ID]-doc-uploads.
  3. Klik nama bucket untuk menjelajahi file.
  4. Verifikasi: Anda akan melihat file yang Anda upload (misalnya, test.txt).

Pub/Sub

Tujuan: Mengonfirmasi bahwa topik ada dan memiliki langganan push.

  1. Buka Pub/Sub > Topics.
  2. Temukan doc-processing-topic.
  3. Klik ID topik.
  4. Scroll ke bawah ke tab Langganan.
  5. Verifikasi: Pastikan doc-processing-sub tercantum dengan jenis pengiriman "Push".

Cloud Run

Tujuan: Periksa status dan log layanan.

  1. Buka Cloud Run.
  2. Klik layanan doc-processor.
  3. Verifikasi:
  4. Kesehatan: Tanda centang hijau yang menunjukkan bahwa layanan aktif.
  5. Log: Klik tab Logs. Cari entri seperti "Processing file: gs://..." dan "Successfully processed...".

BigQuery

Tujuan: Memvalidasi bahwa data benar-benar disimpan.

  1. Buka BigQuery > SQL Workspace.
  2. Di panel Explorer, luaskan project > pipeline_data dataset.
  3. Klik tabel processed_docs.
  4. Klik tab Preview.
  5. Verifikasi: Anda akan melihat baris yang berisi filename, upload_date, tags, dan word_count.

Panduan

Sebagai langkah terakhir, Antigravity menghasilkan artefak panduan. Artefak ini merangkum:

  • Perubahan dilakukan.
  • Perintah verifikasi dijalankan.
  • Hasil sebenarnya (output kueri yang menampilkan metadata yang diekstrak Gemini).

Anda dapat mengklik Open untuk melihatnya. Contoh output ditampilkan di bawah:

47ecf561d0252924.png

6. Menjelajahi aplikasi

Pada tahap ini, Anda telah menyediakan dan menjalankan aplikasi dasar. Sebelum mempelajari lebih lanjut cara memperluas aplikasi ini, luangkan waktu untuk menjelajahi kode. Anda dapat beralih ke editor dengan tombol Open Editor di pojok kanan atas.

Berikut ringkasan singkat file yang mungkin Anda lihat:

  1. setup.sh: Skrip utama yang menyediakan semua resource Google Cloud dan mengaktifkan API yang diperlukan.
  2. main.py: Titik entri utama pipeline. Aplikasi Python ini membuat server web yang menerima pesan push Pub/Sub, mendownload file dari GCS, "memproses" (mensimulasikan OCR), dan melakukan streaming metadata ke BigQuery.
  3. Dockerfile: Menentukan cara mengemas aplikasi ke dalam image container.
  4. requirements.txt: Mencantumkan dependensi Python.

Anda juga dapat melihat skrip dan file teks lain yang diperlukan untuk pengujian dan verifikasi.

Pada tahap ini, Anda juga dapat beralih dari Playground ke ruang kerja/folder khusus. Anda dapat melakukannya dengan mengklik tombol yang relevan di sudut kanan atas:

278de21c89e5c726.png

Setelah Anda memilih folder, semua kode akan dipindahkan ke folder tersebut dan ruang kerja baru akan dibuat dengan folder dan histori percakapan.

7. Memperluas aplikasi

Setelah memiliki aplikasi dasar yang berfungsi, Anda dapat terus melakukan iterasi dan memperluas aplikasi. Berikut beberapa ide.

Menambahkan frontend

Buat antarmuka web sederhana untuk melihat dokumen yang diproses.

Coba perintah berikut: Create a simple Streamlit or Flask web application that connects to BigQuery. It should display a table of the processed documents (filename, upload_date, tags, word_count) and allow me to filter the results by tag

Terintegrasi dengan AI/ML sungguhan

Daripada pemrosesan OCR simulasi, gunakan model Gemini untuk mengekstrak, mengklasifikasikan, dan menerjemahkan.

  1. Ganti logika OCR dummy. Kirim gambar/PDF ke Gemini untuk mengekstrak teks dan data yang sebenarnya. Menganalisis teks yang diekstrak untuk mengklasifikasikan jenis dokumen (invoice, kontrak, resume) atau mengekstrak entity (tanggal, nama, lokasi).
  2. Mendeteksi bahasa dokumen secara otomatis dan menerjemahkannya ke dalam bahasa Inggris sebelum menyimpannya. Anda juga dapat menggunakan bahasa lain.

Meningkatkan penyimpanan & analisis

Anda dapat mengonfigurasi aturan siklus proses di bucket untuk memindahkan file lama ke penyimpanan "Coldline" atau "Archive" guna menghemat biaya.

Keandalan & Keamanan

Anda dapat membuat aplikasi lebih andal dan aman seperti:

  1. Dead Letter Queues (DLQ): Perbarui langganan Pub/Sub untuk menangani kegagalan. Jika layanan Cloud Run gagal memproses file sebanyak 5 kali, kirim pesan ke topik/bucket "Dead Letter" terpisah untuk diperiksa oleh manusia.
  2. Secret Manager: Jika aplikasi Anda memerlukan kunci API atau konfigurasi sensitif, simpan di Secret Manager dan akses dengan aman dari Cloud Run, bukan meng-hardcode string.
  3. Eventarc: Lakukan upgrade dari Pub/Sub langsung ke Eventarc untuk perutean peristiwa yang lebih fleksibel, sehingga Anda dapat memicu berdasarkan log audit yang kompleks atau peristiwa layanan GCP lainnya.

Tentu saja, Anda dapat memunculkan ide Anda sendiri dan menggunakan Antigravity untuk membantu Anda menerapkannya.

8. Kesimpulan

Anda telah berhasil membangun pipeline dokumen yang skalabel, serverless, dan didukung AI dalam hitungan menit menggunakan Google Antigravity. Anda telah mempelajari cara:

  • Merencanakan arsitektur dengan AI.
  • Beri petunjuk dan kelola Antigravity saat ia bekerja melalui pembuatan aplikasi dari pembuatan kode hingga deployment dan validasi.
  • Verifikasi deployment dan validasi dengan Panduan.

Dokumen referensi