AWS上的Docker容器镜像

使用基于Docker的容器的优点是通过避免Hipervisor层获得性能优势。 但是,当我们在AWS EC2实例上部署基于Docker的映像时,有什么用? Amazon EC2实例仅在Hipervisor层上运行。

  • Q1。 在AWS上部署时我们没有获得多less好处?
  • Q2。 如果Q1是真的,那么如果我们使用Docker映像,那么我们必须使用On-Premise解决scheme?

请澄清。 谢谢。

您没有考虑将应用程序打包为泊坞窗容器图像的好处。 一旦图像被推送到可访问的Dockerregistry,您可以在安装了Docker的任何兼容服务器上运行该图像。

每个Docker容器都是在主机服务器上运行的一个特别独立的进程。 主机是虚拟机还是物理服务器是一个实现细节。

希望这可以帮助

最初的说法是错误的。 Docker容器仍然依赖于OSfunction。 性能永远不是docker的卖点:如果你想裸骨性能,你可以使用汇编语言,并从头开始写自己的东西。 Docker的好处是所有关于轻松部署你的应用程序没有麻烦和规模,它不“获得性能优势”。

由于缺陷声明,问题1是有缺陷的。

使用AWS EC2或EC2容器服务的好处是可以灵活地扩展您的需求,即从T2.micro到使用ELB,现场实例,冗余等的多个系统。

您可以继续讨论共同定位/内部部署“性能优势”,但是您不能在没有发生额外成本的情况下更改该方框。 对于裸机,您必须过度configuration盒子,用最好的猜测来支付所有这些成本

例如,ECS c4.2xlarge(8 vCPU,15 GB RAM)性能可能不如您的超量configuration的i7 16GB本地存储盒提前3年。 事实上,在开始的时候,c4.large(2vCPU,3.75GB RAM)就足够了,前6个月。 在AWS中,您只需使用C4.large实例,而不是过度configuration。

6个月后,您的超额configuration的内部盒子面临周期性高峰,除非您获得升级,否则无法做任何事情。 对于AWS,您有很多select,例如

  1. 只要重新启动虚拟机实例以更好地键入c4.4xlarge或m4,如果它是RAM密集比cpu密集。 和/或
  2. 启用ECS / EC2自动缩放。 AND / OR
  3. 使用现货队伍和现货队伍缩放和/或
  4. 扩展到其他AWS服务,例如RDS,lambda等。和/或
  5. 您可以随时终止这些实例。 (如果你决定停止这个项目)

您应该使用本地,如果

  1. 你预见没有未来的硬件增长
  2. 您的本地硬件+同位置+维护成本(备份等)比每年AWS的费用便宜,并且您意图运行至less1年