【AWS, GCP, Azure, OracleCloud, Firebase】無料で使えるクラウドのサーバリソースまとめ【2020年1月版】

「個人開発をする上でクラウドを使ってみたい」でも、どこを選定したら良いのか迷いますよね。
そこで2020年1月現在の無料で使えるクラウドのサーバリソースをまとめてみました。

# ずっと無料

## コンピューティング

### IaaS
| Platform | Service | 無料枠 | 
|----------|---------|-------|
| GCP  | Compute Engine | f-micro/月 (HDD:30GB, RAM:0.6GB)  |
| Oracle | Compute | (OCPU:1/8, RAM:1GB) * 2 |

### PaaS
| Platform | Service | 無料枠 | 
|----------|---------|-------|
| GCP | App Engine | 28インスタンス時間/日 (Storage:5GB) |
| Azure | App Service | 10 Apps (Storage:1GB, RAM:1GB) |

### FaaS
| Platform | Service | 無料枠 | 無料枠を超えた分 |
|----------|---------|-------|-------|
| AWS  | Lambda      | 100万 req/月 | $0.2/100万 req |
| GCP  | Cloud Functions | 200万 req/月 | $0.4/100万 req |
| Azure | Functions | 100万 req/月 | ¥22.4/100万 req |
| Firebase | Cloud Functions | 12.5万 req/月 |

### ホスティング
| Platform | Service | 無料枠 | 
|----------|---------|-------|
| Firebase | Hosting | 1GB (転送:10GB/月) |


## データベース

| Platform | Service | 無料枠 | 
|----------|---------|-------|
| AWS   | DynamoDB(NoSQL) | 25GB |
| GCP | Firestore(NoSQL) | 1GB |
| Oracle | Database(自律型トランザクション処理) | (OCPU:1, Storage:20GB) * 2 | 
| Firebase | Realtime Database(NoSQL) | 1GB (複数のDB不可) |

## ストレージ
| Platform | Service | 無料枠 | 
|----------|---------|-------|
| AWS   | Glacier(Archive) | 10GB(データの取り出しはStandard) |
| GCP | Cloud Storage | 5GB (Regional Storage, 北バージニア [us-east4] を除く米国リージョンのみ) |
| Oracle | Storage(Infrastructure Block volume) | 2つ (合計100GB) |
| Oracle | Storage(Object) | 10GB |
| Oracle | Storage(Archive) | 10GB |
| Firebase | Storage | 5GB |

# 最初の12ヶ月間無料

## コンピューティング

| Platform | Service | 無料枠 | 
|----------|---------|-------|
| AWS   | EC2 | 750時間/月 |
| Azure | Linux VMs | 750時間/月(B1S VM) |
| Azure | Windows VMs | 750時間/月(B1S VM) |

## データベース
| Platform | Service | 無料枠 | 
|----------|---------|-------|
| AWS  | RDS | 20GB SSD, 750時間/月 (db.t2.micro) |
| Azure | SQL Database | 250GB |
| Azure | Cosmos DB    | 5GB |



## ストレージ
| Platform | Service | 無料枠 | 
|----------|---------|-------|
| AWS   | S3  | 5GB(標準) |
| AWS   | EFS  | 5GB |
| AWS   | EBS  | 30GiB(SSD) |
| Azure | Managed Disks(VMs) | 64GB * 2 |
| Azure | Blob Storage(Object/Hot Block) | 5GB |
| Azure | File Storage(File) | 5GB |

# 最初の30日間無料

| Platform | Service | 無料枠 | 
|----------|---------|-------|
| Oracle | Compute | 3,500時間, (Storage:1.5TB) |
| Oracle | Storage | 5TB(ObjectとBlock storage) |
| Oracle | Functions | 1億1,200万回の呼出しと2,000万GBメモリー秒の実行時間 |
| Oracle | NoSQL Database | 12億5,000万回の書込み、25億回の読取り*、100GB/月のストレージ |
| Oracle | Database | 3,200時間、500GBのストレージ |


# クレジット

| Platform | 期間 | 無料枠 | 
|----------|------|--------|
| GCP      | 12ヶ月 | $300 |
| Azure    | 30日間 | ￥22,500 |
| Oracle   | 30日間 | $300 |

# 考察

## 「完全無料で使いたい」
保存を必要としないアプリケーションであれば、どれを使っても問題ないと思います。

### RDBMSを使いたい

無料かつRDBMSを利用するのであれば、Oracle cloudに絞られます。

他のクラウドで無料でDBを使いたい場合、NoSQLを利用するか、IaaS上にDBを建てるか、SQLiteを使用するかになると思います。
（今回は取り上げませんでしたが、HerokuでPostgreSQLを使うという手もあります。）

ただ、IaaS上に建てるにしても、ずっと無料で使えるIaaSは非力なためアプリやDBなどを盛って利用するには厳しいスペックでしょう。

### NoSQLを使いたい

NoSQLが必要な場合は、AWS, GCP, Firebaseが良さそうです。
AWSが25GBと容量が大きいです。

### ストレージを使いたい

ファイル保存が必要な場合は、GCP, Oracle cloud, Firebaseあたりが良さそうです。
中でもOracle cloudでIaaSを建てると最大100GBのストレージが利用できます。

# まとめ

- 保存を必要としないアプリケーションであれば、どれを使っても問題はなさそう。
- 無料枠のバランスが良いのはGCP
- 無料枠が地味に強力なのがOracle cloud
- FaaSとNoSQLの組み合わせならAWS
- 1年間遊ぶならAzure
- 1ヶ月間遊ぶならOracle cloud

# 参考

## 今回まとめたクラウドサービス
https://aws.amazon.com/jp/free/
https://cloud.google.com/free/
https://azure.microsoft.com/ja-jp/free/search/
https://www.oracle.com/jp/cloud/free/
https://firebase.google.com/pricing?hl=ja

## その他のクラウドサービス
https://jp.alibabacloud.com/
https://www.ibm.com/jp-ja/cloud
https://www.cloudfoundry.org/
https://www.gmocloud.com/
https://jp.heroku.com/



## ホスティング
[GitHub Pages](
https://help.github.com/ja/github/working-with-github-pages/about-github-pages)
[Website on Bitbucket](https://confluence.atlassian.com/bitbucket/publishing-a-website-on-bitbucket-cloud-221449776.html)
[Dropbox](https://help.dropbox.com/ja-jp/installs-integrations/desktop/server-hosting)