HipLocal: Storing Application State - SEO for Better Business Expansion

How to Store Application State for HipLocal's Business Expansion

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 to meet their business requirements, how should HipLocal store their application state?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

B.

HipLocal is a community application that needs to expand its services in new regions to better serve its global customers. Their 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 10,000 miles away from each other. Therefore, HipLocal needs to increase the 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, and adopt the Google-recommended practices for cloud computing.

To meet these business requirements, HipLocal needs to meet certain 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. In addition, HipLocal needs to move to serverless architecture to facilitate elastic scaling and provide authorized access to internal apps in a secure manner.

Regarding the state storage, HipLocal currently stores the state in a single instance MySQL database in GCP. However, this architecture might not be suitable for a globally distributed application that needs to handle a large number of concurrent users. Therefore, HipLocal needs to find a new storage solution that can meet their business and technical requirements.

Option A, using local SSDs to store state, might not be a suitable solution for HipLocal because local SSDs are attached to the virtual machine instance and can't be shared with other instances. This could lead to inconsistent data and could be difficult to scale.

Option B, putting a memcache layer in front of MySQL, could help reduce the read load on the MySQL database, but it doesn't provide a reliable storage solution for the state. This option could help to improve the performance of the application, but it doesn't solve the problem of scaling and reliability.

Option D, replacing the MySQL instance with Cloud SQL, could be a viable option for HipLocal because Cloud SQL is a fully managed relational database service that can handle scaling, backups, and updates automatically. However, Cloud SQL still requires manual management of the database, and it might not be the most cost-effective option.

Option C, moving the state storage to Cloud Spanner, could be the best solution for HipLocal because Cloud Spanner is a globally distributed, horizontally scalable, and strongly consistent relational database service. Cloud Spanner provides high availability and can handle automatic scaling, backups, and updates. In addition, it provides support for distributed transactions, and it's designed to provide low latency and high throughput. Cloud Spanner can also help HipLocal meet their compliance requirements, as it supports HIPAA, GDPR, and other regulatory standards.

In conclusion, the best option for HipLocal to store their application state would be to move the state storage to Cloud Spanner. This solution provides a globally distributed, horizontally scalable, and strongly consistent relational database service that can meet their business and technical requirements.