Lewati ke konten utama

Deploy dan Operasional

Target deploy berjalan di Huawei Cloud di Jakarta dengan node aplikasi FastAPI, node inferensi GPU, pencarian vektor PostgreSQL, OBS, Redis, Kafka, Langfuse, API gateway, dan isolasi jaringan.

  • Platform cloud: Huawei Cloud
  • Wilayah / availability zone: AP-Jakarta / General AZ
  • Stack inti: Backend FastAPI, penyajian model vLLM self-hosted, pencarian vektor PostgreSQL, OBS, Redis, Kafka, dan layanan jaringan Huawei

Baseline pengadaan produksi​

Tabel berikut menyalin 14 item baris dari lembar pengadaan Kebutuhan Spesifikasi Infrastruktur Platform AI yang disediakan. Purchase adalah durasi penagihan atau kuota penggunaan; Qty adalah jumlah sumber daya pada baris item tersebut. Semua baris menargetkan AP-Jakarta / General AZ.

#Layanan / tujuanPenagihan / pembelianQtySpesifikasi yang diperlukanPenggunaan
1GPU Nvidia A100
ECS GPU — inferensi LLM
Tahunan / 1 tahun1x86; 1x NVIDIA A100 (2×40 GB VRAM, 80 GB total); 16 vCPUs; 128 GiBKapasitas pengadaan untuk penalaran, perencanaan, dan sintesis jawaban LLM melalui vLLM. Profil yang dideploy menggunakan bobot FP8 resmi dari Qwen (ADR-0049) dan paralelisme tensor 2 pada device GPU 0 dan 1; spesifikasi wajib dipertahankan sebagai baseline pengadaan.
2GPU Nvidia A30
ECS GPU — embedding, reranker, OCR
Tahunan / 1 tahun1x86; 1x NVIDIA A30 (1×24 GB VRAM); 24 vCPUs; 96 GiBMenempatkan tiga model secara bersamaan: Qwen3-Embedding-8B (pembuatan vektor), bge-reranker-v2-m3 (pemeringkatan ulang hasil), dan PaddleOCR-VL (ekstraksi dokumen pindaian).
3Elastic Volume Service 1
Penyimpanan blok GPU
Tahunan / 1 tahun4I/O ultra-tinggi; 1.000 GiB untuk GPU per volumePenyimpanan SSD yang dapat dilampirkan untuk host GPU — unduhan bobot model, pertukaran KV cache, dan ruang kerja OCR.
4Elastic Cloud Server
Server aplikasi ECS
Tahunan / 1 tahun2x86; General computing-plus c9.xlarge.4; 4 vCPUs; 16 GiB; AlmaLinux 9.4 64-bit; 40 GB General Purpose SSDMenjalankan backend FastAPI, orkestrator, dan worker ingesti di belakang load balancer. Dipasangkan (paired) untuk keperluan HA (high availability).
5CCE+ECS+EVS+OBS
PostgreSQL + vectorchord pada Percona (dikelola sendiri)
Tahunan / 1 tahun1PostgreSQL 17; Tunggal; Khusus; 8 vCPUs; 32 GB; 1.000 GB Extreme SSD; vectorchordPenyimpanan data utama: vektor dokumen/chunk, pencarian leksikal full-text, riwayat percakapan, dan log audit.
6Object Storage Service
Penyimpanan objek OBS
Bayar sesuai penggunaan / 1 tahun1Standard; 20 TB; Penyimpanan objek Single-AZ; durasi penyimpanan 12 bulanMenyimpan dokumen sumber mentah (PDF, DOCX, gambar), output ekstraksi OCR, dan artefak ingesti. Berfungsi sebagai korpus dokumen tahan lama yang mendukung index.
7DCS (untuk Redis)
Redis terkelola
Tahunan / 1 tahun1Basic; Redis 7.0; Master/Standby; x86; DRAM; 4 GBCache sesi, pembatasan laju API, kunci ingesti terdistribusi, dan pelacakan lag consumer Kafka. Master/Standby untuk failover.
8DMS (untuk Kafka)
Kafka terkelola
Tahunan / 1 tahun1kafka.2u4g.cluster.small; 3 broker; I/O ultra-tinggi; 600 GB total, 200 GB per brokerPipeline ingesti async: distribusi event dokumen, antrean penulisan chunk, dan retry/backpressure untuk worker ingesti.
9Reverse ProxyTahunan / 1 tahun1s7n.large.2; 2 vCPUs; 4 GiB; I/O tinggi; 40 GBMenyediakan lapisan reverse proxy produksi di depan ingress aplikasi.
10NAT GatewayTahunan / 1 tahun1KecilAkses internet keluar untuk layanan subnet privat — unduhan bobot model, pengiriman webhook, dan pembaruan dependensi.
11Web Application FirewallBayar sesuai penggunaan / 8.766 jam110amounts; 1PCS; 200Million timesMelindungi endpoint API publik dari serangan OWASP-top-10, lalu lintas bot, dan penyalahgunaan volume.
12Elastic IPBayar sesuai penggunaan / 8.766 jam2Dedicated Dynamic BGP; lalu lintas 15 TB per IPIP publik statis untuk NAT gateway, APIG, ELB, dan endpoint egress WAF.
13Log Tank ServiceTahunan / 1 tahun15 GB/hari; retensi 30 hariRetensi terpusat untuk log layanan dan infrastruktur produksi.
14Cloud BackupTahunan / 1 tahun41.000 GB per sumber daya backupKapasitas cadangan untuk data dan volume layanan produksi.

Pemetaan arsitektur dan gerbang konfirmasi​

Baseline pengadaan dan arsitektur aplikasi saling terkait, tetapi tidak dapat saling menggantikan. Selesaikan item-item berikut sebelum penerimaan produksi:

Redaksi pengadaan di atas menetapkan kapasitas A100, bukan topologi device yang dideploy. Profil penyajian produksi menjalankan Qwen3.8-27B dari checkpoint FP8 resmi (Qwen/Qwen3.8-27B-FP8, hanya bobot pada A100; ADR-0049) dengan paralelisme tensor 2 pada device GPU 0 dan 1 (lihat docker-compose.models.prod.inference.yml dan docs/deployment/model-serving-prod.md).

  • Basis data produksi adalah PostgreSQL 17 yang dikelola sendiri dengan vectorchord pada Percona pada komponen komputasi dan penyimpanan CCE+ECS+EVS+OBS; spesifikasi pengadaan adalah Tunggal, Khusus, dengan 8 vCPUs, 32 GB, dan 1.000 GB Extreme SSD.
  • Empat volume EVS menyediakan total kapasitas 4.000 GiB yang terpasang pada GPU, jika setiap persyaratan 1.000 GiB dialokasikan sebagaimana tertulis.

Jejak Staging (historis — staging sudah dihapus)​

Historis. Host review-staging sudah dihapus (audit produksi firstmate 2026-10-07). Produksi melayani ref 2cc9a417 di apps-0002 dengan frontend di https://rag-aceh-neo.reviewstagepro.com. Uraian di bawah menggambarkan box staging lama, bukan kondisi saat ini.

Lingkungan staging review saat ini adalah stack single-host sebagaimana dibangun, bukan topologi layanan terkelola produksi. Satu host GPU A30 menjalankan API, worker, layanan model, PostgreSQL/pgvector, MinIO, Redis, Kafka, dan Langfuse dalam container.

Lingkungan ini memvalidasi pipeline AI lengkap:

LLM → embedding → vector search → rerank → OCR

Lingkungan ini ditujukan untuk dataset sampel dan validasi fungsional, bukan untuk ketersediaan atau konkurensi produksi.

#KomponenDeploy staging saat iniPerbedaan dari produksi
1Host GPU ECSA30 24 GB; semua container staging berjalan di host iniProduksi memisahkan tier aplikasi dan GPU
2API dan workerFastAPI dan worker ingesti; API terikat ke loopback :8000Produksi menggunakan dua node aplikasi di belakang ELB/APIG
3Layanan AIQwen3-14B, BGE-M3, bge-reranker-v2-m3, dan PaddleOCR-VLProduksi menggunakan alokasi model produksi yang disetujui
4PostgreSQL + pgvectorContainer di hostProduksi menggunakan PostgreSQL 17 yang dikelola sendiri dengan vectorchord pada Percona pada komponen komputasi dan penyimpanan CCE+ECS+EVS+OBS
5Penyimpanan objekMinIO di hostProduksi menggunakan OBS
6RedisContainer di hostProduksi menggunakan DCS Redis HA
7KafkaContainer di hostProduksi menggunakan DMS Kafka
8ObservabilitasStack Langfuse di hostProduksi mengisolasi dan mengukur layanan observabilitas
9Ingress HTTPSCaddy pada :443 publik, meneruskan ke loopback :8000Produksi menggunakan APIG dan ELB

Ingress HTTPS Staging (historis — sudah dihapus)​

API review dapat diakses di: (host sudah dihapus — audit produksi firstmate 2026-10-07; API produksi di https://rag-aceh-ai-eng-neo.reviewstagepro.com; frontend dan Studio di https://rag-aceh-neo.reviewstagepro.com)

https://rag-aceh-ai-eng.reviewstagepro.com

Ingress mengakhiri (terminate) TLS dan meneruskan permintaan ke layanan FastAPI yang hanya dapat diakses melalui loopback. Port 80, API internal :8000, port model :8001–:8004, dan semua port layanan data tetap tertutup secara eksternal.

Setiap rute data masih memerlukan X-API-Key. /healthz, /readyz, /openapi.json, dan UI non-produksi /docs tetap tidak terotentikasi untuk discovery dan probe orkestrasi. Aplikasi browser harus menggunakan BFF atau gateway dan tidak boleh menerima kunci bersama.

Staging tidak menggunakan ELB atau APIG. Ini dapat diterima untuk lalu lintas review, tetapi menciptakan batas kegagalan single-host dan belum menyediakan pembatasan laju gateway. Topologi produksi di atas tetap menjadi target.

Alokasi GPU Staging​

KomponenProfil penyajianAnggaran proses
Qwen3-14B-AWQ LLMINT4, vLLM, konteks 4k~12 GB
Embedding BGE-M3FP16, TEI~2,8 GB
bge-reranker-v2-m3FP16, Infinity~1,5 GB
PaddleOCR-VLBF16/FP16, backend vLLM~3 GB
Konteks CUDAEmpat proses GPU~1,5 GB
Total digunakanProfil staging single-stream~18,8 / 24 GB

GPU adalah dependensi staging yang paling kritis. Tanpa itu, tim tidak dapat memvalidasi inferensi LLM, embedding, reranking, atau OCR di bawah arsitektur yang di-deploy.

Jebakan operasional​

  • Teks OCR yang buruk harus disaring (gating) terlebih dahulu sebelum embedding untuk menghindari keracunan pencarian.
  • Drift versi model OCR membuat skor confidence tidak dapat dibandingkan, kecuali versi dan kalibrasi dilakukan ulang.
  • Penulisan vektor secara bersamaan (konkuren) memerlukan serialisasi atau keamanan transaksional.
  • Overflow context window harus gagal atau memotong secara eksplisit, tidak boleh memotong secara diam-diam.
  • Dokumen merupakan input yang tidak tepercaya, sehingga kebersihan prompt dan pengaman kebijakan (policy guard) bersifat wajib.