🔥

koyebを本番環境として使ってみた

2024/05/21に公開

こんにちは、みてねコールドドクターでエンジニアマネージャーをしている遠藤です。今回は、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