HipLocal: Choosing the Right Database Service for Application State Storage

Migrating to the Optimal Database Service for Application State Storage

Question

Case study - This is a case study.

Case studies are not timed separately.

You can use as much exam time as you would like to complete each case.

However, there may be additional case studies and sections on this exam.

You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.

To answer the questions included in a case study, you will need to reference information that is provided in the case study.

Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study.

Each question is independent of the other questions in this case study.

At the end of this case study, a review screen will appear.

This screen allows you to review your answers and to make changes before you move to the next section of the exam.

After you begin a new section, you cannot return to this section.

To start the case study - To display the first question in this case study, click the Next button.

Use the buttons in the left pane to explore the content of the case study before you answer the questions.

Clicking these buttons displays information such as business requirements, existing environment, and problem statements.

If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs.

When you are ready to answer a question, click the Question button to return to the question.

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.

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.

" Data is exported to an on-premises Teradata/Vertica data warehouse.

" Data analytics is performed in an on-premises Hadoop environment.

" The application has no logging.

" 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.

" Increase the number of concurrent users that can be supported.

" 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.

Technical Requirements - " The application and backend must provide usage metrics and monitoring.

" APIs require strong authentication and authorization.

" Logging must be increased, and data should be stored in a cloud analytics platform.

" Move to serverless architecture to facilitate elastic scaling.

" Provide authorized access to internal apps in a secure manner.

In order for HipLocal to store application state and meet their stated business requirements, which database service should they migrate to?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

A.

Based on the provided information, HipLocal wants to expand their existing service to 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. Additionally, HipLocal's investors want to expand their footprint and support the increase in demand they are seeing. They want to increase the number of concurrent users that can be supported and obtain user activity metrics to better understand how to monetize their product. The technical requirements for the application are that the APIs require strong authentication and authorization, logging must be increased, and data should be stored in a cloud analytics platform. They also need to move to serverless architecture to facilitate elastic scaling and provide authorized access to internal apps in a secure manner.

Given these requirements and technical specifications, HipLocal should migrate their existing state to a database service that can meet their needs for scalability, availability, and data storage. The options provided are Cloud Spanner, Cloud Datastore, Cloud Memorystore as a cache, and separate Cloud SQL clusters for each region.

Cloud Spanner is a horizontally scalable, globally distributed relational database service that offers strong consistency and high availability. It is designed to meet the needs of globally distributed applications with high transaction rates and low latency. Cloud Spanner allows for automatic scaling, replication, and failover across multiple regions. It also offers data encryption at rest and in transit. Considering HipLocal's need to expand their application to new regions and increase the number of concurrent users, Cloud Spanner could be a good option for them.

Cloud Datastore is a NoSQL document database that provides automatic scaling, replication, and failover. It offers strong consistency for read and write operations within a single entity group, but eventual consistency for cross-group transactions. Cloud Datastore is designed for applications that require high scalability and flexibility. However, given HipLocal's need for a relational database with strong consistency, Cloud Datastore may not be the best option for them.

Cloud Memorystore as a cache is a managed Redis service that provides in-memory data storage for high-performance applications. It offers automatic scaling and failover, and supports data encryption at rest and in transit. While Cloud Memorystore could be a good option for caching data, it may not meet HipLocal's need for a relational database with strong consistency.

Separate Cloud SQL clusters for each region could provide a scalable and highly available option for HipLocal's state storage needs. However, managing multiple clusters could increase their infrastructure management time and cost, which is one of their stated business requirements. Additionally, scaling and replication across multiple regions may require additional configuration and management.

Based on these considerations, Cloud Spanner seems to be the most appropriate option for HipLocal's state storage needs, as it offers strong consistency, horizontal scalability, and global availability, while also meeting their requirements for compliance, infrastructure management, and recommended cloud computing practices.