亚马逊亦针对Docker 在作业系统虚拟化这个范畴上作出了一些配合,务求达至在云端应用层面上比较容易进行配置和管理
虽然Docker的理念是不错,但好多人就对它产生许多谬误,例如它本质是类似虚拟化主机的容器,然而把它运行左AWS上是否就是系一个虚拟化上再建立另外一个虚拟化,那么就是不是会出现资源上的错配呢。 Docker能服务重活化不同领域上都功能实在不少,现在我就以运行网站的基础来探讨一下。
Docker 有不同的模组可供给用户使用,亦包括网站的架构,但内部的设定基本上都是围绕编程者设计的本身,并没有一个能长远多角度发展的方向。相对地透过利用AWS 的CloudFormation 配合Chef 的设定管理去营造一个基础的网站研发环境,就如下图BootDev的概念一样,在应用层面上就比较拥有弹性。
何时应该使用Docker
个人认为使用Docker,应詃在于多台主机同时使用。如果你的服务器达至若干规模,考虑使用Docker为它提供了先进的优化。目前,你必须在大规模使用Docker,才能体现到它的好处,然而Docker添加到你的系统时会发生额外的复杂性。
当然,这种建议假定您的系统已经是功能强大和全面覆盖至自动化,安全性,备份方案,监控方案等。
Docker 是一个了不起的项目,亦是一个很先进的系统管理。这是非常强大的,有许多用实用的例子也出了我们的讨论范围。我在这里的重点是评估Docker对服务器的设置和提供Web应用程序,但是,也有其他的设置在这里我的建议上面未必有关系。 Docker的发展进行得很快,所以我的一些意见,可能会过时的。
ECS使用AWS工具来应用,令到整个部署过程变得更容易。 ,但最终的结果仍然是一堆在AWS上,你可能已经建立了自己使用各种工具运行的Docker Container 。但亚马逊没有在意在硬体性能的扩充,如果您的应用程序并行,你总能扩展由旋转起来更多的实例。
相反,亚马逊希望让客户更容易构建,部署和管理的container“微服务”,这是下一代的架构,承诺提供Container的真正价值是组成的应用程序。为此,亚马逊已建成ECS并包括一组API,客户可以以编程方式访问,并有效地使本身的应用程序。
以下是一个有关AWS ECS 在应用上的一些比较,希望能有助你们分析使用AWS ECS 作为网站部署方案的利与弊。