Rails development know-how, technical tips, and the latest updates
Practical development techniques and best practices
「本番へのリリースは、あの人がSSHして手作業でやっている」「手順書はなく、頭の中にしかない」——こうした状態のプロダクトは珍しくありません。デプロイできる人が1人しかいないため、その人が休むとリリースが止まり、リリース自体が怖くて頻度が下がっていく。こ...
「メール送信が数時間届かない」「CSVエクスポートが終わらないとサポートに問い合わせが来る」「Sidekiqの管理画面を開いたらキューに数万件溜まっていた」——事業が伸びてきたタイミングで、こういう相談が急に増えます。サービス開始当初は数秒で終わっていた...
「新機能をリリースしたら不具合が出た。すぐ元に戻したいのに、戻し方が分からない」——こうした状況に陥ったことはないでしょうか。開発チームに聞くと「ロールバックはできません」「戻すには昨日のコードに手動で書き換えて、DBも直さないと…」という答えが返ってく...
「障害の原因を調べてほしいと開発会社に頼んだら、まず『どのサーバーのログを見ればいいか分からない』と言われた」——これは決して珍しい相談ではありません。サービスを立ち上げた当初はサーバー1台でログもシンプルだったのに、機能が増え、サーバーが分かれ、担当者...
夜間バッチが途中で止まっていて、朝出社したエンジニアが手動でリカバリから一日を始める——。「バッチが落ちてました」の一言で、当日の予定が全部吹き飛ぶ現場を何度も見てきました。集計が翌朝までに終わらずレポートが遅延する、請求バッチが一部だけ実行されて金額が...
「この障害、前にも起きませんでしたか」——障害対応の場でこの一言が出たら要注意です。原因はだいたい特定できていて、応急処置もその都度きちんとやっている。それなのに、数ヶ月後に形を変えて同じトラブルが再発する。この相談は本当に多く、原因を聞いていくと「振り...
「デプロイのたびにタスク定義をコピーして手で書き換えている」「アクセスが急増するとアラートが鳴るだけで、対応は毎回手動」——ECS(Elastic Container Service)を導入したはいいものの、サービスが育つにつれて運用が複雑化し、気づけば...
「検索インデックスを作り直すたびに、検索機能が数十分止まる」「マッピングを変えたいのに、変更方法が分からず場当たり的にインデックスを作り直している」——Elasticsearch(またはOpenSearch)を使ったサービスで、こうした相談をよく受けます...
「大きな機能を一気にリリースしたら本番で事故った」「不具合が出てもロールバックはデプロイのやり直しで、復旧まで30分かかる」——こうした相談を受けるプロダクトの多くは、**リリース=全ユーザーに即時公開**という一択しか持っていません。段階的に出す・一部...
半年前に外部に依頼して脆弱性警告を一掃してもらったはずなのに、久しぶりにDependabotのタブを開いたら赤い件数がまた二桁になっている。そんな経験はないでしょうか。パッチ対応は「一度きれいにすれば終わり」ではなく、依存ライブラリが日々更新される限り、...