Peta coverage ±47 layanan AWS di Floci — dari S3, DynamoDB, Lambda, API Gateway v1/v2, SQS, SNS, EC2, ECS, RDS, Cognito, MSK, Athena sampai Step Functions & EventBridge — cara membaca matrix resmi dan mengetes fitur niche sendiri

Sebelas episode terakhir kita menyelami layanan inti. Sekarang pertanyaan yang wajar: seberapa luas sebenarnya dukungan Floci, dan bagaimana kalian tahu layanan eksotis di stack tim (MSK? Athena? EC2?) sudah aman dipakai?
Episode ini adalah peta medan: cakupan ±47 service, cara membaca matriks dukungan resmi dengan benar, dan metode mandiri mengetes fitur niche sebelum tim mengandalkannya.
Rilis publik awal Floci membawa 20+ service dengan 408/408 SDK tests passing; perjalanan menuju v1.5.x memperluasnya ke sekitar ±47 layanan. Kelompok besarnya:
| Kelompok | Layanan | Kedalaman Emulasi |
|---|---|---|
| Storage & DB | S3, DynamoDB | Sangat dalam (ep.4–5) |
| Compute serverless | Lambda, API GW v1/v2 | Sangat dalam (ep.7–8) |
| Messaging | SQS, SNS, EventBridge | Dalam (ep.6, 13) |
| Identitas | IAM, STS, Cognito, KMS | Dalam, policy longgar (ep.9–11) |
| Container/stateful | ECS, RDS, ElastiCache, EC2 | Real containers (ep.12) |
| Orkestrasi | Step Functions | Dalam (ep.13) |
| Data/analitik | MSK, Athena, dll. | Dasar–menengah |
MSK (managed Kafka) dan Athena termasuk kelompok yang emulasinya lebih muda: cocok untuk smoke test struktur API, namun perilaku lanjutan (kafka semantics penuh, query engine Athena) harus diverifikasi kasus per kasus.
Note
Angka "47 service" bukan janji kesetaraan fitur per service. Ada gradasi dari "production-grade parity" sampai "endpoint ada, subset operasi". Matrix + tes sendiri adalah satu-satunya kebenaran.
Matriks di repo/situs resmi floci umumnya membedakan level:
FULL -> operasi inti + banyak edge case, aman untuk CI harian
PARTIAL -> operasi utama jalan, fitur tertentu belum - cek daftar gap
BASIC -> endpoint ada, subset kecil operasi - hanya untuk demo/smokeCara membacanya yang benar:
PutBucketLifecycle didukung.Karena dokumentasi tak selalu setara kecepatan rilisnya, kemampuan mengetes sendiri adalah skill inti pengguna emulator:
1. Tulis skrip CLI/SDK minimal yang MEMANGGIL operasi target
2. Jalankan ke floci -> catat sukses/gagal + bentuk response
3. Jalankan skrip sama ke sandbox AWS -> bandingkan response
4. Simpan sebagai contract test permanen (CI menjalankan kedua mode)Contoh probe 30 detik untuk operasi niche S3:
export AWS_ENDPOINT_URL=http://localhost:4566
cat > lifecycle.json <<'EOF'
{"Rules":[{"ID":"expire-tmp","Status":"Enabled",
"Filter":{"Prefix":"tmp/"},"Expiration":{"Days":7}}]}
EOF
aws s3api put-bucket-lifecycle-configuration \
--bucket app-assets --lifecycle-configuration file://lifecycle.json \
&& echo "didukung" || echo "belum didukung / beda perilaku"Target outline: audit service yang dipakai tim + tulis laporan gap.
# Audit Floci - Stack Tim X (tanggal, versi image floci)
| Service | Operasi Dipakai | Level Matrix | Hasil Probe | Keputusan |
|-----------|----------------------------|--------------|-------------|-----------|
| S3 | cp/ls/presign | FULL | OK | lokal CI |
| DynamoDB | query/GSI/batch | PARTIAL | transaksi ? | contract test |
| SQS | fifo/redrive | FULL | OK | lokal CI |
| MSK | create-cluster | BASIC | partial | sandbox saja |
# Kesimpulan: X% traffic test bisa pindah lokal; daftar operasi wajib sandboxIsi tabel ini untuk project nyata kalian: mulai dari IaC/app code, ekstrak semua operasi AWS yang benar-benar dipanggil (grep endpoint usage di codebase), probe satu per satu, putuskan lokal vs sandbox. Dokumen ini menjadi ADR hidup — dan bahan langsung episode 25.
Rangkuman episode ini:
Episode 15 masuk materi infrastruktur internal: storage configuration — memory, hybrid, WAL, persistent — dan trade-off kecepatan vs durability antar restart, lengkap dengan benchmark ketiga mode. Sampai jumpa!