nerdexam
Google

PROFESSIONAL-CLOUD-DEVELOPER · Question #185

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 A. Include unit tests in their code, and prevent deployments to QA until all tests have a passing. The correct answer is A: Include unit tests in their code and prevent deployments to QA until all tests pass. When APIs are rapidly changing and growing in a scaling application like HipLocal, the most effective way to maintain stability is to enforce quality gates at the CI/CD p

Build and Test Applications

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 increase their API development speed while continuing to provide the QA team with a stable testing environment that meets feature requirements?

Options

  • AInclude unit tests in their code, and prevent deployments to QA until all tests have a passing
  • BInclude performance tests in their code, and prevent deployments to QA until all tests have a
  • CCreate health checks for the QA environment, and redeploy the APIs at a later time if the
  • DRedeploy the APIs to App Engine using Traffic Splitting. Do not move QA traffic to the new

How the community answered

(20 responses)
  • A
    80% (16)
  • B
    10% (2)
  • C
    5% (1)
  • D
    5% (1)

Explanation

The correct answer is A: Include unit tests in their code and prevent deployments to QA until all tests pass. When APIs are rapidly changing and growing in a scaling application like HipLocal, the most effective way to maintain stability is to enforce quality gates at the CI/CD pipeline level. Unit tests catch regressions at the code level before any deployment occurs, and blocking the QA promotion when tests fail ensures that only validated code reaches shared environments. This approach is the lowest-cost, most automated, and most direct solution to catching bugs before they impact QA. Performance tests (B) are useful but don't directly address functional regressions from frequent code changes. Health checks (C) react after a bad deployment already reaches QA, which is too late. Traffic splitting (D) is a production release strategy, not a QA quality gate.

Topics

#Software Testing#Continuous Integration#Application Lifecycle Management#Development Workflow

Community Discussion

No community discussion yet for this question.

Full PROFESSIONAL-CLOUD-DEVELOPER Practice