本文へ
ハクソク

世界を動かす技術を、日本語で。

Floci: 任意のクラウドサービスをローカルにエミュレートする

元記事: 原文(floci.io)

概要

Floci はAWS、Azure、GCP、OCIをローカルで高速エミュレートできるツール。 認証不要 で即利用可能、AIエージェントや開発者向けに最適化。 MITライセンス で完全無料、すべての機能が開放。 CLI/GUI で全クラウドを一元管理、SDKやTerraformとも互換。 本番同等の動作 でCI・開発・教育まで幅広く活用可能。

Flociとは何か

  • AWS、Azure、GCP、OCI 各クラウドのAPIをローカルでエミュレートするツール
    • 各クラウドごとに スタンドアロンバイナリ を提供
    • MITライセンス で完全無料
    • 認証トークンやクラウドアカウント不要
  • AWS用 floci
    • LocalStackのドロップイン代替
    • ポート4566、 119サービス 対応、 24ms で起動
    • S3、SQS、Lambda、DynamoDB、RDS、EKS等に対応
  • Azure用 floci-az
    • Blob、Queue、Table、Functions、Key Vault、Event Hubs、Service Bus等
    • ポート4577、 28サービス、 13MiB アイドルメモリ
  • GCP用 floci-gcp
    • GCS、Pub/Sub、Firestore、Cloud Run、Cloud SQL、GKE等
    • ポート4588、 25サービス
  • OCI用 floci-oci
    • Object Storage、Identity、Queue、Streaming、KMS、Vault、Functions等
    • ポート4599、 8サービス

AI支援開発への最適化

  • AIエージェント が安全にクラウドコードを実行・検証できるローカル環境
    • 認証情報不要、使い捨てキーで接続
    • 本番同等の挙動 をローカルで再現
    • 爆発半径ゼロ、最悪でもローカル環境のみリセット
  • 24msの高速起動、 13MiB の軽量アイドル
    • エージェントのテストやビルドループを高速化
  • 全SDK、CLI、Terraform/OpenTofu、テストランナー と互換
    • 特別な統合や設定不要

開発者向けツール

  • floci-cli
    • すべてのFlociエミュレータを一元管理できるコマンドラインツール
    • インストール一回でAWS、Azure、GCP、OCIをカバー
  • floci-ui
    • 全クラウドを横断してリソースを閲覧・管理できるビジュアルダッシュボード
    • S3ブラウザ、DynamoDB、SQS、Lambdaログ等をGUIで操作

Flociの特徴

  • 完全無料・MITライセンス
    • フォーク、組み込み、拡張自由
    • エンタープライズ限定機能なし
  • 認証トークン不要
    • Dockerイメージをpullして即利用可能
    • サインアップ、APIキー、テレメトリなし
  • ネイティブバイナリの高速性
    • GraalVM Mandrel でコンパイル
    • 24ms起動、13MiBアイドル、CIやローカルで快適動作
  • 本物のエンジン
    • Lambdaは本物のDockerコンテナで動作
    • RDSはPostgreSQL/MySQLの本物を使用
    • ElastiCacheは本物のRedis
    • 100%プロトコル互換 で本番と同じ挙動

主なユースケース

  • CIでのエフェメラルテスト環境
    • パイプラインごとに完全分離したクラウド環境を即時構築・破棄
  • ローカル開発
    • S3やPub/Sub、Service Bus等にオフラインで接続
    • 共有開発アカウントや認証情報の管理不要
  • Infrastructure-as-Codeのドライラン
    • TerraformやCloudFormationをまずローカルで実行
    • タイポや設計ミスを本番に反映前に検出
  • ワークショップ・オンボーディング
    • 学生や新規メンバーにリスクゼロ・コストゼロでクラウド実習

クイックスタート

  • インストール・起動コマンド例
    • curl -fsSL https://floci.io/install.sh | sh
    • floci start && eval $(floci env)
  • AWS S3の利用例
    • aws s3 mb s3://my-bucket
    • echo "Why pay for S3 when floci is free? 🎉" > hello-floci.txt
    • aws s3 cp hello-floci.txt s3://my-bucket/
    • aws s3 cp s3://my-bucket/hello-floci.txt hello-back.txt
    • cat hello-back.txt
  • 119種類のAWSサービス がポート4566で即時利用可能

まとめ

  • Floci はローカルで全主要クラウドのAPIを高速・安全・無料で再現
  • AI支援開発、CI、教育、ローカル開発 などあらゆる用途に最適
  • 認証不要・MITライセンス で、すべての開発者に開かれたクラウドエミュレータ

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

誰かこれに興味ある?でも、実際のプロダクション用でね。自分のAWSの偽環境で、CloudflareやAWSのサービスをたくさん動かしてるけど、意外と上手くいってるよ! :)

└

もっと詳しく教えてくれない? CloudflareとAWSサービスの組み合わせのユースケースについて聞いてみたいな。

これめっちゃクールだね!これはテストや開発専用なの?それとも、例えばGCPから移行するための現実的な方法でもあるの?今、いろんなサービスを使ってるGCPプロジェクトから徐々に移行できるものに興味があるんだ。例えば、DatastoreやFileStorageとか。

└

こんなもので実際のクラウドサービスから移行するのは絶対無理だよ。

これの面白いところは、AIを使ったユーザーコミュニティができることの一例だね。多くのユーザー(私も含めて)は、クラウド関連のものをローカルでテストしたいと思ってたけど、そうするためのツールがなかったんだ。Localstackはあったけど、無料プランが急に無くなったり、全機能をサポートしてなかったりした。一方で、Flociは自分のクラウド互換のテストスイートを書くのを簡単にしてくれて、その後機能を実装するのも楽だった。週末に$20プランのClaudeでいくつかの機能をカバーできるくらいのものが作れたから、自分には役立ったし、他の人もその作業を引き継いでくれた。成長していくのを見るのは本当に面白いよ。

└

StripeやTwilioみたいなものでもこれが見たいな。サンドボックスはあるけど、こっちの方がずっと簡単で早いと思う。

しばらくの間、Testcontainersを使って統合テストをやってるよ。すごく良いし、Localstackよりもずっと軽量だね。

fakecloudもこの分野の別のプロジェクトだよ、でもAWS専用ね。

└

fakecloud使ってるけど、めっちゃ簡単に使えるよ。(言った通り、AWS専用だけど)

localstackとflociは、私のアプリケーションの多くにおいて、クラウドベンダー特有のものが抽象化されている変な位置にいるんだよね。だから、クラウドに触れるのは、抽象化のテストとエンドツーエンドテストをする時だけ。抽象化は実際のクラウドAPIに対してテストできるから、一般的に安価で、最高の精度の結果が得られるんだ。エンドツーエンドテストには、プロダクションに近い環境でのテストが含まれるから、クラウドでテストするのがコストパフォーマンス的にもいいんだよね。時々これらのローカルクラウドツールを使うこともあるけど、ちゃんとしたアーキテクチャのソフトウェアでは、あまり価値を感じないことが多い。クラウドに強い依存がないか、特定のクラウド依存の高精度テストが必要な場合だけだね。

└

特定のクラウド依存の高精度テストが必要 俺も同じ結論に達したよ。それに、セットアップやメンテナンスにはかなりの労力がかかるからね。

クラウドサービスのローカルスタブは、一人でやってるときに、ウェブフックパスをテストするためだけにサプライズ請求書が来るのを避けるための救世主だよね。

Hacker Newsで議論の続きを見る