QuestionQ156

Designing scalable, available, and reliable cloud-native applications

You are creating a new application with these design requirements:

  • Application-infrastructure creation and modifications must be versioned and auditable.
  • The application and its deployment infrastructure must use Google-managed services wherever possible.
  • The application must run on a serverless compute platform.

How should you design the application's architecture?

  • A
    1. Store the application and infrastructure source code in a Git repository. 2. Use Cloud Build to deploy the application infrastructure with Terraform. 3. Deploy the application to a Cloud Function as a pipeline step.
  • B
    1. Deploy Jenkins from the Google Cloud Marketplace, and define a continuous integration pipeline in Jenkins. 2. Configure a pipeline step to pull the application source code from a Git repository. 3. Deploy the application source code to App Engine as a pipeline step.
  • C
    1. Create a continuous integration pipeline on Cloud Build, and configure the pipeline to deploy the application infrastructure using Deployment Manager templates. 2. Configure a pipeline step to create a container with the latest application source code. 3. Deploy the container to a Compute Engine instance as a pipeline step.
  • D
    1. Deploy the application infrastructure using gcloud commands. 2. Use Cloud Build to define a continuous integration pipeline for changes to the application source code. 3. Configure a pipeline step to pull the application source code from a Git repository, and create a containerized application. 4. Deploy the new container on Cloud Run as a pipeline step.
Explanation

Store application code and infrastructure-as-code definitions in Git so infrastructure changes have a versioned, auditable history. Use the managed Cloud Build service to execute Terraform deployments, and deploy the application to Cloud Functions, a serverless compute platform. This meets the managed-services preference without requiring self-managed CI infrastructure or virtual machines.

Learn more

Community Discussion

No comments yet. Be the first to start the discussion!