Flociは「Any cloud. Locally. The local cloud for AI agents」のように紹介されており、開発者のノートパソコンやCIランナー上で実行されるエミュレートされたクラウドサービスを提供します。4つのプロダクト固有のエミュレータが利用可能です:floci awsはポート4566で119のサービスを提供し、floci-azはポート4577で28のサービス(Blob、Functions、Key Vault、Service Bus)を提供し、floci-gcpはポート4588で25のサービス(GCS、Pub/Sub、Firestore、Cloud Run)をカバーし、floci-ociはポート4599で8のサービス(Object Storage、Queue、Streaming、Vault)を公開しています。各エミュレータは約24msで起動し、約13MiBのメモリでアイドル状態になり、編集ループ内での迅速な起動・停止サイクルを可能にします。

AWSエミュレータ向けFloci UIコンソールのホーム画面。ランタイムステータスとアクティブなサービスグリッドを表示
AWSエミュレータ向けFloci UIコンソール。ランタイムの到達可能性、アクティブなサービス、およびCompute、Storage、SQS、EventBridgeのリソース数を表示floci.io

この記事では、floci awsがポート4566で119のサービスを提供することから始まり、4つのプロダクト固有のエミュレータについて説明している。このコンソールのスクリーンショットは、AWSエミュレータのインターフェースの様子を示しており、開発者がローカルでインフラストラクチャをテストする際に操作するサービスグリッドとランタイムステータスを表示している。

このプロジェクトは、統一されたコマンドラインインターフェースfloci-cliによって管理されています。ユーザーはcurlスクリプト、Homebrew(`brew install floci-io/floci/floci`)、Scoop(`scoop install floci`)、またはJVMフォールバック(java -jar floci.jar)からインストールできます。`floci start`でデフォルトのAWSエミュレータが起動し、`floci gcp start`、`floci az start`、または`floci oci start`でプロダクトを切り替えます。環境変数は`eval $(floci env)`でエクスポートされ、これにより馴染みのあるCLIツール(aws、az、gcloud、oci)がローカルエミュレーターを指すようになります。

Flociは故意にクレデンシャルフリーに設計されています。エージェントは使い捨てのキーで接続し、実際のクラウドシークレットはエージェントのコンテキストやサンドボックスには入りません。最悪の場合、ローカルのコンテナがリセットされるだけであり、ステージング環境やクラウド請求が発生することはありません。この『ゼロブラストレーダス』モデルにより、CIの一時的環境、ローカルファースト開発、インフラストラクチャ・アズ・コードのドライラン、学生が自分のマシンでアカウントをプロビジョニングすることなしに全スタックを実行するワークショップなどに適しています。

エミュレータはDockerコンテナ内で実際のサーバーレス関数、データベース、キャッシュサービスを実行するため、ローカルで動作するコードは本番環境でも同じように動作すると期待されます。MITライセンスの下でスポンサーシップオプションが用意されており、このプロジェクトはオープンな開発体制で進められています。