Google Cloud Tasks
Author: Ronald Fung
Creation Date: 15 June 2023
Next Modified Date: 15 June 2024
A. Introduction
Cloud Tasks is a fully managed service that allows you to manage the execution, dispatch and delivery of a large number of distributed tasks. You can asynchronously
perform work outside of a user request. Your tasks can be executed on App Engine or any arbitrary HTTP endpoint. Learn more.
B. How is it used at Seagen
Google Cloud Tasks is a fully managed service that enables businesses to manage and execute distributed tasks asynchronously across different applications and services. Here are some ways that Seagen can use Google Cloud Tasks to manage and execute tasks:
Task Queuing: Seagen can use Google Cloud Tasks to queue tasks for execution across different applications and services. This can help to improve operational efficiency and reduce the need for manual intervention.
Task Prioritization: Google Cloud Tasks provides the ability to prioritize tasks based on importance or urgency. Seagen can use this feature to ensure that critical tasks are executed first and that all tasks are completed within the desired timeframe.
Task Execution: Google Cloud Tasks provides the ability to execute tasks asynchronously across different applications and services. Seagen can use this feature to execute tasks across different systems, such as running data processing scripts or invoking APIs.
Integration with Other Google Services: Google Cloud Tasks integrates well with other Google Cloud services, such as Google Cloud Pub/Sub and Google Cloud Functions. Seagen can use these integrations to build complex workflows and automate more complex tasks.
Customizable Task Management: Google Cloud Tasks provides customizable task management options, such as retrying failed tasks or setting task timeouts. Seagen can use these options to ensure that tasks are executed correctly and efficiently.
By using Google Cloud Tasks, Seagen can manage and execute tasks across different applications and services, improve operational efficiency, and reduce the risk of errors and downtime. Google Cloud Tasks provides a range of customizable task management options and integrates well with other Google Cloud services, making it a powerful tool for managing and executing tasks in the cloud.
C. Features
Scalable and fully managed
Build on the same fully managed service that powers our biggest customers.
HTTP targets
Add tasks targeting any HTTP service running on Compute Engine, Google Kubernetes Engine, Cloud Run, Cloud Functions or on-premises systems in a secure fashion using industry standard OAuth/OIDC authentication.
Rate and retry controls
Control the execution by setting the rate at which tasks are dispatched, the maximum number of attempts, and the minimum amount of time to wait between attempts.
Task deduplication
Tasks added multiple times will only be dispatched once.
Dashboard and command line interfaces
Manage, monitor, and inspect your queues and tasks from the Cloud Console interface of the gcloud command line.
Future scheduling
Control the time at which a task is run.
Guaranteed delivery
Cloud Tasks guarantees at-least-once delivery and most tasks are delivered exactly once.
Popular languages
Use client libraries in Java, Python, Node.js, PHP, and Go. Or enqueue tasks using the REST API from any language and anywhere.
D. Where Implemented
E. How it is tested
Testing Google Cloud Tasks involves verifying that tasks are executed as expected and that they meet the desired performance and reliability requirements. Here are some steps you can take to test Google Cloud Tasks:
Define Tasks: Define the tasks for your application, such as running data processing scripts or invoking APIs. Create the necessary configurations and parameters needed for the task to be executed.
Queue Tasks: Queue the tasks using Google Cloud Tasks and verify that the queuing process is successful. This can include checking that the task is added to the correct queue and that any queueing parameters are set correctly.
Execute Tasks: Execute the queued tasks and verify that they are executed as expected. This can include checking that the task is executed on time, that it completes successfully, and that any output or results are generated as expected.
Monitor Performance: Monitor the performance of the executed tasks to ensure that they are stable, accurate, and performing as expected. This can include monitoring task execution time, performance metrics, and other task-specific metrics.
Perform A/B Testing: Perform A/B testing to compare the performance of different task management options and ensure that they meet the desired performance thresholds.
Troubleshoot and Debug: If any issues arise during testing, troubleshoot and debug the problem to identify the root cause and resolve the issue.
By following these steps, you can test Google Cloud Tasks and ensure that your tasks are executed as expected and meet the desired performance and reliability requirements. It’s important to regularly test your tasks to ensure that they remain accurate, effective, and reliable and to avoid costly errors or downtime.
F. 2023 Roadmap
????
G. 2024 Roadmap
????
H. Known Issues
While Google Cloud Tasks is a powerful service for managing and executing tasks in the cloud, there are some known issues or limitations that you should be aware of. Here are some common issues with Google Cloud Tasks:
Limited Customization: While Google Cloud Tasks provides tools for managing and executing tasks, the customization options may be limited for more complex tasks. It’s important to review the customization options and ensure that they meet the specific needs of your application.
Cost: Google Cloud Tasks is a paid service, and the cost can increase significantly for businesses with large or complex task management needs. It’s important to review the pricing structure and estimate the cost of the service for your specific needs.
Limited Integration with Non-Google Services: While Google Cloud Tasks integrates well with other Google services, it may not integrate with all third-party services or tools. It’s important to review the integration options and ensure that all necessary integrations are supported.
Limited Task Execution Time: Google Cloud Tasks has a maximum task execution time of 24 hours, which may not be sufficient for more complex tasks. It’s important to review the task execution time and ensure that it meets the specific needs of your application.
Limited Task Size: Google Cloud Tasks has a maximum task size of 100KB, which may not be sufficient for more complex tasks. It’s important to review the task size and ensure that it meets the specific needs of your application.
It’s important to be aware of these limitations and issues when using Google Cloud Tasks. By understanding these challenges, you can better ensure that your task management processes remain reliable and efficient and avoid costly errors or downtime.
[x] Reviewed by Enterprise Architecture
[x] Reviewed by Application Development
[x] Reviewed by Data Architecture