我正在使用一个将使用微服务架构的项目,我正在使用App Engine,我的项目的每个服务都部署为App Engine中的服务,App Engine中的每个服务都使用一个或多个VM Machine。
我使用App Engine Flexible Environment
,因为我使用了nodejs
和Python 3.4
https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
我知道我可以使用app.yaml的以下设置
来限制每项服务的实例数量automatic_scaling:
min_num_instances: 1
max_num_instances: 10
cool_down_period_sec: 120 # default value
cpu_utilization:
target_utilization: 0.5
resources:
cpu: .1
memory_gb: 0.18
disk_size_gb: 10
我知道有Standard Environment
我们有一些免费配额,并且会在应用消耗超过免费配额之后收费,这是真的有用并且是我需要的,但我不能在该环境中使用Nodejs
和Python3.4
。
我可以设置应用将使用哪个VM或VM组吗?我的目标是尝试省钱实例,因为我们可能会提供多种服务,主要是在开始时价格昂贵!
答案 0 :(得分:0)
目前不可能。即使每个应用程序在一个容器中运行,它也会使用一个单独的虚拟机(这有点没用)。您甚至无法定义同一应用程序的容器以在特定VM或特定VM组上运行。
我相信这会在将来发生变化,但根据记录,这可能需要1到2年甚至更长时间,所以不要屏住呼吸。
我假设您已经知道灵活/托管虚拟机环境要求至少有一个实例始终开启且免费配额不包含此实例。
值得注意的是,Amazon Beanstalk allows在一个实例上运行多个容器。