Topic 1 Question #3
The operations manager asks you for a list of recommended practices that she should consider when migrating a J2EE application to the cloud.Which three practices should you recommend? (Choose three.)
- A.
Port the application code to run on Google App Engine
- B.
Integrate Cloud Dataflow into the application to capture real-time metrics
- C.
Instrument the application with a monitoring tool like Stackdriver Debugger
- D.
Select an automation framework to reliably provision the cloud infrastructure
- E.
Deploy a continuous integration tool with automated testing in a staging environment
- F.
Migrate from MySQL to a managed NoSQL database like Google Cloud Datastore or Bigtable
Answer: CDE
The scenario covers best practices for migrating a traditional enterprise J2EE application to the cloud, a core use case for the Professional Cloud Architect certification. The correct answers C, D, and E align with industry-standard cloud migration principles focused on reducing risk, ensuring reliability, and maintaining observability throughout the migration lifecycle. These practices apply universally to J2EE migrations regardless of the target compute or database service chosen, avoiding unnecessary application refactoring while addressing common migration pain points such as configuration drift, uncaught post-migration defects, and lack of visibility into application performance in the new cloud environment. Option Analysis:
A. Incorrect. Porting application code to run on Google App Engine is a specific architectural choice, not a general recommended practice for all J2EE migrations. J2EE applications can be successfully migrated to multiple GCP compute targets including Compute Engine, Google Kubernetes Engine, or Cloud Run without porting to App Engine, so this is not a universal recommended step.
B. Incorrect. Cloud Dataflow is a fully managed service for batch and stream data processing, not for capturing real-time application metrics. Metric collection is handled by tools like Cloud Monitoring (formerly part of the Stackdriver suite), so this option misapplies a GCP service to an unrelated use case.
C. Correct. Instrumenting the application with monitoring and debugging tools like Cloud Debugger (formerly Stackdriver Debugger) is a core observability best practice for cloud migrations. This enables operations teams to diagnose performance issues, debug production code without downtime, and validate that the application functions as expected after migration, reducing mean time to resolve for any migration-related incidents.
D. Correct. Using an automation framework (such as Terraform or Google Cloud Deployment Manager) to provision cloud infrastructure ensures consistent, repeatable, error-free deployments. This eliminates manual configuration drift, a common cause of migration failures, and enables teams to replicate infrastructure across development, staging, and production environments reliably.
E. Correct. Deploying a continuous integration tool with automated testing in a staging environment validates that the J2EE application functions correctly in a production-like cloud environment before production cutover. This reduces the risk of post-migration outages, aligns with DevOps best practices for cloud adoption, and ensures that any code or configuration changes required for the migration are fully tested.
F. Incorrect. Migrating from a relational MySQL database to a managed NoSQL database is an unnecessary refactor for most J2EE applications, which are often built to rely on relational database semantics. Teams can instead migrate MySQL workloads to fully managed relational services like Cloud SQL, so this is not a general recommended practice for all J2EE migrations. Key Concepts:
1. Cloud Migration Observability: This core principle requires implementing logging, monitoring, and debugging tooling throughout the migration lifecycle to proactively identify issues and validate application performance in the cloud environment. Observability reduces the risk of unforeseen post-migration outages and speeds up incident resolution.
2. Infrastructure as Code (IaC): IaC is the practice of defining cloud infrastructure through version-controlled code templates, enabling automated, consistent provisioning of resources. This eliminates manual configuration errors and ensures that infrastructure is reproducible across environments, a critical requirement for reliable cloud migrations.
3. Migration Validation with CI/CD: Continuous integration and deployment pipelines with automated staging testing allow teams to validate all migration-related changes to the application and infrastructure before production cutover. This practice reduces migration risk by catching defects early in the process, before they impact end users. References:
Google Cloud Architecture Framework: Migration Best Practices, Migrating J2EE Applications to Google Cloud