Decision matrix emulator AWS: floci (MIT, tercepat, 47 service) vs LocalStack paid vs MiniStack (60+ service, real DB containers) vs Moto (library Python) vs AWS SAM CLI — plus limitations jujur Floci dan mitigasinya, ditutup latihan menulis ADR pemilihan

Setelah 24 episode bersama Floci, adil juga kita melebar: kapan Floci bukan pilihan tepat? Ekosistem emulator lokal punya beberapa pemain dengan filosofi berbeda, dan engineer dewasa memilih berdasarkan konteks — bukan hype.
Episode ini menyusun decision matrix yang bisa langsung dipakai tim kalian, mengakui limitasi Floci secara terbuka, dan menutup dengan latihan menulis ADR (Architecture Decision Record).
| Tool | Lisensi/Biaya | Kekuatan | Titik Lemah | Paling Cocok |
|---|---|---|---|---|
| floci | MIT, gratis | Tercepat (24 ms), ringan, no-token, ±47 service | Muda (Feb 2026), docs berkembang, conformance gaps | CI speed-critical & open-source projects |
| LocalStack (paid) | Dari $39/mo+ | Coverage luas matang, support komersial, fitur pro (pods, IAM enforcement) | Berbayar, butuh token/auth | Enterprise dengan SLA & fitur pro |
| MiniStack | Open-source | ~60+ service; real Postgres/MySQL/Redis containers — DB fidelity tertinggi | Lebih berat dari floci | Tim yang stack-nya didominasi database |
| Moto | Open-source | Library Python in-process — tanpa Docker sama sekali | Hanya dunia Python; bukan server umum | Unit test granular di codebase Python |
| AWS SAM CLI | Resmi AWS | Parity runtime Lambda resmi | Serverless only, bukan emulator layanan umum | Project SAM/serverless murni |
Tiga pertanyaan penyaring:
Bukan zero-sum: banyak organisasi memakai floci untuk CI harian + LocalStack paid untuk skenario parity kompleks, atau floci + MiniStack sekaligus (masing-masing untuk layer beda).
Series ini tidak akan lengkap tanpa daftar kelemahan eksplisit:
1. Proyek muda - rilis publik Feb 2026; API internal & docs masih berkembang cepat
2. Conformance gaps pada layanan kompleks (terutama operasi lanjutan DynamoDB)
3. BUKAN jaminan parity penuh AWS - perilaku edge case bisa beda
4. IAM enforcement longgar by design - policy tak dipaksakan runtime
5. Coverage ±47 service < LocalStack paid / MiniStack (60+)Untuk setiap limitasi ada pola penanggulangan yang sudah kita bangun sepanjang series:
Target outline: tulis ADR pemilihan emulator untuk skenario tim given.
# ADR 0007: Emulator AWS Lokal untuk Pipeline Integration Test
## Status
Accepted (2026-08-22)
## Konteks
Tim backend (12 dev, stack Python+Go) menjalankan integration suite
~40x/hari di GitHub Actions. Sunset LocalStack Community (Mar 2026).
Layanan inti: S3, DynamoDB (query/GSI/batch), SQS FIFO+DLQ, SNS,
Lambda python/node, Step Functions sederhana.
## Pilihan yang Dipertimbangkan
floci | LocalStack Team paid | MiniStack | status quo (AWS sandbox)
## Keputusan
floci sebagai primary emulator; sandbox AWS utk smoke gate mingguan.
## Alasan
- Startup 24ms & image 90MB memangkas ~4 menit/job x ~800 job/bln
- Semua layanan inti tercakup FULL/PARTIAL (audit ep.14: 96% probe OK)
- Tanpa token -> CI tetap bekerja offline & tanpa secret tambahan
- Biaya nol vs $39+/bln per seat
## Konsekuensi Positif
Feedback loop CI lebih cepat; tidak ada dependency vendor.
## Konsekuensi Negatif / Risiko Mitigasi
- Conformance gap DynamoDB transaksi -> contract tests + sandbox mingguan
- Proyek muda -> image pinned 1.5.15, upgrade via PR + re-run suiteStruktur ADR di atas adalah format standar industri (status/konteks/keputusan/konsekuensi). Latihannya: ganti konteks dengan kondisi tim kalian sendiri — jumlah dev, bahasa, layanan dipakai, volume CI — lalu lihat apakah kesimpulan masih sama. Sering kali ia bergeser (mis. database-heavy → MiniStack masuk).
Tip
Simpan hasil audit coverage (episode 14) sebagai lampiran ADR — angka probe konkret jauh lebih meyakinkan dalam review daripada opini.
Rangkuman episode ini:
Episode 26 melihat ke depan: ekosistem & tren modern 2026 — ledakan emulator pasca-sunset, diskursus sustainability open-source, dan posisi Floci di dalamnya. Sampai jumpa!