無限ノック › SAP 練習問題一覧 › 問題
SAPワークロードの移行とモダン化の加速

大手メディア企業が、15年間運用してきたモノリシックなJava EEアプリケーション(JBoss EAP(Enterprise Application Platform:Red Hat社製のエンタープライズ向けJavaアプリケーションサーバー)上で稼働、WARファイル(Web Application Archive:Javaウェブアプリケーションの標準パッケージ形式)としてデプロイ、コード規模150万行)のAWS移行とモダナイズを計画している。現状の課題として、12の開発チームが単一コードベースを共有しており毎週のリリースに4時間の計画停止が発生していること、アプリケーションはオンプレミスのOracleデータベース(2TB)と密結合していること、トラフィックは平日9〜18時に集中し夜間・週末はほぼゼロであること、開発チームはJavaに精通しているがKubernetes運用経験はないことが挙げられる。経営層の要件は「12ヶ月以内にAWSへ移行し、各チームが他チームのリリースに依存せず独立してデプロイできる体制を構築すること」である。移行リスクを最小化しながら12ヶ月の期限内に要件を達成できる可能性が最も高いアプローチはどれか。

A
AWS MGNを使用して既存JBossサーバーをそのままAmazon EC2にリフト&シフトし、次のフェーズでAWS Elastic Beanstalkへ移行してデプロイ操作を簡素化する。その後ストラングラーフィグパターン(Strangler Fig Pattern:既存システムを稼働させたまま機能を段階的に新システムへ移行するアーキテクチャパターン)を用いてAmazon ECSのマイクロサービスへ段階的に分解していく
Elastic Beanstalkへの移行はデプロイ管理を簡素化するが独立デプロイ実現には直接つながらず、マイクロサービス分解の移行経路が不明確です。
B
初日からストラングラーフィグパターンを採用し、Amazon CloudFront + Lambda@Edge(CloudFrontエッジロケーションで動作する軽量関数。コンテンツ配信のカスタマイズや簡易なリクエスト変換に使用される)でオリジンへのルーティングを制御しながら、新機能をAWS LambdaとAmazon DynamoDBでサーバーレス実装する。既存機能を12ヶ月かけて段階的にサーバーレスアーキテクチャへ書き換える
Lambda@EdgeはOrigin Requestイベントで異なるオリジンへのルーティングも技術的には可能ですが、150万行のコードを12ヶ月でLambdaとDynamoDBによるサーバーレスアーキテクチャへ全面書き換えることは時間的・技術的に非現実的です。
C
AWS MGNを使用してJBossアプリケーションをAmazon EC2にリフト&シフトし移行リスクを最小化する。その後、Application Load Balancerのパスベースルーティングルールをストラングラーフィグパターンのトラフィック制御に活用しながら、各チームの機能領域を段階的にAmazon ECS on Fargateのコンテナとして切り出す。各チームに独立したAWS CodePipelineとAmazon ECRリポジトリを提供することで、他チームへの依存なしに独立デプロイできる体制を構築する
✓ 正解
MGNによるリフト&シフトでまず12ヶ月内の移行を確実に完了させ、ALBのストラングラーフィグパターンで既存モノリスとマイクロサービスを並行稼働させながら段階的にECS Fargateへ切り出す計画はJavaチームの学習コストが低く現実的です。CodePipelineとECRの独立化で12チームの独立デプロイも実現できます。
D
Amazon EKSを採用しKubernetesネイティブなマイクロサービスアーキテクチャを初期から構築する。既存コードをSpring Bootベースの独立したマイクロサービスに書き直し、OracleデータベースはAWS DMS + SCTでAmazon Aurora PostgreSQLへ移行する。GitOps(Gitリポジトリをシステムの唯一の信頼できる情報源とするCI/CDアプローチ)ワークフローでFluxCDを用いた自動デプロイパイプラインを整備する
Kubernetes未経験チームがEKS運用を習得しながら12ヶ月で全コードをSpring Bootに書き直すことは極めて困難です。

解説

MGNによるリフト&シフトでまず12ヶ月内の移行を確実に完了させ、ALBのストラングラーフィグパターンで既存モノリスとマイクロサービスを並行稼働させながら段階的にECS Fargateへ切り出す計画はJavaチームの学習コストが低く現実的です。CodePipelineとECRの独立化で12チームの独立デプロイも実現できます。 選択肢AはElastic Beanstalkへの移行はデプロイ管理を簡素化するが独立デプロイ実現には直接つながらず、マイクロサービス分解の移行経路が不明確です。 選択肢BはLambda@EdgeはOrigin Requestイベントで異なるオリジンへのルーティングも技術的には可能ですが、150万行のコードを12ヶ月でLambdaとDynamoDBによるサーバーレスアーキテクチャへ全面書き換えることは時間的・技術的に非現実的です。 選択肢DはKubernetes未経験チームがEKS運用を習得しながら12ヶ月で全コードをSpring Bootに書き直すことは極めて困難です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SAP の問題一覧に戻る