为什么要使用ECS?与没有ECS的EC2相比,有什么优势?

Jes*_*num 1 amazon-ec2 amazon-ecs docker

与仅具有自动缩放功能的EC2相比,我对于何时在EC2上使用ECS感到困惑。如果我有一个在EC2竞价型实例集群上运行的Tomcat Web应用程序,为什么要在每个EC2实例上的一堆小docker实例中细分CPU和RAM?

Sas*_*shi 5

TLDR-

如果您有一个在EC2上运行的应用程序;使用EC2自动缩放

如果您有多个应用程序都在EC2上运行,并且每个应用程序都有自己的语言和环境需求,请对其进行容器化并在ECS上运行,以从逻辑上对应用程序进行逻辑集群并分别按比例上下扩展中受益


核心的EC2实例只是您可以随意设置,配置和运行的虚拟机。

另一方面,ECS是一项服务,可帮助您在EC2实例上运行容器化的应用程序。

使用容器而不是虚拟机的好处大致可以转化为将具有ECS的EC2实例与没有ECS的EC2实例一起使用的好处。

将CPU和RAM细分为一堆小的docker实例来运行Web应用程序可能没有任何意义。但是,如果您运行了一堆微服务,但是由于流量低或其他原因,您不想将它们部署在不同的EC2实例上,那将是有道理的。您可以对其进行容器化,然后在EC2实例上使用ECS运行它们。

您可以将微服务组织到逻辑集群中,这些逻辑集群都可以独立监视并根据需要进行扩展和缩小。

使用ECS AutoScaling,您将不得不放大或缩小整个EC2实例,如果只有一个微服务的负载有所增加,而其他微服务就很好,这可能就没有太大用处。