こんにちは、ice_soiです!
フリーランスエンジニアをしています。
ちょっと前にPlanetScaleのプランが改定されました。
それに伴って運用していた「きのうのてんき」というサービスが影響を受けたためサービスを停止することにしました。
今回は、運用しているサービスを止めるに当たって行った事をまとめていこうと思います。
きのうのてんきとは?
「きのうのてんき」は前日の天気を見ることができるサービスです。
毎日気象庁のサイトから前日の天気情報を取得して選択した地域の前日の天気が見れるというものでした。
超簡単にですが構成は下記のようになっています。
- Frontendはrenderを使っていました。地域を選択してその地域の天気情報を取得する際にBackendから天気情報をAPIで取得するような仕組みになっていました。
- Backendはkoyebを使っています。こちらの記事でも書いているのですが料金の兼ね合いで乗り換えて運用していました。Frontendからのリクエストに基づいた地域の前日の天気情報データをレスポンスとして返しています
また、気象庁のサイトから天気情報を取得する処理としてAWSのAmazon EventBridgeでスケジューリングして取得用のAPIを叩いていました。 - DatabaseはPlanetScaleを使っています。後述しますが今回こちらの料金の改定がありました。
サービスを停止する理由
今回DBとしてつかっていたPlanetScaleが無料プランであるHobbyプランを廃止しました。
このまま使い続けるには有料プランにアップグレードする必要があるようです。
https://planetscale.com/docs/concepts/hobby-plan-deprecation-faq
そのままにする場合は4/8でDBがスリープしてしまうようです。(データは一時的に起動して後から取得できるようです)
他のサービスだとNeonやSupabaseというサービスもありそちらには無料プランもあるようです。
ただ、現状サービスにはそこまでアクセスとかがあるわけではなく、乗り換えるにしても開発工数もかさむためサービスを止めることにしました。。。
以前バックエンドでつかっているRailwayが有料化したためKoyebに変更したこともありますが、外部サービスを使っている以上サービス内容の変更は仕方がないです。。。
サービスの停止日
4/8でPlanetScaleが止まってしまうのでそれ以降はAPI部分が機能しなくなります。
サイト自体は4月末で閉鎖しようと思っています。
サービスを止めるためにすること
いくつかのサービスを連携して動かしているのでそれぞれ対応する必要があります。
順次作業を行っていこうと思います。
- render
管理画面から連携しているブランチの削除を行ってサービスを停止する。 - Koyeb
管理画面から連携しているブランチの削除を行ってサービスを停止する。 - PlanetScale
4/8以降はホビープランのユーザのDBはスリープになっているので対応不要。 - Amazon EventBridge
管理画面からスケジューリングしているイベントを削除する。
- ドメイン
お名前.comで取得したドメインをrenderに設定していたのでそちらを止めれば停止する。
サービスを止めた後は
今まで使っていたリソースが空くのでまた何かサービスを作るときに使おうと思っています。
「きのうのてんき」はWEBサービスとして動かしていたので複数のサービスの連携が必要でした。
今度はスマホアプリのバックエンドとして使ってみたいなと思っています。結局DBは必要ですが・・・
まとめ
今回は運用していたサービスの停止についてまとめました。
自分で作ったサービスのライフサイクルを一通り体験できたので良い経験でした。
また、「きのうのてんき」を利用してくださった方には大変感謝をしております。
この経験を生かしてまた別のサービスの開発をしていきたいです!
今回の記事が何かの参考になれば幸いです!
最後までお読みいただきありがとうございました。