HipLocal - MySQL Deployment Configuration for Improved Resilience and Scalability

MySQL Deployment Configuration for Improved Resilience and Scalability

Question

Case Study - 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.

HipLocal wants to improve the resilience of their MySQL deployment, while also meeting their business and technical requirements.

Which configuration should they choose?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

B.

HipLocal wants to improve the resilience of their MySQL deployment, while also meeting their business and technical requirements. They have limited experience in global scale applications and their existing technical environment is a mix of on-premises hardware and infrastructure running in Google Cloud Platform. They want to expand their existing service, with updated functionality, in new regions to better serve their global customers. They will need to ensure that the application scales smoothly and provides clear uptime data. In order to meet their business and technical requirements, they need to choose the right configuration for their MySQL deployment.

Option A: Use the current single instance MySQL on Compute Engine and several read-only MySQL servers on Compute Engine.

This option involves keeping the current single instance MySQL database on Compute Engine and adding several read-only MySQL servers on Compute Engine. This configuration can help to improve the resilience of the database by distributing read traffic across multiple servers. However, this option does not provide high availability for the database in case of failure, and it does not meet the technical requirement to move to a serverless architecture to facilitate elastic scaling.

Option B: Use the current single instance MySQL on Compute Engine, and replicate the data to Cloud SQL in an external master configuration.

This option involves keeping the current single instance MySQL database on Compute Engine and replicating the data to Cloud SQL in an external master configuration. This can help to improve the resilience of the database by providing a backup copy of the data in Cloud SQL. However, this configuration still requires manual management of the database and does not meet the technical requirement to move to a serverless architecture to facilitate elastic scaling.

Option C: Replace the current single instance MySQL instance with Cloud SQL, and configure high availability.

This option involves replacing the current single instance MySQL instance with Cloud SQL and configuring high availability. Cloud SQL provides a fully managed service for MySQL, which can help to reduce infrastructure management time and cost. In addition, configuring high availability can improve the resilience of the database by providing automatic failover in case of a failure. This option also meets the technical requirement to move to a serverless architecture to facilitate elastic scaling.

Option D: Replace the current single instance MySQL instance with Cloud SQL, and Google provides redundancy without further configuration.

This option involves replacing the current single instance MySQL instance with Cloud SQL, and Google provides redundancy without further configuration. Cloud SQL provides a fully managed service for MySQL, which can help to reduce infrastructure management time and cost. In addition, Google provides redundancy without further configuration, which can improve the resilience of the database. This option also meets the technical requirement to move to a serverless architecture to facilitate elastic scaling.

Overall, options C and D both involve replacing the current single instance MySQL instance with Cloud SQL, which is a fully managed service that can help to reduce infrastructure management time and cost. However, option D is the better option as it provides redundancy without further configuration, which can improve the resilience of the database. Therefore, HipLocal should choose option D to improve the resilience of their MySQL deployment, while also meeting their business and technical requirements.