行動すれば次の現実

ほどよくモダンなシステム開発を目指しています。メインテーマは生産性、Ruby、Javascriptです。

Heroku

Heroku Pipelineでデプロイ作業がかなりラクになった

今まで同じコードベースを複数のアプリで別管理していたのですが、さすがに片手で数えられないアプリ数にもなると管理が辛くなってきたので、Heroku Pipelineを導入してみました。 実際に使用してみると、痒いところに手が届く素晴らしい機能だと感じたので…

Herokuで適切なDynoタイプと台数を決める方法

Herokuでアプリを本番稼働させる上で、「Dynoタイプをどうするか」「台数をどうするか」については一番最初に悩むポイントかと思います。 恥ずかしながら私自身も、アプリ稼働当初は何となくの感覚でDynoタイプ、台数を決めていました。それにより根拠無くオ…

Herokuアプリの監視サービス「Pingdom」のススメ

Herokuで本格的にアプリを運用するためには、アプリがダウンせずに動き続けているのかを監視する必要があります。 Herokuアプリの死活監視アドオンとして有名なのがPingdomですが、実は死活監視以外に様々な機能を提供しており、かなりコスパが高いアドオン…

Herokuで可用性の高いサービスを運用するために入れておきたいアドオン3選 | Rails

弊社では多くのWebサービスをHeroku上で稼働させています。 初めてローンチした当初は数々のトラブルが発生して可用性が不安定な時期がありましたが、現在は可用性の高いサービス運用が実現できております。 それが実現できているのはアドオンのおかげと言っ…

既存のRailsアプリをHerokuにデプロイして本番稼働させるまでの手順

既存のRailsアプリをHerokuにデプロイして本番稼働させるまでの手順を説明します。 運用面を考慮した細かな設定も含みますので、公式ドキュメントよりも豊富な内容になっております。 1. Herokuで新しいアプリを作成する Heroku管理画面からCreate New Appし…

HerokuアプリのStackを18から20にアップグレード

Herokuのstack-18からstack-20へのアップグレードしました。その際に行ったことをまとめましたので、ぜひ参考にしてみてください。 stackのアップグレードとは? stackのアップグレードとはOSのバージョンアップのようなものです。 stackとは、Herokuで使用…

Heroku Postgresで発生する「sql_error_code = 28000 FATAL: no pg_hba.conf entry for host "xxx.xxx.xx.xx", user "xxxx", database "yyyy", SSL off」について

Heroku PostgresをHobbyプランからStandardにアップグレードしたところ以下のログが頻発するようになりました。 sql_error_code = 28000 FATAL: no pg_hba.conf entry for host "xxx.xxx.xx.xx", user "xxxxx", database "xx", SSL off FATALレベルなのです…

Heroku PostgresのHobbyプランが異常な遅さだった話

Herokuを使ったシステム開発をしているときにDBのアクセスが異様に遅いことがありました。 その時の調査内容を記事にまとめてみました。同じ境遇の方がいるかもしれないので、ぜひ参考にしてみてください。 ランダムに発生するH12エラー Heroku PostgresのHo…

HerokuのDBを有料プラン(Hobby)に切り替える方法

Herokuのposgresql DB無料版から有料版(Hobby以上)に移行する手順をまとめます。 1. 有料版DB(Hobby)を作成する Herokuの管理画面からAdd-onsを追加するか、下記コマンドを実行します。 heroku addons:create heroku-postgresql:hobby-basic your-app-name 2…

HerokuのR14エラーをScoutAPMで対策する方法 | Rails

Herokuではメモリ使用量がプランの上限を超えるとR14エラーが発生します。 R14はスワップメモリが発生していることを意味しており、発生するとアプリケーションの処理速度が著しく低下してしまいます。 このままメモリ使用量が200%を超えてしまうと、R15エラ…

Herokuのworker dynoが突然遅くなったときに確認すべきこと

Herokuのworker dynoのパフォーマンスが数日前から突然悪くなった。 今まで30秒程度掛かっていたバックグラウンド処理が10分程度掛かるようになった。 直近で心当たりのあるリリースはなかったため、調査することにした。 丸一日調査して解決はしたのだが、…

【超簡単】HerokuのpostgresDBを別環境にコピーする方法

以下のコマンドで簡単にアプリ間でDBをコピーできます。 heroku pg:copy sample-source::DATABASE_URL DATABASE_URL --app sample-target sample-source: コピー元のアプリ sample-target: コピー先のアプリ