Render.comが素敵過ぎるのでもっと知られて欲しい
株式会社パルケの悩めるCTO、みつるです
パルケでこれまでリリースしたプロダクトは、Render.comというクラウドベンダー上に構築しました。
Render.comは、2022年の頭頃からTwitterなどのSNSで名前を目にするようになりました。
半年ほど前から実際に運用してみたところ、他のサービスへの乗り換えが考えられないぐらい素敵が溢れていました。
私は悩めるCTOなのですが、Render.comのおかげで、クラウドサービスについてほとんど悩む必要がありません。
この記事でRender.comの素敵さが少しでも伝われば幸いです。
Render.comとは何なのか
公式より(意訳)
Rnder.comは、あなたのアプリやウェブサイトをビルド・実行する統合クラウドサービスです。無料のTLS認証、グローバルなCDN、DDoS防御、プライベートネットワーク、Gitからの自動デプロイが利用できます。
一言で言えば、次世代のHerokuと言えると思います。
Webのサービス構築に必要な、厳選されたサービスを安く簡単に運用できるのがウリのクラウドサービスとなります。
Renderで検索してもまともにヒットしないので、Render.com
と.com
まで含めてサービス名として捉えた方が良さそうです。
GCP、AWS、Herokuを始めとする数々のクラウドサービスが存在する中で、Render.comをあえて選ぶ理由は何でしょうか。
インフラエンジニアがいなくても何とかなる
Render.comを採用するメリットとして、コストメリットから入る方も多いと思いますが、私はコストメリットよりも、このインフラエンジニアがいなくても何とかなる、というのが最大のメリットだと思います。
まず、非常に洗練されたUIで、ある程度Webの知識があれば、サーバー構築の詳しい知識がなくても直感的に何とかなります。
Webサービスの運営に必要なサーバー群(Hosting、Web Service、PostgreSQL、Redis)が揃っていて簡単に起動できるだけでなく、一般的に必要となるセキュリティ機能やバックアップ、デプロイなどの機能が追加設定なし、もしくは管理画面からのボタン一つで有効になります。
個時的には、Firebaseで新しいプロジェクトを作って管理画面を操作するのと、ほとんど難易度・労力が変わらないと思いました。
インフラエンジニア不在でFirebaseのようなサーバーレス構成を検討しているプロジェクトで、Render.comでサーバーを立てる事も選択肢に入れられるようになると思います。
特にReactには腕に覚えがあるぞ、といったエンジニアであれば、苦もなくサーバーを立てられるでしょう。
Render.comは何でないのか
エキスパートなインフラエンジニアのためのツールではありません
素晴らしいインフラエンジニアは、細かいチューニングでサーバーの潜在能力を最大まで引き出すことができます。
そういったエンジニアがいる場合は、GCPやAWSでその能力を存分に発揮してもらった方が良いでしょう。
Render.comでは細かいチューニングができないので宝の持ち腐れになってしまいます。
分厚いサービスカタログはありません
例えば、データベースの選択肢はPostgreSQLしかありません。
Dockerコンテナを利用しない場合、Webサーバーとして利用できる言語も限られています。JavaのSpring FrameworkやC#でサービスを構築したい、といった場合は他のサービスを利用した方が良いかもしれません。
Storageや認証、ドキュメントデータベース、AI等を利用する必要であればGCPやAWSのようなメジャーなサービスを利用した方が良いでしょう。
Render.comの素敵なところ
これまでRender.comで運用してきて、素敵だと思った機能をいくつか紹介します。
これらの優れた機能が最初から、もしくは簡単な設定ですぐに使い始められるのが大きな魅力です。
洗練されたUI・UX
優れたウェブサービスのような洗練されて磨き込まれている管理画面で、触っていて非常に気持ちが良いです。
余白の取り方やボタンの配置、操作した時のフィードバックなど高いレベルで実現されています。
こういったサービスの管理画面には珍しくアニメーションも利用されていて、何がおきたか、何が変化したか、が視覚的にわかりやすくなっています。
設定をシンプルで使いやすくするために、かなり注意深くデザインされているのだと思います。
Githubからの自動デプロイ
Githubのリポジトリを紐づけておくと、mainなど特定のブランチにpushがあった時に自動でデプロイするように設定できます。
デプロイする際のパスやデプロイ(ビルド)で使うコマンドなど設定しておけば、GithubでPRをマージしたら勝手にデプロイしてくれます
ゼロダウンタイムのデプロイとロールバック
デプロイがゼロダウンタイムで反映されるので、サービスを止める必要がありません。
そして、感動したのが、デプロイを以前のデプロイへロールバックするのもほぼ一瞬という事です。
デプロイしてみて、何か問題あればすぐに戻せる、という安心感は変え難いものがあります。
自動スケール設定
私は無限オートスケールは怖くて使えませんが、Renderの自動スケールは最小と最大インスタンス数を指定できますので、クラウド死を心配せずに利用する事ができます。
この自動スケール設定画面をみてもらっても、設定の容易さがわかると思います。
Webサーバーのヘルスチェックと自動再起動
Webサーバーに、ヘルスチェック用のAPIを用意しておくと、Renderが定期的に応答をチェックしてくれます。
もしヘルスチェックに失敗するとメールが飛んできてAPIサーバーが自動で再起動されます。
ヘルスチェック失敗時の直前のログを見るとだいたいサーバーが停止した原因が特定できます。
PR Preview機能
Hostingの場合、PRのPreview機能でステージングサーバーのように利用する事ができます。
これは、デプロイ元となるブランチにPRが作成された時点で、プレビュー用のURLに自動でデプロイしてくれる仕組みです。
これを使うと、わざわざステージング用の環境を用意しなくてもテスターの方にプレビュー用のURLで事前チェックしてもらってPRマージしたら本番デプロイ、という運用が可能となります。
PostgreSQLの読み取り専用レプリカ機能
PostgreSQLに、数クリックで読み取り専用レプリカを追加する事ができます。
ほぼリアルタイムに本番データが読み取り専用レプリカに同期されます。
読み取り専用レプリカの方をBIツールの参照用テーブルとして設定しておけば、本番DBに影響与える事なく、ほぼリアルタイムに負荷のかかるデータ分析ができるようになります。
Render.comが向いているのは?
特に向いているのは、わが株式会社パルケのような小さなスタートアップです。
以下の条件に当てはまる場合、クラウドサービスの選定検討対象にRender.comを加える価値があるでしょう。
- 専任のインフラエンジニアを採用する余裕がない
- 新規サービスが今後どれぐらい成長するかわからない
- 標準的な技術で新規にWebサービスを開発する。
- プロトタイプ的に早くリリースして世に問いたい
特に、フロントはReact、バックエンドはNodeを使い、コーディングをTypescriptで統一するプロジェクトでは、Render.comは非常に相性が良いと思います。
最後に、株式会社パルケでは、無料で誰でも簡単に使えるミーティングアプリ、チャットアプリをRender.comで運用しています。
興味がありましたらぜひ利用してみてください。
Discussion
コメント失礼いたします。
こちらRender.comを使用されている場合、東京リージョンは存在していないかと思うのですが、個人情報はシンガポールなどのリージョンに転送しているという認識であっておりますでしょうか?