google-cloud-platform - 创建 VM 的副本
问题描述
我正准备进入云计算的世界。
我的第一个问题是:
是否可以以编程方式从我的服务器创建新的或复制现有的 VM?
项目背景
我提供文件处理服务,随着它的发展,我需要提供更好的服务。
项目要求
机器规格:
硬盘:最小 16GB
CPU:最少 1 个核心
内存:最少 2
GB GPU:兼容最低 CUDA 10.1
我在想的是以下步骤:
- 用户上传文件
- 在 Google Cloud Compute 中为该特定文件创建一个专用 VM
- 文件被发送到虚拟机
- 使用 Anaconda 环境处理文件
- 结果下载到本地服务器
- 专用 VM 已删除
- 结果提供给用户
这是如何实现的?
PS:我正在寻找资源和建议。不是代码。
解决方案
您的问题是对 Google Cloud Run 概念的完美表述。在最高级别的概念中,您创建一个 Docker 映像(将其视为 VM),然后将该 Docker 映像注册到 GCP Cloud Run。当触发发生时,GCP 将启动该 Docker 容器的实例并传递有关触发原因的信息(在 GCS 中创建的文件或 REST 请求或其他...)。您在容器中做什么取决于您自己。您拥有 Linux 环境(在 Docker 下)的全部功能,可以随心所欲地做事。当您的请求结束时,容器将旋转下来。您只需为您使用的计算资源付费。如果您的容器 (VM) 未被使用,则在下一次触发之前您无需支付任何费用。
Cloud Run 的替代方案是 Cloud Functions。这是一个更高级别的抽象,您无需提供 Docker 容器,而是提供函数的主体(JavaScript、Java、Python 或其他),并在触发发生时将请求传递给该函数。您使用的主要是个人选择(您没有详细说明“文件已处理”)。
参考:
推荐阅读
- vue.js - 单水疗微应用 beforeRouteLeave 在 vue 应用程序中不起作用
- android - 导航:多个返回堆栈而不会丢失视图状态、任何已保存的实例状态和附加到该片段的 ViewModel
- javascript - 使用 Chrome 扩展程序/JavaScript 循环遍历 URL 数组
- java - 回退到 Elasticsearch 密码包含“@”和“$”
- java - java类如何根据需要发送其参数?
- sql - 如何在一个表中有两个外键?(SQL-Server)
- excel - 使用 ActiveObject 在 Word (JScript, Javascript) 中选择收件人
- javascript - 显示 auth 表中的所有用户
- javascript - 同一列中具有 2 个页脚的垫表
- react-native - React 测试渲染器 JSON 没有子级的 Typescript 错误