容器vs无服务器vs虚拟机

时间:2019-07-17 06:50:00

标签: containers virtual-machine serverless

我对容器,无服务器和虚拟机进行了一些研究,所有这些都有其自身的优点,例如成本,部署,可靠性等。但是我仍然困惑何时使用它们以及在什么情况下使用。

1 个答案:

答案 0 :(得分:3)

虚拟机(管理程序)

这直接模拟了一个操作系统,虚拟化由主机的操作系统提供了预定义的资源量。

可靠性:高

费用:高

优点:

  • 更孤立(HyperVisor +操作系统),在劫持虚拟机的情况下,更难破坏主机。您可以拥有多达手动分配资源的数量。

缺点:

  • 它们在打开时从主机上消耗了一定数量的资源,从而增加了成本

  • 由于上述原因,它们在部署和编排时比较棘手


容器

这些模拟操作系统,但是它们直接在主机操作系统中的进程下运行,并且构建为具有单一目的的轻量级。

可靠性:高

费用:中

优点:

  • 使用业务流程可以很容易地启动,停止,冻结和整体控制它们,从而可以更优化地利用主机中的资源。
  • 它们非常可恶,这意味着您可以为所需的特定类型的操作创建一个容器,并为任何给定任务调用它。
  • 通过上述方法疯狂地快速部署,因此在不使用主机时杀死主机的痛苦就减小了。

缺点:

  • 它们具有较少的隔离性,这意味着如果发生入侵,漏洞可能更容易破坏主机。

无服务器

这是一个利基概念,与其名称相反,它仍然涉及服务器。但是,它的部署方式是它的优势,它专注于尽管数量众多的微小请求。

可靠性:是吗?

费用:非常低到惊人的高

优点:

  • 其背后的想法是执行一个微小的功能,该功能与已经存在的系统集成。客户端将请求发送到网关,然后网关触发无服务器功能,并得到响应。
  • 非常便宜的请求,否则将占用专用服务器来接收并执行,可以由Serverless处理。
  • 您需要按时间支付用于执行这些功能的时间,这些功能应该可以非常快速地执行,因此扩展性很好。

缺点:

  • 与其他事物协同工作,因此无论如何它都不是灵丹妙药。
  • 功能优化欠佳或考虑不周的要求会迅速提高成本。
  • 有限的技术可用性(提供商规定您可以在Serverless中调用哪些技术,其他任何东西都是“陪审团”)