替换 Google Cloud Function 的替代方法
Alternative to replace Google Cloud Function
我正在使用 Google 云函数来 运行 ETL 作业:
- 从 JSON API
获取数据
- 用另一个 API
丰富该数据的每一行
- 写入云存储
云调度程序 cron 作业每晚 运行s 触发云功能。我还可以 运行 管道手动查询特定日期。云函数写在Python.
这项工作 运行 总是接近 9 分钟,但它在几个月内都运行良好。不幸的是,现在我达到了 Google Cloud Functions 的 9 分钟硬限制,我想知道我最好的选择是什么:
- 设置计算引擎
- 设置应用引擎
- 使用云函数对其进行并行化并节省时间。
有没有更好的选择?哪种 GCP 服务最适合这项任务?你有什么最佳实践吗?我真的很喜欢云函数的简单性,但这当然需要权衡...
我推荐你使用Cloud Run。
- 今天暂停 15 分钟,很快还有 4 次!这足以满足您的处理需求。
- 如果您的代码可以利用多个 CPU,您可以有 2 个 CPU 和 Cloud 运行。
- 但是,如果可以同时进行多个处理,Cloud 运行 可以在同一实例上处理最多 80 个并发请求,而 Cloud Function 只能处理一个。如果您在您的实例上执行高性能计算,最好避免并发。将 --concurrency 参数设置为 1 以获得与 Cloud Function 完全相同的行为。
我wrote an article where I wrap a simple function into a Cloud Run service. Few lines of code, an addition import (flask) and that's all! Put a standard Dockerfile for python并部署!
使用新的 Buildpack feature,您甚至可以避免创建 Dockerfile! Buildpack 安装在 Cloud Shell 上,如果您使用 Cloud Build,我有一个可用的示例(请告诉我!)
我正在使用 Google 云函数来 运行 ETL 作业:
- 从 JSON API 获取数据
- 用另一个 API 丰富该数据的每一行
- 写入云存储
云调度程序 cron 作业每晚 运行s 触发云功能。我还可以 运行 管道手动查询特定日期。云函数写在Python.
这项工作 运行 总是接近 9 分钟,但它在几个月内都运行良好。不幸的是,现在我达到了 Google Cloud Functions 的 9 分钟硬限制,我想知道我最好的选择是什么:
- 设置计算引擎
- 设置应用引擎
- 使用云函数对其进行并行化并节省时间。
有没有更好的选择?哪种 GCP 服务最适合这项任务?你有什么最佳实践吗?我真的很喜欢云函数的简单性,但这当然需要权衡...
我推荐你使用Cloud Run。
- 今天暂停 15 分钟,很快还有 4 次!这足以满足您的处理需求。
- 如果您的代码可以利用多个 CPU,您可以有 2 个 CPU 和 Cloud 运行。
- 但是,如果可以同时进行多个处理,Cloud 运行 可以在同一实例上处理最多 80 个并发请求,而 Cloud Function 只能处理一个。如果您在您的实例上执行高性能计算,最好避免并发。将 --concurrency 参数设置为 1 以获得与 Cloud Function 完全相同的行为。
我wrote an article where I wrap a simple function into a Cloud Run service. Few lines of code, an addition import (flask) and that's all! Put a standard Dockerfile for python并部署!
使用新的 Buildpack feature,您甚至可以避免创建 Dockerfile! Buildpack 安装在 Cloud Shell 上,如果您使用 Cloud Build,我有一个可用的示例(请告诉我!)