JavaScriptランタイム「Bun」がAmazon S3クライアント機能を搭載
オープンソースで開発されているJavaScriptランタイム「Bun」のバージョン1.1.43に、Amazon S3のクライアント機能が搭載されることが発表されています(記事公開時点ですでに1.1.43はリリース済み)。
これによりBunで実行されるアプリケーションからAmazon S3に対してデータのアップロードやダウンロードを行う機能が簡単に実装できるようになります。
In the next version of Bun
— Bun (@bunjavascript) December 29, 2024
Bun gets first-class support for S3. Upload, download, stream, and presign with 0 dependencies pic.twitter.com/PR6OqdARoP
Bunの開発者であるJarred Sumner氏はブログで「Amazon S3はECMAScript 6よりも10年も前からデファクトスタンダードになっている」と指摘。「POSIXファイルシステムAPIは、インターネット時代のために設計されたものではない」として、Amazon S3へのアクセス機能をBunに実装した理由を説明しています。
下記はそのブログの一部の引用です。
Modern user-facing production servers frequently choose to store files in S3-like object storage services instead of the local POSIX filesystem. Decoupling storage capacity from compute capacity prevents an entire class of production reliability issues: low disk space, high p95 response times related to file system i/o, security issues related to persistent storage.
ユーザー向けのモダンな本番サーバにおいては、ローカルなPOSIXファイルシステムに代わってAmazon S3ライクなファイルストレージが選択されることがよくある。
ストレージ容量をコンピュータが備える容量から切り離すことでストレージ容量の不足やファイルシステムのI/Oによる95パーセンタイルにおけるレスポンスタイム、永続的ストレージに関連するストレージの問題などの本番環境における問題も切り離せる。
BunのAmazon S3クライアント機能はAmazon S3だけでなく、Amazon S3互換のGoogle Cloud Storage、Cloudflare R2、Backblaze B2、DigitalOcean Spacesなどを始めとするサービスでも利用可能とのことです。