我们有一个shell脚本,它通过多个步骤运行java和python程序的组合。在AWS中,当我们需要同时运行多个时,我们会向所有预先构建的VM发送一个参数集和一个请求(服务器列表为CV-1、CV-2、CV-3等(,并考虑到这一点。其中几个进程可以同时运行,除了数据库更新之外,它们没有任何相互依赖关系。我们有多达16个虚拟机同时运行,没有任何问题,只有一个控制实例可以跟踪每个实例何时完成。
我们正在寻找更多的可扩展性。如果我们不需要16台机器,那就太好了;运行";以及等待一些事情来启动他们。我们希望能够启动我们需要的任何数量,但同样有兴趣在他们空闲时不为他们付费。他们80%以上的时间都处于闲置状态。但一旦我们需要它们,我们就需要它们,因为其中一些可能需要一段时间才能完成。这些机器的尺寸都一样。这可能也是一个问题。
我正在研究谷歌无服务器的例子,虽然这似乎是我所需要的,但还不完全清楚它是否按我希望的方式工作。我希望我能把所有的程序(python、Java、shell(放在一个容器中,并动态实例化机器的一个实例。我只需要给它传递3个参数,这看起来很容易。
我感到困惑的是它能运行什么。我还没有看到它启动shell脚本或python程序的例子。大量的Java";你好世界";就我目前的专业水平而言,这还可以,但我看不到任何运行shell脚本的东西。即使是蟒蛇";脚本";是可以接受的,甚至可能更好。
根据输入的大小,每个脚本运行时间在10分钟到5小时之间。所以4-5分钟的启动不会困扰我们。大多数在20分钟的范围内,大约5%在4小时以上的范围内。
问题实际上是:这种方法适用于谷歌无服务器吗?如果是否定的,那么其余的都无关紧要!
感谢
无服务器计算产品(Cloud Run、Cloud Function、App Engine(响应HTTP请求。因此,您需要公开一个HTTP服务器来使用这些服务。不可能进行后台处理,并且时间有限
- 9分钟的云功能
- Cloud Run 60分钟
- 24小时应用引擎标准,基本或手动缩放+云任务
如果你需要运行后台进程,或者没有https进程,你可以使用Cloud Build作弊(使用你的容器并在假Build中运行你想要的命令(,或者你可以使用AI平台自定义培训来运行你的容器数小时。
此最新解决方案是唯一支持GPU容量的解决方案。
您需要更新或重新设计流程以适应此模型。我认为根据您的要求,便携性不是立竿见影的。