18 poin oleh GN⁺ 29 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • Floci adalah emulator AWS lokal gratis dan open source yang bisa langsung dijalankan tanpa pendaftaran akun atau autentikasi, dengan arsitektur ringan yang berjalan lewat satu perintah
  • Sebagai alternatif tanpa batasan untuk menghadapi penghentian layanan pada 2026 dari LocalStack Community Edition, Floci dirilis dengan lisensi MIT sehingga penggunaan komersial juga diperbolehkan
  • Dengan waktu startup 24 ms, memori 13 MiB, dan ukuran image 90 MB, Floci sangat ringan, serta menunjukkan kecepatan 100 kali lebih cepat dan penggunaan memori 10 kali lebih sedikit dibanding LocalStack
  • Mendukung penuh lebih dari 20 layanan AWS, serta memiliki kompatibilitas tinggi dengan lulus 408 pengujian SDK
  • Bisa langsung diintegrasikan hanya dengan mengubah endpoint pada AWS SDK yang sudah ada, sehingga menjadi solusi pengganti yang siap dipakai segera untuk lingkungan pengembangan dan pengujian lokal

Ikhtisar Floci

  • Floci adalah emulator AWS lokal gratis dan open source yang bisa langsung dijalankan tanpa pendaftaran akun atau token autentikasi
  • Dapat dijalankan hanya dengan perintah docker compose up, dan tidak memiliki batasan CI/CD maupun penguncian fitur
  • Namanya berasal dari cirrocumulus floccus, bentuk awan, dan mengusung prinsip “ringan, mulus, dan selalu gratis”

Posisi sebagai alternatif LocalStack

  • LocalStack Community Edition dijadwalkan berhenti beroperasi pada Maret 2026, setelah itu akan memerlukan token autentikasi, menghentikan dukungan CI, dan menghentikan pembaruan keamanan
  • Floci dihadirkan sebagai alternatif tanpa batasan untuk situasi tersebut
  • Didistribusikan dengan lisensi MIT, sehingga bebas digunakan termasuk untuk penggunaan komersial

Perbandingan performa dan fitur

  • Sangat ringan dengan waktu startup sekitar 24 ms, memori idle 13 MiB, dan ukuran image Docker 90 MB
  • Dibanding versi komunitas LocalStack, memiliki kecepatan startup sekitar 100 kali lebih cepat dan penggunaan memori lebih dari 10 kali lebih sedikit
  • Mendukung lebih dari 20 layanan AWS dan lulus 408/408 pengujian SDK
  • Layanan utama yang didukung:
    • API Gateway v2 / HTTP API**,** Cognito**,** ElastiCache (Redis + autentikasi IAM)

    • RDS (PostgreSQL, MySQL, autentikasi IAM), S3 Object Lock (COMPLIANCE / GOVERNANCE)

      • DynamoDB Streams, IAM, STS, Kinesis, KMS dan lainnya didukung penuh
      • Di LocalStack, fitur-fitur di atas hanya didukung sebagian atau belum didukung

Mulai cepat

  • Menyediakan contoh konfigurasi dasar docker-compose.yml
    • Menggunakan port 4566, dengan mount direktori lokal ./data
  • Perintah untuk menjalankan:
    docker compose up
    
  • Semua layanan dapat diakses di http://localhost:4566
  • Kredensial AWS dapat memakai nilai sembarang (AWS_ACCESS_KEY_ID=test, AWS_SECRET_ACCESS_KEY=test)
  • Contoh perintah:
    • aws s3 mb s3://my-bucket
    • aws sqs create-queue --queue-name my-queue
    • aws dynamodb list-tables

Integrasi SDK

  • Dapat digunakan apa adanya hanya dengan mengubah endpoint pada AWS SDK yang sudah ada
  • Contoh untuk bahasa utama:
  • Pada semua contoh, region menggunakan us-east-1 dan kredensial memakai nilai "test"

Tag image

  • latest: image native, direkomendasikan dengan startup di bawah 1 detik
  • latest-jvm: image berbasis JVM yang mengutamakan kompatibilitas platform
  • x.y.z / x.y.z-jvm: rilis dengan versi tetap

Konfigurasi lingkungan

  • Semua pengaturan dapat dioverride dengan variabel lingkungan berawalan FLOCI_
  • Variabel utama:
    • QUARKUS_HTTP_PORT: default 4566
    • FLOCI_DEFAULT_REGION: default us-east-1
    • FLOCI_DEFAULT_ACCOUNT_ID: default 000000000000
    • FLOCI_STORAGE_MODE: pilih dari memory, persistent, hybrid, wal (default hybrid)
    • FLOCI_STORAGE_PERSISTENT_PATH: path direktori data (./data)
  • Dokumentasi konfigurasi lengkap: configuration docs
  • Pengaturan storage per layanan: storage docs

Lisensi

  • Disediakan dengan lisensi MIT, sehingga bebas digunakan dan dimodifikasi tanpa batasan

1 komentar

 
GN⁺ 29 hari lalu
Komentar Hacker News
  • Akan bagus kalau penyedia cloud seperti AWS, GCP, dan Azure secara resmi menyediakan emulator untuk pengembangan lokal
    Saat ini saya memakai berbagai serverless stack AWS, dan integration test lokal hampir mustahil dilakukan
    Localstack memang alternatif yang lumayan, tetapi kalau fitur seperti ini disediakan langsung oleh AWS, pengalaman pengembang akan jauh lebih baik

    • Emulator lokal resmi memang terdengar bagus, tetapi dalam praktiknya AWS harus menjelaskan satu per satu perbedaan perilaku pada S3, IAM, Kinesis, dan lainnya
      Orang-orang akan mengira perbedaan itu sebagai bug AWS, jadi dari sudut pandang AWS ini akan menjadi mimpi buruk dukungan
    • Saya sempat melihat proyek local-web-services buatan engineer AWS, dan fiturnya cukup mirip
      Menarik juga melihat Localstack mendapat persaingan berkat tren shift-left infrastructure tooling berbasis AI
    • Dulu Microsoft pernah menyediakan sandbox single-node bernama Azure Service Dev Kit (ASDK)
      Sekarang sudah diperkecil, tetapi konsepnya adalah meniru seluruh cloud Azure secara lokal
    • Saya sama sekali tidak setuju dengan pendapat ini
      Perangkat lunak seharusnya dirancang dengan fokus pada abstraksi dan interface, agar tidak bergantung pada API cloud tertentu
    • Cloudflare menyediakan emulator lokal untuk platform serverless mereka, dan hasilnya cukup bagus
  • Alat seperti ini bagi saya terlihat sebagai upaya yang sia-sia
    Untuk unit test, lebih baik melakukan mocking pada panggilan AWS,
    dan untuk pengembangan lokal, lebih aman benar-benar melakukan provisioning environment uji dengan alat IaC seperti Terraform
    Jika perilaku emulator berbeda dari layanan asli, ada risiko bug bocor ke production

    • Selain itu, bisa juga terjadi fenomena kebalikan di mana kode yang tidak berjalan baik secara lokal justru berjalan baik di AWS sungguhan
  • Saya merangkum pengalaman dan pemikiran saya tentang konsep “AWS lokal”

    • Saya rasa produk seperti ini tidak akan banyak membantu mendatangkan pengguna baru
      Orang yang bahkan enggan mendaftarkan kartu kredit pada akhirnya juga tidak akan menjadi pelanggan bernilai tinggi
    • Free tier AWS cukup murah hati. Saya sendiri bahkan tidak menghabiskan 10 dolar setahun
    • Untuk belajar AWS, kita perlu mengalami langsung realitas pengendalian biaya. Lebih baik kena biaya 5 dolar di awal daripada kehilangan 5.000 dolar nanti
    • Keunggulan nyata cloud lokal adalah memungkinkan iterasi pengembangan cepat tanpa beban keamanan
      Namun saat deployment sungguhan, utang keamanan ini tetap harus diselesaikan, dan dalam prosesnya kode yang “berjalan baik di komputer saya” sering kali rusak
    • Localstack punya dukungan tidak resmi dari AWS, sehingga fiturnya kaya dan kecepatan rilisnya tinggi
      Alternatif FOSS akan sulit mengejar level itu
    • Alasan saya membutuhkan alat seperti ini justru karena emulasi permission IAM
      Untuk mengikuti prinsip least privilege, kita harus membuka permission satu per satu, dan ini lambat seperti permainan whack-a-mole permission
      Jika IAM bisa ditiru dengan akurat secara lokal, siklus deployment bisa dipersingkat secara signifikan
      Fitur ini ada di versi berbayar Localstack, jadi saya penasaran seberapa baik implementasinya di proyek baru ini
    • Di lingkungan CI/CD, Localstack nyaris wajib
      Kita harus menjalankan ratusan integration test dengan cepat, sedangkan panggilan AWS sungguhan tidak efisien karena latensi, masalah konsistensi, biaya, dan rate limit
      Memberi akun AWS ke tiap developer juga merupakan mimpi buruk administrasi
      Ungkapan “orang baru belajar setelah kena tagihan AWS yang meledak” terasa seperti analogi yang tidak realistis, mirip berkata “untuk belajar tentang api, kamu harus terbakar dulu”
    • Tujuan utama emulator lokal adalah unit test dan sebagian integration test
      Jika tiap developer diberi akun terpisah dan hanya dipasang billing alert, masalah keamanan tidak terlalu besar
  • Saya penasaran apa bedanya proyek ini dengan moto
    Banyak yang tidak suka perubahan lisensi Localstack, tetapi alternatif bagus sebenarnya sudah ada
    cakupan layanan moto cukup mengesankan
    Tim kami pun hampir pindah, tetapi tetap bertahan karena kontrak dukungan enterprise dari Localstack

  • Kelihatannya cukup berguna untuk pengujian
    Saya sedang membuat otomatisasi packaging Lambda dengan Ansible role,
    dan akan jauh lebih nyaman jika saya bisa melakukan mocking pada bagian yang memeriksa apakah zip yang ada sudah tersimpan di S3

  • Community Edition LocalStack akan berakhir pada Maret 2026, dan akan ada kewajiban token autentikasi serta penghentian pembaruan keamanan
    Floci diperkenalkan sebagai alternatif tanpa batasan tersebut

    • Sayang memang melihatnya ditutup setelah sekian lama, tetapi lisensi enterprise yang kami pakai di kantor benar-benar luar biasa
      Itu menghemat ribuan jam karena menciptakan loop umpan balik cepat tanpa perlu menunggu deployment CloudFormation
      Kami bahkan bisa melakukan pengujian di dalam kereta tanpa koneksi internet
  • Nama proyek ini lucu karena dalam bahasa Rumania artinya “gumpalan bulu kecil”, dan dalam bahasa slang berarti rambut kemaluan

    • Dalam bahasa Latin artinya “gumpalan wol”, dan juga dipakai dalam ungkapan flocci non facio yang berarti “tidak berharga”
  • Ini proyek yang saya tunggu-tunggu
    Saya suka Localstack, tetapi saya selalu merasa solusi terbuka yang dipimpin komunitas jauh lebih cocok
    Jika ada struktur yang memungkinkan engineer AWS ikut berkontribusi langsung, itu akan menguntungkan semua pihak
    Di saat adopsi AI makin cepat seperti sekarang, integration test lokal adalah kebutuhan mutlak

    • Tapi dari sudut pandang AWS, tidak ada alasan untuk mendukung clone FOSS
      Sebagai gantinya, akan lebih realistis jika mereka secara resmi menyediakan versi container lokal
    • Sangat setuju. Terutama sekarang saat agent workflow benar-benar mengubah state,
      pengujian lokal adalah satu-satunya cara aman untuk bereksperimen dengan situasi seperti “halusinasi model yang menghapus tabel”
  • Saya pernah memakai Localstack dan hasilnya cukup bagus
    Adakah yang tahu apakah ada yang mirip untuk GCP?
    bigquery-emulator berguna,
    tetapi saya belum menemukan yang bisa mengemulasikan seluruh GCP

  • Fiturnya memang terlihat keren, tetapi riwayat commit hampir tidak ada, juga tidak ada PR atau issue
    Proyek ini terlihat seperti hasil generasi otomatis, jadi terasa sulit dipercaya
    Saya tidak yakin apakah aman dipakai untuk menguji data nyata

    • Saya juga setuju. Kalau ini proyek OSS, seharusnya ada cukup banyak issue agar kita bisa menemukan titik kontribusi
      Karena masih sangat awal, saya akan terus memantaunya
    • Mungkin saja ini proyek vibe-coded
    • Rasanya berlebihan menaruh kecurigaan seperti itu pada proyek yang baru berumur seminggu
      Dulu saya percaya kalau open source berarti seseorang pasti akan menemukan masalah keamanan,
      tetapi sekarang kita juga bisa menjalankan audit keamanan dengan LLM
      Memang tidak sempurna, tetapi audit otomatis seperti ini membuat malware lebih sulit disembunyikan