Develop Japan Financial & Stock app with GCP Free Tier Part1

#JA

はじめに

Always Freeプロダクトと呼ばれる一部のGCPサービスで制限はあるものの
常時無料で使用できる(太っ腹)枠があるので、この枠を使用し、決算書による財務分析&株価分析Webアプリを作ってみる。

動機

このコロナ禍もあってか株をはじめた人が増えたらしい(私もそのうちの一人)。
とはいえなんとなく買っているのもあるので、情報を集約して見れるサイトがそろそろ欲しいなぁ
ということで作成してみました。

今回実装する機能

株を買う前にそもそもどういう企業なのかからはじまり、現在の株価やトレンドなどを見たいので下記情報を実装

企業概要
財務三表
株価推移
銘柄探索bot

Always Freeプロダクトと構成

Webアプリを作るにあたって下記Always Freeプロダクト対象サービスを確認すると
https://cloud.google.com/free?hl=ja

使用できそうなのは下記4つ

Google Compute Engine(GCE)
Google App Engine(GAE)
Cloud DataStore
Cloud Storage

無料で使う上での気にすべき具体的な制約は下記

> GCE
f1-micro インスタンス(1 か月あたり、北バージニア [us-east4] を除く米国リージョンのみ)
30 GB-月の HDD
5 GB-月のスナップショット(一部のリージョン)
1 GB の北米から全リージョン宛ての下り(外向き)ネットワーク(1 か月あたり、中国とオーストラリアを除く)

> GAE
1 日あたり28 時間分の「F」インスタンス
1 日あたり下り1GB
スタンダード環境の場合のみ、この無料の使用量上限をご利用になれます。

> Cloud DataStore
1GB のストレージ
1日あたり 50,000 回の読み取りオペレーション、20,000 回の書き込みオペレーション、20,000 回の削除オペレーション

> Cloud Storage
5 GB-月の Regional Storage(1 か月あたり、北バージニア [us-east4] を除く米国リージョンのみ)
5,000 回のクラス A オペレーション(1 か月あたり)
50,000 回のクラス B オペレーション(1 か月あたり)
1 GB の北米から全リージョン宛ての下り(外向き)ネットワーク(1 か月あたり、中国とオーストラリアを除く)

このため、必然的にリージョンは北米かつゾーンは日本に近いwestを指定
システムフローとしては、GAEでフロント兼バックエンドをこなし、DBとしてはDataStoreとStorageを採用
DBの定期的な更新はGCEで行うという下記フローに決定

feye6

DB周りは本当はCloudSQLを使いたいが、無料ではない。
NoSQLのCloud DataStoreが無料枠に入っているが、実は組み込みindexなるものが自動で生成され、
容量をくうという罠があり、Cloud Storageも併用という流れになった。

最後に一言

今回は概要だけというところで次回から実装する機能それぞれについて詳しく見ていきます。