Amazon web services Gitlab CI定价共享跑步者与自托管aws跑步者

Amazon web services Gitlab CI定价共享跑步者与自托管aws跑步者,amazon-web-services,gitlab,gitlab-ci,gitlab-ci-runner,Amazon Web Services,Gitlab,Gitlab Ci,Gitlab Ci Runner,从上个月开始,我一直在Gitlab CI附近工作。最初,我设置了gitlab共享跑步者。然后,我们认为在aws上有一个自托管的runner会更好地立即管理成本 实际上,我们有6个使用自托管runner的微服务,即aws ec2-t3.micro(2vCPU,1GB)。这些工作是构建和推送docker映像,并将其部署到ECS集群上 我们有前端的android和ios项目,目前运行在共享的Runner上,需要大量的cpu和内存资源,可能是t3.xlarge(4vCPU,16GB) 我计划用Spot实

从上个月开始,我一直在Gitlab CI附近工作。最初,我设置了gitlab共享跑步者。然后,我们认为在aws上有一个自托管的runner会更好地立即管理成本

实际上,我们有6个使用自托管runner的微服务,即aws ec2-t3.micro(2vCPU,1GB)。这些工作是构建和推送docker映像,并将其部署到ECS集群上

我们有前端的android和ios项目,目前运行在共享的Runner上,需要大量的cpu和内存资源,可能是t3.xlarge(4vCPU,16GB)

我计划用Spot实例配置AWS自动伸缩GitLab runner,以便所有项目都可以在AWS上运行

Microservices runner将为每个作业Gitlab Ci触发器提供t3.micro作为点实例,其中as前端将为每个作业提供t3.xlarge点实例。spot实例的生存时间为60分钟

2个前端应用程序每天一起运行12次,每次运行3分钟。 6个微服务每天一起运行10次,每次运行2分钟

以下是我根据现有资源使用情况预测的成本,但到目前为止Gitlab或AWS尚未发生

Applications            Execution Time [per Job/Day/Month]  Jobs per Day    SpotInsatnce Price Monthly

2 frontend              3 mins / 36 mins / 1080 mins        12 jobs         t3.xlarge X 12 X 30 = $25

5 microservices         10 mins / 20 mins / 600 mins        2 jobs          t3.micro X 10 X 30 = $3
其中,Gitlab只需4美元就可以提供2000分钟的执行时间。 在这里,使用AWS需要花费我大约25美元

我这里的问题是,使用ec2自动缩放spot实例的自托管runner真的更好,还是使用gitlab shared runner更好

或者让我知道,如果我遗漏了什么,请启发我同样的想法


提前感谢

两者都不比另一个好,因为这取决于用户的意见和环境


AWS的高成本通过完全控制跑步者来平衡,并且不必等待运行作业(共享跑步者并不总是这样,但这是可能的)。共享跑步者的成本较低,不需要知识和时间来维护它们。谢谢您的回复@adam我想在这里补充一点。由于SPOT实例以分钟为基础收费,所以我认为我们可以在EC2ASG上设置这一点,但是再次考虑工作的数量和执行分钟数的要求。我们可以在从GITLAB CI配置成功的工作中删除SPOT实例吗?是的,您可以在没有问题的情况下这样做。但我会先检查Runners API中的一些内容。首先,我要检查该运行者()是否有任何状态为“正在运行”的作业。如果没有运行,我会在删除实例()之前使用API暂停运行程序。