🔥
koyebを本番環境として使ってみた
こんにちは、みてねコールドドクターでエンジニアマネージャーをしている遠藤です。今回は、Koyebを本番環境として使ってみたので、そのお話をします。
Koyebとは
Koyebは、開発者がアプリケーションを簡単にデプロイ、管理、スケーリングできるクラウドプラットフォームです。Cloud Native Buildpacksに対応している他、Dockerにも対応しているため、開発者はお好きな方法でアプリケーションをデプロイできます。
背景
元々Herokuを使用していましたが、Herokuは
- 料金が割高
- リージョンが限られている
という課題がありました。
そこで、いくつか比較検討した結果、Koyebを使ってみることにしました。
なぜKoyebにしたのか
Koyebにした理由は、以下のとおりです。
- インスタンスの種類が多く、安価なものがある
- リージョンが多く、特に日本リージョンがある
- Cloud Native Buildpacksに対応している。Herokuを使っていたので移行しやすかった
使ってみて
いくつかサブとしてのアプリケーションを運用してみた感想です。
良かった点
- 費用が安い
- Herokuに比べて料金が安く、インスタンスレベルが細かく設定できるため、必要なリソースだけを使うことができます。
- リージョンが多い
- 日本リージョンがあるため、レイテンシが低いです。
- ただし、DBと連携する場合はPostgreSQLのリージョンが限られているため、使えるリージョンが限られます。
- 実際、まだ日本リージョンでPostgreSQLが使えないため、シンガポールリージョンで運用しています。それでもHerokuと比べてレイテンシが低いです。
- 運用が楽
- Herokuでも同様かもしれませんが、Dockerが使えるため、柔軟な運用ができます。
- 実際に動かしているものも、設定ファイルを読み込むためにDocker on Dockerで運用しています。
悪かった点
- 永久ストレージがない
- エフェメラルストレージしかないため、たとえばDBなどは別途用意する必要があります。
- PostgreSQLは用意がありますが、それ以外は外部のホスティングサービスを使う必要があり、手間や構成が増えます。
- マウントできるストレージサービスがあれば、DBのインスタンスを立てられると思うのですが…
- 情報が少ない
- 新興サービスのため、情報が少ないです。日本語記事だと無料で動かしてみた、のような記事がほとんどでした。
- ユーザーを追加する時に制限がある
- Starterプランの場合、3ユーザーまでしか追加できないため、複数人で運用する場合は注意が必要です。
- 秘匿情報の扱いが面倒
- 秘匿情報をアカウント全体で共通で扱うため、サービスごとに異なるようにしたい場合は、名前の付け方などに工夫が必要です。
- DBの情報なども環境変数で渡す場合、この制約が面倒でした。
まとめ
Koyebはまだまだサービスとして未完成な部分が多いと思いました。一方で料金も安く、運用も楽なため、上記デメリットが問題にならないケースであれば、使いやすいと思います。
Koyebの詳細ついて知りたい方は、お気軽にご連絡ください。
Discussion