アプリケーションデータベースとしてMongoDBを選択しました。おそらく、データベースにはすでに多くの本番データがあります。次に、アプリケーションに大きな変更を加える必要があります。アプリケーションの新しいバージョンが本番データと適切に動作することを確認するために、どのようにテストを行いますか?
本番データは常にテストデータよりも無限に多様であり、より多くのエッジケースを実行するため、より多くのバグが発生します。ポリシー、プライバシー、セキュリティの問題があるため、本番データをテスト環境にエクスポートすることはお勧めしません。一方、本番環境のバグを特定してテストすることは、かなり困難で費用がかかります。では、アプリケーションの新しいバージョンが本番データで適切に機能することをどのように確認しますか? ScaleGridで推奨するものは次のとおりです:
MongoDBを本番環境にアップグレードするための4つのステップ
-
安全第一
私たちの最初の関心事は、本番データの安全性とセキュリティです。そのため、本番データをステージング環境またはテスト環境にエクスポートすることはありません。私たちが持っているのは「疑似本番」です。これは本番と同じ環境であり、本番と同じサイズ、同じセキュリティ制限があります。ただし、これは一時的なものであり、テスト期間中のみ存続します。
-
本番環境のMongoDBクラスターのクローンを作成する
ScaleGridの「クローン」機能を使用して、本番データベースのポイントインタイムクローンを作成します。 AWSのようなクラウドでは、クローン機能はEBSスナップショットを使用するため、クローン操作は本番データベースにほとんどまたはまったく影響を与えません。これにより、本番環境と同じ機能(同じデータ、同じマシンサイズ、同じセキュリティ、同じクラスター構成など)を備えた「疑似本番環境」のデータベース環境が実現します。
-
広範なテストを実行する
新しいバージョンのアプリケーションでデータに問題が発生しないことを確認するために、一連の広範なテストを実行します。満足したら、「疑似本番」環境を破棄します。
-
本番環境をアップグレードする
テストに満足したら、本番環境でアプリケーションをアップグレードします。機能によっては、一部のお客様のみをアップグレードすることもできます。別名、A/Bテストです。
では、MongoDBを使用したアプリケーションのアップグレードのテストで他にどのような問題がありますか?共有したいツール、テクニック、提案はありますか?ご連絡をお待ちしております。