Herokuの無料プランが撤廃されることが発表されました。
自分の場合、ブログの記事の検索順位を確認するwebアプリをpythonで自作してデプロイしていたので、このアプリをどうするかを考えました。
このアプリはNotionに埋め込んでいて、以下のような感じで動きます。
このアプリの詳細は以下。
記事順位チェッカーの構成
アプリの構成は以下のようになっています。
- 記事の検索順位は1日1回、定期実行で取得
- 取得した検索順位は、スプレッドシートに記録
- スプレッドシートのデータをグラフ化(Streamlit)
対応(暫定)
検索順位の取得はローカルで定期実行
今までHerokuで定期実行していたので、理想はリモートで定期実行したいです。
ただし、趣味程度なのでできるだけ無料で使いたいと思っています。
無料で使えるサーバー(もしくはサーバレス)があるのかまだわかっていないので、とりあえずローカルで定期実行することにしました。
古いWindows PCがあるので、このPCでタスクスケジューラーを使って定期実行します。
(本当はUbuntuを入れてみようと思っているけど、まだできていない。)
将来的には無料で使えそうなサービスを使いたいのですが、まだよくわかっていません。
- Amazon Web Services(どこまで無料で使える?)
- Google Cloud Platform(どこまで無料で使える?)
- Microsoft Azure(どこまで無料で使える?)
- レンタルサーバーで定期実行(ワードプレスのブログを運営中の ConoHa WING。Pythonを定期実行できる?)
追々、考えることにします。
スプレッドシートに記録
検索順位の取得と合わせてローカルで定期実行します。
Streamlitでグラフ表示
元々、Streamlitでグラフ表示していたので、Streamlit Cloudで公開することにしました。
Herokuであれば非公開のまま(URLを公開しなければ)自分だけが閲覧できていましたが、Streamlit Cloudを使うと公開状態になります。
それほど本気でSEO対策をしているわけではないので、とりあえず良しとします(積極的には公開しないようにする)。
Streamlit Cloudで公開したアプリをNotionに埋め込む
アプリのURLをそのままNotionに貼り付けても埋め込みはできません。
URLの末尾に?embedded=true
を加える必要があります。
https://streamlit-demo-uber-nyc-pickups-streamlit-app-456wus.streamlitapp.com/
https://streamlit-demo-uber-nyc-pickups-streamlit-app-456wus.streamlitapp.com/?embedded=true
終わりに
無料枠が無くなると、趣味で使っているユーザーとしてはつらいです。
そのうち Notion も無料枠で使える機能が制限されていったりするんでしょうか。
しかし Notion が仮に有料になっても、そうとう高くならない限りは使い続けることになると思います。
自分はサッカーを見るために Dazn を契約しています。
今年結構値上がりした時に解約するか相当迷いましたが、結局継続しました。
契約している中で一番高いサブスクですが(月2250円)、生活の一部となってしまったらなかなか手放せなかったです。
サブスク管理はNotionでしていますが、これからもきちんと管理していかないと破産します。