首页 云计算文章正文

持应用这件事上,容器更“专”虚拟机更“宽”

云计算 2024年11月21日 10:32 4 admin

  

  容器和 虚拟机最根本的区别一个用于应用程序,另一个是为整个操作系统设计的。自从Linux上的容器变得流行以来,找出容器和虚拟机之间的区别变得更加棘手。可以了解容器和虚拟机之间的差异。   容器vs虚拟机——应用程序与操作系统   首先要了解的有关容器和虚拟机的一个区别是,一个用于应用程序,另一个是为整个操作系统设计的。这就是为什么你经常会看到一些企业应用程序运行在容器而不是自己的虚拟机上的原因。   在虚拟机上使用容器有一些有意思的优点。   容器最大的优点之一是可以预留比虚拟机更少的资源。请记住,容器本质上是单个应用程序,而虚拟机需要资源来运行整个操作系统。   更简单地说,请考虑以下内容:如果你需要运行MySQL、NGINX或其他服务的多个实例,使用容器是非常有意义的。   但是,如果你需要在自己的服务器上运行完整的LAMP堆栈,运行虚拟机就很不错。   虚拟机为你提供更大的灵活性选择操作系统,并在你认为合适的情况下进行升级。相比之下,容器意味着运行已配置应用程序的容器在操作系统升级方面与 主机是隔离的。   容器vs虚拟机——用例场景   笔者最喜欢使用容器最有意义的例子之一就是Linux库版本。   例如,假设你有一个需要特定版本Python的关键任务应用程序。然后你在运行应用程序的盒子上进行更新,突然发现Python版本发生了变化,导致应用程序无法正常工作。   使用容器的另一个关键好处是你可以把一个应用程序放到一个容器中,然后在任何支持该容器类型的操作系统上运行它。   其中一个例子就是,当你想在不同的Linux发行版上构建类似的应用程序环境。通过使用容器,你就可以实现。   容器提供了可移动性。   甚至可以认为,容器对于快速的跨发行版部署更有意义,而虚拟机在像运行LAMP堆栈这样的单一应用程序使用情况下是有意义的。   容器vs虚拟机——安全   普遍认为,与容器相比,虚拟机提供了更多的安全性。这并不是说容器不安全,而是指默认情况下虚拟机提供了更强的隔离。请记住,容器共享系统资源,而虚拟机不支持这么做。   在运行容器时,可以采取一些措施来降低风险,包括避免超级用户权限,确保从可信源获取容器,并且保持最新状态。谢天谢地,有些容器是数字签的,这有助于确定你从可信源获取容器。   最后,你需要保持一个容器的单一职能。一旦你开始在一个容器下结合了其他的软件职能,你会发现你最好用虚拟机代替。重申一次,容器是为了单一用途的应用程序,虚拟机是为了多用途的应用程序。坚持这种方法,你将在安全性和总体功能方面处于更好的状况。   容器vs虚拟机——选择合适的工具   无论虚拟机或容器类型如何,选择适合需求的关键都归结于研究每个选项的能力。在容器领域,DoCKer提供了强大的企业解决方案。这吸引了一些关注Docker容器的公司,因为公司知道如果出现任何问题,他们可以得到所需要的支持。Docker也被认为是企业用户友好的选择,特别是在Docker Swarms中。将Docker Swarms与Kubernetes相比,Kubernetes在高级环境中的设置要复杂得多。   回到虚拟机,笔者总是发现VirtuAlbox可以提供更好的面向桌面的虚拟机环境,而VMware在服务器方面做了各种各样的产品。   VMware拥有从存储到 云服务器解决方案的各种虚拟机解决方案。还有其他选择(各种管理程序等),但笔者认为VirtualBox和VMware很好地代表了桌面到 服务器虚拟化的两个领域。   容器vs虚拟机——赢家是?   在试着决定是容器还是虚拟机之前,请考虑以下事项。你可以在虚拟机上运行容器。了解这一点很重要,因为没有明显的赢家或输家。事实上,这两种技术满足完全不同的需求。   容器将继续在媒体中引起关注,因为它们允许用户以更少的硬件更高效地运行。另一方面,虚拟机仍然是服务器和云领域的主要部分。可以这么说,虚拟化哪儿也不会缺,并且会和容器一样火。   笔者认为值得一看的是Kubernetes和Docker Swarms这两种容器管理技术是如何发挥作用的。   现在,我们从Kubernetes阵营中能看到更多信息。随着时间的推移,我们将开始看到Kubernetes成为头条新闻,成为容器领域的焦点。   你怎么看?你相信容器正在超越虚拟机吗?  

亿网科技新闻资讯门户 Copyright 2008-2025 南京爱亿网络科技有限公司 苏ICP备14058022号-4 edns.com INC, All Rights Reserved