Render(render.com)は最高にちょうどいい本番Docker環境である
こんにちはmofmofでエンジニアをしているshwldです。
RenderはDockerfileに対応しています。
開発環境と本番環境で同じDockerfileを使うことが可能です。これは実行環境の同期という意味で大きなポイントです。
その上でRenderがすごいのはrender.yml一つで設定できるEasyさです。
Dockerfileでローカルと同じ環境を再現しつつ、アプリケーション内からインターナルにアクセスできるホスト名を各アプリが持っているので、Renderで動いているアプリ同士のやり取りが基本的にRenderに依存しない標準的な方法(例えばhttp)で完結します。
これはdocker-compose.ymlと同じことを本番環境で手軽にできることを意味しており、マイクロサービスを低管理コストに構築できることにも繋がります。
ここが個人的にRenderが最も優れているポイントだと思っており、この柔軟さを最小の手数で実現しているくせに、Renderへの依存すら少ないというところが自分の推しポイントです。
Herokuや他のサービスにもDockerfileを使えるものはありますが、deploy時や環境変数の設定など各種利用シーンでDockerの存在を感じさせず、PaaSのネイティブ言語環境のように自然に扱えるサービスをRender以外に知りません。
例えばGCPやAWSでRailsアプリを構築するとなると、まずdeployが大変だったり、ログ基盤だとか非同期処理、バッチ処理をプラットフォームに合わせて選定したりといったことが起こりがちです。
プラットフォームに依存したコードが増えるうえ、deployが快適じゃなかったり、カスタマイズ性が高い反面、設定項目が多かったりします。
その点RenderはHerokuに近い開発体験を、Dockerの恩恵により多様なユースケースにも簡単に適用でき、OSSをそのままの状態で本番における安心感を得られます。そしてそれは自然とプラットフォーム依存を減らし開発環境との同期の高まりにつながっていくのです。
以上から、Renderは最高にアプリケーションエンジニアが入門しやすく、また依存が少なく抜け出しやすいプラットフォームだと思っています。
1~2年前から推しPaaSはなんですかと聞かれたらRenderと答えています。
その他推しポイント
価格が安い
個人開発や新規サービス立ち上げに優しい価格設定。
自分そこまでちゃんと計算してなかったですが、Herokuより安い気がします。
具体的な数値として、こちらの記事(
【格安本番運用が可能に】Render.com のメリット・デメリットを Heroku と比較してみた )によると同じくらいのスペックだと半額くらいで運用可能なようですね。
ストレージをアタッチできる
Dockerでvolumeをアタッチする感覚。永続化用のストレージをアタッチできます。安いし、s3などへの依存がありません。ストレージ自体はs3より機能性能が上回ってるということはないと思いますが、幅広いユースケースに対応できるポテンシャルがあります。
免責
色々と自分の思っていることを書きましたが、自分はあまりインフラに明るくはなく、k8sなども全く触ったことがないです。
普段はフルスタックなエンジニアというのが近く、0→1でサービスを立ち上げるような仕事を得意としています。
そういった観点からのイチ意見であることをご承知おきください。
Discussion