Google Cloud Professional Cloud Architect — Question 198
You are migrating a critical on-premises inventory management application to Google Cloud. The application is a monolith with a traditional relational database, and the immediate business goal is a rapid data center exit. The monolith is exposing an API to other business critical applications.
The long-term vision is to modernize the application into globally distributed, cloud-native services to support the company’s expansion. You need to design the initial cloud architecture to ensure that future modernization causes the least possible disruption to other applications that depend on inventory data. The future modernization might require the API to change structure. What should you do?
Answer options
- A. Use Service Directory to register the monolith's endpoint, allowing dependent applications to look up its address and connect directly.
- B. Implement a managed API facade with Apigee to handle all requests from dependent applications on behalf of the monolith’s backend.
- C. Use an internal load balancer to provide a stable IP for dependent applications to connect directly to the monolith's native API.
- D. Provide dependent applications with direct database access by creating secured SQL VIEWs on Cloud SQL for them to query.
Correct answer: B
Explanation
The correct answer is B because implementing a managed API facade with Apigee allows for better management of requests and provides a layer of abstraction that can handle future changes to the API structure without impacting dependent applications. Option A is not ideal as it allows direct connections, which can lead to dependency issues later. Option C provides a stable IP but still connects directly to the monolith, risking disruptions during modernization. Option D is inappropriate as giving direct database access can compromise security and lead to tighter coupling between applications.