このブログの管理はGitHub
でしており、マークダウンはもとより、画像もすべてgitで管理しています。しかし、画像などのバイナリファイルをgitで管理していると問題になるのが容量です。
GitHub
も理想は1GB未満を推奨しています。
リポジトリは小さく保ち、理想としては 1GB 未満、および 5GB 未満にすることを強くお勧めします。 リポジトリが小さいほど、クローン作成が速く、操作やメンテナンスが簡単になります。 リポジトリ内の個々のファイルは、100 MB の最大サイズ制限に厳密に制限されています。 詳細は「大きなファイルを使って作業する」を参照してください。
なのでバイナリファイル多く使うブログ系のメディアやコンテンツサイトの運用を考えると画像などはS3などのストレージサービスを活用し、Gitはリンクのみを参照するという方式が理想でしょう。
しかし、それだと結構面倒ですよね。画像もまとめて管理したいんじゃー。そうなるとGit LFS
などを採用する必要がありました。しかし、これもこれで面倒そうです。
もっと簡単に管理する方法はないのか、と調べた結果、候補に上がったのがaws
のCodeCommit
です。
なんといっても高可用性と耐久性の点では非常に優れています。
AWS CodeCommit は、お客様のリポジトリを Amazon S3 と Amazon DynamoDB に保存します。 暗号化されたデータは、複数の施設にわたって、冗長性を確保して保存されます。このアーキテクチャによって、リポジトリデータの可用性と耐久性が高められています。
CodeCommit
自体も
CodeCommit を使用して、コードからバイナリまで何でも保存できます。
と言っているだけあって、本当なんでもコミットできます。仕組み的にはS3も使ってるみたいなので、バイナリデータ系はS3を使っていろいろうまいことやってくれているのでしょう(知らんけど)。
CodeCommitはGitHubと違いIssue
管理などができないのがデメリットですけど、バイナリデータをまとめて管理できるというのはかなりいいのではないでしょうか。
バイナリデータの扱いに困っている人はぜひCodeCommitも候補にあげてみてはいかがでしょうか。