いつもNuitaをご利用いただきありがとうございます。

このたび、Nuitaでは大規模な内部システムの刷新を行いました。今回の変更は主に「裏側」の改善ですので、見た目の変化は少ないですが、今後の安定運営と機能追加に向けた重要な基盤整備となります。

フレームワーク・ライブラリの最新化

Nuitaを動かしているWebフレームワーク「Ruby on Rails」を最新のバージョン8.0.4にアップデートしました。これにより、セキュリティパッチの適用や、より安定した動作が期待できます。

また、フロントエンドのビルドシステムをWebpackerから新しい仕組みに移行し、JavaScriptやCSSの処理がより高速になりました。Bootstrapなどのnpmパッケージも最新版に更新しています。

AWSサービスからの脱却とシステムの簡素化

これまでNuitaは、Amazon Web Services(AWS)の様々なマネージドサービスを組み合わせて動いていました。しかし、運営コストの削減と保守性の向上を目指し、シンプルな構成へと移行しました。

  • Elasticsearchの廃止: 全文検索エンジンとして使っていたElasticsearchを廃止し、MariaDBの全文検索機能に切り替えました。検索体験に大きな変化はありませんが、インフラの複雑さが大幅に減りました。

  • ジョブキューの変更: バックグラウンドジョブの処理基盤を、AWS SQS + Shoryukenからdelayed_jobに移行しました。通知の送信などの非同期処理がよりシンプルな仕組みで動くようになります。

  • DynamoDBの廃止: 一部のデータ保存に使っていたNoSQLデータベース(DynamoDB)を廃止し、RDBMSに統合しました。データの一貫性が向上し、クエリも最適化しやすくなりました。

  • Docker/Capistrano/Seleniumの廃止: 開発・デプロイ・テスト環境もシンプル化し、メンテナンスの負担を軽減しました。

ルーティングとコントローラの整理

ログインしていない状態(パブリック)と、ログイン後の状態(member/以下)でURLの名前空間を明確に分離しました。RESTfulなリソース設計に統一し、今後の機能追加やAPIの整備がしやすくなりました。

お知らせ機能の追加

運営からのお知らせを表示するためのAnnounceモデルを追加しました。今後、重要なお知らせがある場合はサイト内でお伝えできるようになります。

Nweetの日付がパーマリンクになりました

Nweet(投稿)に表示されている日付がリンクになり、クリックするとそのNweetの個別ページ(パーマリンク)に移動できるようになりました。特定の投稿を共有したいときに便利です。

おわりに

今回の変更は表面上はあまり目立たないものですが、技術的負債を返済し、Nuitaをより安定して運営していくための重要なリファクタリングでした。

何か不具合などございましたら、お問い合わせフォームからご連絡ください。引き続きNuitaをよろしくお願いいたします。