このページ内容は2021年1月21日以降、再調査・再検証してません。実際に扱う際は最新の情報にアクセスしてください。
Renderは2021年の初め頃にリリースされたWebアプリを簡単にデプロイするためのサービスですrender。似たようなサービスとしてHerokuやRailwayなどがありますが、こちらはDockerfileを認識して環境を作成してくれます。ちなみに、HerokuでDockerfileを認識させるにはheroku.ymlの修正が必要ですheroku_dockerがRenderはデプロイ時の設定でDockerfileを選択できます。
Webアプリだけでなく、静的サイトやcron job, DBなども作成できます。DBについてはPostgreSQLだけでなく、MongoDBやMySQLもRenderが用意しているリポジトリrender_mysql_sampleを使って作成できます。その他にもRedisやSidekiqなどもRenderのリポジトリにDockerfileや設定ファイルのサンプルがあり利用できます。
Renderでホストできるもの
アプリを作成すると、以下のようなダッシュボードが表示されます。一部有料機能もありますが、アプリのデプロイ状況の確認、環境変数の設定、PRごとにURL生成、DockerfileのCMDの上書きなどは無料でできます (Shellの利用は有料枠です)。
Renderのダッシュボード
PRごとのURL生成では、以下のようにコミットを追加するたびにRenderのURLが発行され、変更を確認できる機能です。バックエンド側でこれができるのは面白い点だと思います。Herokuにも似たような機能heroku_github_integrationが追加されましたが、Renderではワンクリックで有効にできます。
東京リージョンはまだありませんが、ロードマップrender_roadmapを見る限り対応中のようです。他にも今後追加される機能などもロードマップで確認できます。
PRごとのURL生成
2020年の12月ぐらいにRailwayというサービスも出てきましたrailway。こちらはHerokuと同じBuildpackbuildpackを使ってゼロコンフィグでアプリの動作環境を構築してくれます。ただし、Dockerfileがある場合はそちらを優先してビルドしてくれます。
こちらのサービスはプラグインとして、MySQLやPostgreSQL, Redis, MongoDBを後から追加できます。Renderでは別々のダッシュボードで管理しますが、Railwayでは1つのダッシュボードでアプリとDBを管理できます。ちなみに、ダッシュボードはデフォルトでダークモードで変更できません。
plugin追加の選択肢
Railwayのアプリのダッシュボード
RailwayもコミットごとにPRを作成できます。また、サーバーサイドはRailwayを使いつつ、フロントはVercelを使うというやり方もできるようです。サンプルアプリも豊富にありますrailway_sample。
コミットごとのURL生成
Vercel連携