Font size
WorksheetsPro-DevOps-2
Total questions: 31
Worksheet time: 16mins
You support a stateless web-based API that is deployed on a single Compute Engine instance in the europe-west2-a zone. The Service Level Indicator (SLI) for service availability is below the specified Service Level Objective (SLO). A postmortem has revealed that requests to the API regularly time out. The time outs are due to the API having a high number of requests and running out memory. You want to improve service availability. What should you do?
Change the specified SLO to match the measured SLI
Move the service to higher-specification compute instances with more memory
Set up additional service instances in other zones and load balance the traffic between all instances
Set up additional service instances in other zones and use them as a failover in case the primary instance is unavailable
You are running a real-time gaming application on Compute Engine that has a production and testing environment. Each environment has their own Virtual Private Cloud (VPC) network. The application frontend and backend servers are located on different subnets in the environment's VPC. You suspect there is a malicious process communicating intermittently in your production frontend servers. You want to ensure that network traffic is captured for analysis. What should you do?
Enable VPC Flow Logs on the production VPC network frontend and backend subnets only with a sample volume scale of 0.5.
Enable VPC Flow Logs on the production VPC network frontend and backend subnets only with a sample volume scale of 1.0.
Enable VPC Flow Logs on the testing and production VPC network frontend and backend subnets with a volume scale of 0.5. Apply changes in testing before production.
Enable VPC Flow Logs on the testing and production VPC network frontend and backend subnets with a volume scale of 1.0. Apply changes in testing before production.
Your team of Infrastructure DevOps Engineers is growing, and you are starting to use Terraform to manage infrastructure. You need a way to implement code versioning and to share code with other team members. What should you do?
Store the Terraform code in a version-control system. Establish procedures for pushing new versions and merging with the master.
Store the Terraform code in a network shared folder with child folders for each version release. Ensure that everyone works on different files.
Store the Terraform code in a Cloud Storage bucket using object versioning. Give access to the bucket to every team member so they can download the files.
Store the Terraform code in a shared Google Drive folder so it syncs automatically to every team member's computer. Organize files with a naming convention that identifies each new version.
You are using Stackdriver to monitor applications hosted on Google Cloud Platform (GCP). You recently deployed a new application, but its logs are not appearing on the Stackdriver dashboard. You need to troubleshoot the issue. What should you do?
Confirm that the Stackdriver agent has been installed in the hosting virtual machine.
Confirm that your account has the proper permissions to use the Stackdriver dashboard.
Confirm that port 25 has been opened in the firewall to allow messages through to Stackdriver.
Confirm that the application is using the required client library and the service account key has proper permissions.
Your organization recently adopted a container-based workflow for application development. Your team develops numerous applications that are deployed continuously through an automated build pipeline to the production environment. A recent security audit alerted your team that the code pushed to production could contain vulnerabilities and that the existing tooling around virtual machine (VM) vulnerabilities no longer applies to the containerized environment. You need to ensure the security and patch level of all code running through the pipeline. What should you do?
Set up Container Analysis to scan and report Common Vulnerabilities and Exposures.
Configure the containers in the build pipeline to always update themselves before release.
Reconfigure the existing operating system vulnerability software to exist inside the container.
Implement static code analysis tooling against the Docker files used to create the containers.
You are a DevOps Engineer in wipro. You use Cloud Build to build your application. You want to reduce the build time while minimizing cost and development effort. What should you do?
Use Cloud Storage to cache intermediate artifacts.
Run multiple Jenkins agents to parallelize the build.
Use multiple smaller build steps to minimize execution time.
Use larger Cloud Build virtual machines (VMs) by using the machine-type option.
You support a web application that is hosted on Compute Engine. The application provides a booking service for thousands of users. Shortly after the release of a new feature, your monitoring dashboard shows that all users are experiencing latency at login. You want to mitigate the impact of the incident on the users of your service. What should you do first?
Roll back the recent release.
Review the Stackdriver monitoring.
Upsize the virtual machines running the login services.
Deploy a new release to see whether it fixes the problem.
You are deploying an application that needs to access sensitive information. You need to ensure that this information is encrypted and the risk of exposure is minimal if a breach occurs. What should you do?
Store the encryption keys in Cloud Key Management Service (KMS) and rotate the keys frequently
Inject the secret at the time of instance creation via an encrypted configuration management system.
Integrate the application with a Single sign-on (SSO) system and do not expose secrets to the application.
Leverage a continuous build pipeline that produces multiple versions of the secret for each instance of the application.
You encounter a large number of outages in the production systems you support. You receive alerts for all the outages that wake you up at night. The alerts are due to unhealthy systems that are automatically restarted within a minute. You want to set up a process that would prevent staff burnout while following Site Reliability Engineering practices. What should you do?
Eliminate unactionable alerts.
Create an incident report for each of the alerts.
Distribute the alerts to engineers in different time zones.
Redefine the related Service Level Objective so that the error budget is not exhausted.
You have migrated an e-commerce application to Google Cloud Platform (GCP). You want to prepare the application for the upcoming busy season. What should you do first to prepare for the busy season?
Load test the application to profile its performance for scaling
Enable AutoScaling on the production clusters, in case there is growth.
Pre-provision double the compute power used last season, expecting growth.
Create a runbook on inflating the disaster recovery (DR) environment if there is growth.
You support a web application that runs on App Engine and uses CloudSQL and Cloud Storage for data storage. After a short spike in website traffic, you notice a big increase in latency for all user requests, increase in CPU use, and the number of processes running the application. Initial troubleshooting reveals:
✑ After the initial spike in traffic, load levels returned to normal but users still experience high latency.
✑ Requests for content from the CloudSQL database and images from Cloud Storage show the same high latency. ✑ No changes were made to the website around the time the latency increased.
✑ There is no increase in the number of errors to the users.
You expect another spike in website traffic in the coming days and want to make sure users don't experience latency. What should you do?
Upgrade the GCS buckets to Multi-Regional.
Enable high availability on the CloudSQL instances.
Move the application from App Engine to Compute Engine.
Modify the App Engine configuration to have additional idle instances.
Mywipro application runs on Google Cloud Platform (GCP). You need to implement Jenkins for deploying application releases to GCP. You want to streamline the release process, lower operational toil, and keep user data secure. What should you do?
Implement Jenkins on local workstations.
Implement Jenkins on Kubernetes on-premises.
Implement Jenkins on Google Cloud Functions.
Implement Jenkins on Compute Engine virtual machines.
You are working with a government agency that requires you to archive application logs for seven years. You need to configure Stackdriver to export and store the logs while minimizing costs of storage. What should you do?
Create a Cloud Storage bucket and develop your application to send logs directly to the bucket.
Develop an App Engine application that pulls the logs from Stackdriver and saves them in BigQuery.
Create an export in Stackdriver and configure Cloud Pub/Sub to store logs in permanent storage for seven years.
Create a sink in Stackdriver, name it, create a bucket on Cloud Storage for storing archived logs, and then select the bucket as the log export destination.
You support a trading application written in Python and hosted on App Engine flexible environment. You want to customize the error information being sent to Stackdriver Error Reporting. What should you do?
Install the Stackdriver Error Reporting library for Python, and then run your code on a Compute Engine VM.
Install the Stackdriver Error Reporting library for Python, and then run your code on Google Kubernetes Engine.
Install the Stackdriver Error Reporting library for Python, and then run your code on App Engine flexible environment.
Use the Stackdriver Error Reporting API to write errors from your application to ReportedErrorEvent, and then generate log entries with properly formatted error messages in Stackdriver Logging.
You need to define Service Level Objectives (SLOs) for a high-traffic multi-region web application. Customers expect the application to always be available and have fast response times. Customers are currently happy with the application performance and availability. Based on current measurement, you observe that the 90 percentile of latency is 120ms and the 95 percentile of latency is 275ms over a 28-day window. What latency SLO would you recommend to the team to th th publish?
90 percentile 100 ms th 95 percentile 250 ms th
90 percentile 120 ms th 95 percentile 275 ms th
90 percentile 150 ms th 95 percentile 300 ms th
90 percentile 250 ms th 95 percentile 400 ms th
You support a large service with a well-defined Service Level Objective (SLO). The development team deploys new releases of the service multiple times a week. If a major incident causes the service to miss its SLO, you want the development team to shift its focus from working on features to improving service reliability. What should you do before a major incident occurs?
Develop an appropriate error budget policy in cooperation with all service stakeholders.
Negotiate with the product team to always prioritize service reliability over releasing new features.
Negotiate with the development team to reduce the release frequency to no more than once a week.
Add a plugin to your Jenkins pipeline that prevents new releases whenever your service is out of SLO.
Your company is developing applications that are deployed on Google Kubernetes Engine (GKE). Each team manages a different application. You need to create the development and production environments for each team, while minimizing costs. Different teams should not be able to access other teams' environments. What should you do?
Create one GCP Project per team. In each project, create a cluster for Development and one for Production. Grant the teams IAM access to their respective clusters.
Create one GCP Project per team. In each project, create a cluster with a Kubernetes namespace for Development and one for Production. Grant the teams IAM access to their respective clusters.
Create a Development and a Production GKE cluster in separate projects. In each cluster, create a Kubernetes namespace per team, and then configure Identity Aware Proxy so that each team can only access its own namespace.
Create a Development and a Production GKE cluster in separate projects. In each cluster, create a Kubernetes namespace per team, and then configure Kubernetes Role-based access control (RBAC) so that each team can only access its own namespace.
Some of your production services are running in Google Kubernetes Engine (GKE) in the eu-west-1 region. Your build system runs in the us-west-1 region. You want to push the container images from your build system to a scalable registry to maximize the bandwidth for transferring the images to the cluster. What should you do?
Push the images to Google Container Registry (GCR) using the gcr.io hostname.
Push the images to Google Container Registry (GCR) using the us.gcr.io hostname.
Push the images to Google Container Registry (GCR) using the eu.gcr.io hostname.
Push the images to a private image registry running on a Compute Engine instance in the eu-west-1 region.
You manage several production systems that run on Compute Engine in the same Google Cloud Platform (GCP) project. Each system has its own set of dedicated Compute Engine instances. You want to know how must it costs to run each of the systems. What should you do?
In the Google Cloud Platform Console, use the Cost Breakdown section to visualize the costs per system.
Assign all instances a label specific to the system they run. Configure BigQuery billing export and query costs per label.
Enrich all instances with metadata specific to the system they run. Configure Stackdriver Logging to export to BigQuery, and query costs based on the metadata.
Name each virtual machine (VM) after the system it runs. Set up a usage report export to a Cloud Storage bucket. Configure the bucket as a source in BigQuery to query costs based on VM name.
You use Cloud Build to build and deploy your application. You want to securely incorporate database credentials and other application secrets into the build pipeline. You also want to minimize the development effort. What should you do?
Create a Cloud Storage bucket and use the built-in encryption at rest. Store the secrets in the bucket and grant Cloud Build access to the bucket.
Encrypt the secrets and store them in the application repository. Store a decryption key in a separate repository and grant Cloud Build access to the repository.
Use client-side encryption to encrypt the secrets and store them in a Cloud Storage bucket. Store a decryption key in the bucket and grant Cloud Build access to the bucket.
Use Cloud Key Management Service (Cloud KMS) to encrypt the secrets and include them in your Cloud Build deployment configuration. Grant Cloud Build access to the KeyRing.
You support a popular mobile game application deployed on Google Kubernetes Engine (GKE) across several Google Cloud regions. Each region has multiple Kubernetes clusters. You receive a report that none of the users in a specific region can connect to the application. You want to resolve the incident while following Site Reliability Engineering practices. What should you do first?
Reroute the user traffic from the affected region to other regions that don't report issues.
Use Stackdriver Monitoring to check for a spike in CPU or memory usage for the affected region.
Add an extra node pool that consists of high memory and high CPU machine type instances to the cluster.
Use Stackdriver Logging to filter on the clusters in the affected region, and inspect error messages in the logs.
You are writing a postmortem for an incident that severely affected users. You want to prevent similar incidents in the future. Which two of the following sections should you include in the postmortem? (Choose two.)
An explanation of the root cause of the incident.
A list of employees responsible for causing the incident
A list of action items to prevent a recurrence of the incident
Your opinion of the incident's severity compared to past incidents
Copies of the design documents for all the services impacted by the incident
You are ready to deploy a new feature of a web-based application to production. You want to use Google Kubernetes Engine (GKE) to perform a phased rollout to half of the web server pods. What should you do?
Use a partitioned rolling update.
Use Node taints with NoExecute.
Use a replica set in the deployment specification.
Use a stateful set with parallel pod management policy.
You are responsible for the reliability of a high-volume enterprise application. A large number of users report that an important subset of the application's functionality `" a data intensive reporting feature `" is consistently failing with an HTTP 500 error. When you investigate your application's dashboards, you notice a strong correlation between the failures and a metric that represents the size of an internal queue used for generating reports. You trace the failures to a reporting backend that is experiencing high I/O wait times. You quickly fix the issue by resizing the backend's persistent disk (PD). How you need to create an availability Service Level Indicator (SLI) for the report generation feature. How would you define it?
As the I/O wait times aggregated across all report generation backends
As the proportion of report generation requests that result in a successful response
As the application's report generation queue size compared to a known-good threshold
As the reporting backend PD throughout capacity compared to a known-good threshold
You have an application running in Google Kubernetes Engine. The application invokes multiple services per request but responds too slowly. You need to identify which downstream service or services are causing the delay. What should you do?
Analyze VPC flow logs along the path of the request.
Investigate the Liveness and Readiness probes for each service.
Create a Dataflow pipeline to analyze service metrics in real time.
Use a distributed tracing framework such as OpenTelemetry or Stackdriver Trace.
You are creating and assigning action items in a postmodern for an outage. The outage is over, but you need to address the root causes. You want to ensure that your team handles the action items quickly and efficiently. How should you assign owners and collaborators to action items?
Assign one owner for each action item and any necessary collaborators.
Assign multiple owners for each item to guarantee that the team addresses items quickly.
Assign collaborators but no individual owners to the items to keep the postmortem blameless.
Assign the team lead as the owner for all action items because they are in charge of the SRE team.
Your development team has created a new version of their service's API. You need to deploy the new versions of the API with the least disruption to third-party developers and end users of third-party installed applications. What should you do?
Introduce the new version of the API. Announce deprecation of the old version of the API. Deprecate the old version of the API. Contact remaining users of the old API. Provide best effort support to users of the old API. Turn down the old version of the API.
Announce deprecation of the old version of the API. Introduce the new version of the API. Contact remaining users on the old API. Deprecate the old version of the API. Turn down the old version of the API. Provide best effort support to users of the old API.
Announce deprecation of the old version of the API. Contact remaining users on the old API. Introduce the new version of the API. Deprecate the old version of the API. Provide best effort support to users of the old API. Turn down the old version of the API.
Introduce the new version of the API. Contact remaining users of the old API. Announce deprecation of the old version of the API. Deprecate the old version of the API. Turn down the old version of the API. Provide best effort support to users of the old API.
You are running an application on Compute Engine and collecting logs through Stackdriver. You discover that some personally identifiable information (PII) is leaking into certain log entry fields. You want to prevent these fields from being written in new log entries as quickly as possible. What should you do?
Use the filter-record-transformer Fluentd filter plugin to remove the fields from the log entries in flight.
Use the fluent-plugin-record-reformer Fluentd output plugin to remove the fields from the log entries in flight.
Wait for the application developers to patch the application, and then verify that the log entries are no longer exposing PII.
Stage log entries to Cloud Storage, and then trigger a Cloud Function to remove the fields and write the entries to Stackdriver via the Stackdriver Logging API.
You support a service that recently had an outage. The outage was caused by a new release that exhausted the service memory resources. You rolled back the release successfully to mitigate the impact on users. You are now in charge of the post-mortem for the outage. You want to follow Site Reliability Engineering practices when developing the post-mortem. What should you do?
Focus on developing new features rather than avoiding the outages from recurring.
Focus on identifying the contributing causes of the incident rather than the individual responsible for the cause.
Plan individual meetings with all the engineers involved. Determine who approved and pushed the new release to production.
Use the Git history to find the related code commit. Prevent the engineer who made that commit from working on production services.
You support a user-facing web application. When analyzing the application's error budget over the previous six months, you notice that the application has never consumed more than 5% of its error budget in any given time window. You hold a Service Level Objective (SLO) review with business stakeholders and confirm that the SLO is set appropriately. You want your application's SLO to more closely reflect its observed reliability. What steps can you take to further that goal while balancing velocity, reliability, and business needs? (Choose two.)
Add more serving capacity to all of your application's zones.
Have more frequent or potentially risky application releases.
Tighten the SLO match the application's observed reliability.
Implement and measure additional Service Level Indicators (SLIs) fro the application.
Announce planned downtime to consume more error budget, and ensure that users are not depending on a tighter SLO.
You support a service with a well-defined Service Level Objective (SLO). Over the previous 6 months, your service has consistently met its SLO and customer satisfaction has been consistently high. Most of your service's operations tasks are automated and few repetitive tasks occur frequently. You want to optimize the balance between reliability and deployment velocity while following site reliability engineering best practices. What should you do? (Choose two.)
Make the service's SLO more strict.
Increase the service's deployment velocity and/or risk.
Shift engineering time to other services that need more reliability.
Get the product team to prioritize reliability work over new features.
Change the implementation of your Service Level Indicators (SLIs) to increase coverage.
