PROFESSIONAL-CLOUD-DEVELOPER · Question #184
Case Study 2 - HipLocal Company Overview HipLocal is a community application designed to facilitate communication between people in close proximity. It is used for event planning and organizing sporti
The correct answer is C. Use Memorystore to store session information and CloudSQL to store state information. Use a. For a rapidly scaling global application like HipLocal, the architecture must be both performant and manageable. Memorystore (managed Redis/Memcached) is the ideal session store because sessions are small, frequently accessed, and ephemeral - an in-memory store delivers sub-milli
Question
Case Study 2 - HipLocal Company Overview HipLocal is a community application designed to facilitate communication between people in close proximity. It is used for event planning and organizing sporting events, and for businesses to connect with their local communities. HipLocal launched recently in a few neighborhoods in Dallas and is rapidly growing into a global phenomenon. Its unique style of hyper-local community communication and business outreach is in demand around the world. Executive Statement We are the number one local community app; it's time to take our local community services global. Our venture capital investors want to see rapid growth and the same great experience for new local and virtual communities that come online, whether their members are 10 or 10000 miles away from each other. Solution Concept HipLocal wants to expand their existing service, with updated functionality, in new regions to better serve their global customers. They want to hire and train a new team to support these regions in their time zones. They will need to ensure that the application scales smoothly and provides clear uptime data, and that they analyze and respond to any issues that occur. Existing Technical Environment HipLocal's environment is a mix of on-premises hardware and infrastructure running in Google Cloud Platform. The HipLocal team understands their application well, but has limited experience in global scale applications. Their existing technical environment is as follows:
- Existing APIs run on Compute Engine virtual machine instances hosted in GCP.
- State is stored in a single instance MySQL database in GCP.
- Release cycles include development freezes to allow for QA testing.
- The application has no logging.
- Applications are manually deployed by infrastructure engineers during periods of slow traffic on
weekday evenings.
- There are basic indicators of uptime; alerts are frequently fired when the APIs are unresponsive.
Business Requirements HipLocal's investors want to expand their footprint and support the increase in demand they are seeing. Their requirements are:
- Expand availability of the application to new regions.
- Support 10x as many concurrent users.
- Ensure a consistent experience for users when they travel to different regions.
- Obtain user activity metrics to better understand how to monetize their product.
- Ensure compliance with regulations in the new regions (for example, GDPR).
- Reduce infrastructure management time and cost.
- Adopt the Google-recommended practices for cloud computing.
○ Develop standardized workflows and processes around application lifecycle management. ○ Define service level indicators (SLIs) and service level objectives (SLOs). Technical Requirements
- Provide secure communications between the on-premises data center and cloud-hosted
applications and infrastructure.
- The application must provide usage metrics and monitoring.
- APIs require authentication and authorization.
- Implement faster and more accurate validation of new features.
- Logging and performance metrics must provide actionable information to be able to provide
debugging information and alerts.
- Must scale to meet user demand.
For this question, refer to the HipLocal case study. How should HipLocal redesign their architecture to ensure that the application scales to support a large increase in users?
Options
- AUse Google Kubernetes Engine (GKE) to run the application as a microservice. Run the MySQL
- BUse multiple Compute Engine instances to run MySQL to store state information. Use a Google
- CUse Memorystore to store session information and CloudSQL to store state information. Use a
- DUse a Cloud Storage bucket to serve the application as a static website, and use another Cloud
How the community answered
(46 responses)- A2% (1)
- B7% (3)
- C80% (37)
- D11% (5)
Explanation
For a rapidly scaling global application like HipLocal, the architecture must be both performant and manageable. Memorystore (managed Redis/Memcached) is the ideal session store because sessions are small, frequently accessed, and ephemeral - an in-memory store delivers sub-millisecond reads/writes. Cloud SQL (managed MySQL/PostgreSQL) is appropriate for structured relational state data and supports the transactional consistency needed for community and business data. Together they form a clean separation of concerns. Option A (GKE + MySQL on GKE) requires manually managing database containers with no high-availability guarantees. Option B (multiple Compute Engine MySQL instances) is unmanaged and operationally heavy. Option D (static website in Cloud Storage) is inappropriate for a dynamic community application requiring real-time data and user authentication.
Topics
Community Discussion
No community discussion yet for this question.