みなさんはクラウドストレージといったら何を思い浮かべますか?
Google Drive? AWS S3?
昨年の中旬、私はWasabiクラウドを契約して実際に少しずつデータを移行しています。
主にdpkgやラズパイのOSイメージを配布する際に使用しようと考えています。
そもそもクラウドストレージが必要か
私はしばしば他のプラットフォームに対してクロスコンパイルを行うことがあり、これまでもいくつか成果物があります。rpi-bullseye-ros2はその中でも大きな成果です。
rpi-bullseye-ros2 : RaspberryPi OS向けのROS2-Desktopパッケージ
このようなパッケージは一般家庭用i9などのリソースであってもコンパイルに数時間かかるため、パッケージ化して配布できることは非常に大きな意味を持ちますが、一方でバージョン管理や対応プラットフォームの拡張を考えると際限なくストレージを食い尽くしていきます。
私はこのようなパッケージについては、元々GitHubのリリースページで配布していましたが、GitHubのリリースページでは対応に限界があることや1つのファイルにつき2GBまでの制限があることが少し煩わしく感じていました。
ちょうどその頃、AIの動物園(PINTO_model_zoo)や変換ツールで有名なPINTOさんがWasabiクラウドに移行するとのことで、その手のクラウドも使ってみようと思いました。
PINTO_model_zooでは、毎日のように大量のダウンロードがあるそうで、現在のGoogleDriveではアクセス落ちが頻発していたそうです。すごい…
Wasabi Storage に課金スタート。Google Drive よりかなり楽かもしれない。
— Super PINTO (@PINTO03091) 2022年12月11日
Wasabi cloudとは
詳しくは以下URLより
Wasabi cloudは、「クラウドデータストレージのコストを削減してより高速でシンプルなサービスを提供する」ことを目的に David Friend と Jeff Flowers の 2 人によって設立されました。
Wasabiクラウドのメリット・デメリット
メリット
1. 高コスパ
Wasabiクラウドの料金には2種類あり、「Pay As You Go」(従量課金)と「Reserved Capacity Storage」(年契約)があります。
後者は100TB単位での契約となるため、個人は「Pay As You Go」の方で契約となります。
「Pay As You Go」は1TB毎に5.99ドルの課金が発生します。
6ドルは1ドル=130円であれば780円/月です。
…と言ってもよく分からないかもしれませんが、計算ツールで他のクラウドと比較すると、圧倒的に安いことがわかります。
Cloud Storage Pricing: Wasabi vs Azure, Google & AWS S3 Pricing
比較サイト(wasbiクラウド)では1TB〜1PBまでの料金シミュレーションです。1TBからはほとんど比例して金額が上昇しますが、Wasabiクラウドは他のクラウドサービスよりも1/5以下でストレージを実現します。
他のストレージとしてはGoogle Oneもありますが、こちらは2TBで1300円かつ他のサービスも利用できるので、Wasabiクラウドよりも安くなります。しかし、APIリクエスト制限がGoogle Driveにあるため、使いにくさがあります。
2. 下り料金ゼロ
サーバの送受信にはその通信量に応じて料金がかかるのが基本となりますが、Wasabiクラウドはそれがゼロです。
大きなデータを保存する際は、受信時に料金がかかるのは大きな負担になるのでありがたいところです。
また、妨害目的の意図的な大量リクエストに対して対策になります。
3. AWS S3互換
S3とは「Simple Storage Service」の略で、クラウドストレージのことです。
S3にはバケットごとに対してAPI経由のアップロード・ダウンロード・同期などの操作を行ったり、URLを公開してアクセス可能にしたりできます。
Wasabiクラウドでは、AWS S3と互換性があり、GUIでの操作感こそ異なりますが、CLI操作はURLを除いてほとんど同じ(というかaws-cliを使える!)なので、AWSの公式チュートリアルを読んでも操作できます。
また、Amazon S3が謳っている「11 nines availability」(99.999999999%の可用性)も同様に実現させています。
11 nines availability (99.999999999% availability) とは、複数リージョンに対して冗長に保存することで耐久性・可用性を確保することを保証します。1 つのオブジェクトで損失が起きる予測平均発生率は、10,000 年に 1 度とされています。
Amazon S3 Glacier ストレージクラス | AWS
デメリット
ほとんどないと言ってもいいかもしれませんが、次が挙げられるかもしれません。
1. 1TBまではコスパが悪くなる
そのため、一切使わなくても1TB分の料金がかかります。これは、使用分だけ課金されるAWSや課金の必要がないGoogle Driveと比べると良くないでしょう。
公開するデータが非常に大きくなることを見据える場合に検討すると良いでしょう。
2. 他のAPIとの結びつきが弱い
AWS S3互換ですが、結局はAWSのサービスではないため、AWSの豊富な資力と比べると物足りないかもしれません。
Wasabiクラウド資源の使い道
Wasabiクラウドは私が主催している講習会(NITKK-ROS-Team)や独自に作成したプロジェクトの環境構築コストの短縮に大いに役立つため、こちらに使用しています。
Ar-Ray-code/Installer
サポートが不十分なOSSライブラリのインストール用バイナリをdpkg形式で提供します。
現時点では OpenVINO(Raspbian)とTFLite(C++, amd64)向けに提供していますが、要望があればDiscussionsに記入してください。
できる限り対応します。
Ar-Ray-code/rpi-bullseye-ros2
このパッケージはRaspberryPi OS Bullseye向けにROS-Desktopを構築するためのパッケージです。
RaspbianでRviz2が動きます。
こちらは、dpkgでインストーラを配布したり、RaspiOSのイメージを配布する予定です。
最初はgpgキーを登録してupdateさせることでインストール可能にしていたのですが、apt-updateを行うメリットが薄いため直接ダウンロードさせることにしました。
また機会があればaptlyを使って登録したいですね…
現時点でのインストール方法です。
wget https://s3.ap-northeast-1.wasabisys.com/download-raw/dpkg/ros2-desktop/debian/bullseye/ros-humble-desktop-0.3.1_arm64.deb sudo apt install ./ros-humble-desktop-0.3.1_arm64.deb