Amazon 的 Docker - AWS ECS 是否適合作為網站部署的方案

Container as a Service, 这是近年一个很有价值的题目,然而Docker 这个概念可以说是佼佼者。有很多人会问究竟Docker是一个怎么样的架构,为何连Amazon, Mircosoft等大型企业都即极研究Docker 的可行性呢。其实Docker 基本上的概念就是将轻量级的作业系统,作为一个虚拟化的解决方案。简单来说就是从在LINUX 的基础上,以不同容器去封装不同你的应用程式,而不需要个别去关心容器的管理,因为各种容器是基于在本身实体主机的的管理模式去控制。


亚马逊亦针对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 作为网站部署方案的利与弊。







猜你喜欢

转载自blog.csdn.net/keithyau/article/details/48256527