【正解】A
【0からの解説】
①前提知識:
・リファクタリング:アプリの外から見た機能は保ちながら、内部の構造(コード)を作り直すことです。クラウド移行では、クラウドの機能を最大限活かせるように作り直す移行パターンを指します。
・マイクロサービス アーキテクチャ:1つの大きなアプリ(モノリス)を、「注文」「決済」「在庫」のような小さく独立したサービスに分割し、API(プログラム同士の窓口)で連携させる設計です。
・ほかの移行パターン:リホスト(リフト&シフト:ほぼそのまま移す)、リプラットフォーム(少しだけ手を加えて移す)など。
②問題文の要件:「マイクロサービスでリファクタリングする」ことで得られるメリットを問われています。
③正解の理由:マイクロサービスでは、各サービスを独立して開発・デプロイ・スケーリングできます。たとえばアクセスが集中する「検索」だけを増強できるので、アプリ全体を大きくするより無駄がなく効率的で、スケーラビリティ(負荷に応じて規模を変える力)も高まります。また、1つのサービスの障害が全体に広がりにくくなり、Cloud Run や GKE などのマネージド サービスとも相性が良くなります。
【誤りの選択肢】
B:リファクタリングは「コードを作り直すこと」なので、大幅なコード変更が必要です。コード変更なしで移すのはリホスト(リフト&シフト)です。
C:リファクタリングは設計・開発に時間と労力がかかるため、最も時間のかかる移行パターンの1つです。最速でクラウドに移せるのはリホスト(リフト&シフト)です。
D:PCI-DSS(クレジットカード情報を扱う事業者向けのセキュリティ基準)への準拠は、アーキテクチャを変えるだけで自動的に得られるものではありません。顧客自身がアプリやデータの管理・統制を設計し、監査を受ける必要があります。
【参考】
マイクロサービス アーキテクチャとはスケーラブルで復元性の高いアプリのためのパターン