当前位置: 首页 > 科技观察

容器时代,为什么操作系统如此重要_0

时间:2023-03-14 21:08:06 科技观察

在Linux容器中运行的应用程序相互隔离在操作系统的单独副本中,这些系统运行在同一台物理服务器上。该解决方案不同于传统的基于管理程序的虚拟化方案,后者将每个应用程序绑定到客户操作系统的完整副本,并通过管理程序的干预来实现应用程序。与硬件通信。这样一来,容器机制只需要消耗少量的内存等系统资源,基本不会造成性能损失。使用容器的一大好处是,在给定环境中运行的操作系统的各个副本往往以相对均匀的方式并行运行,因为它们基本上作为所有应用程序运行的公共共享基底存在。某些依赖项可以打包到应用程序中(在用户空间的隔离进程中),但它的内核仍然在系统上运行的容器之间共享。鉴于此,操作系统将不再像过去那样被配置、调整、集成,最终依附于单个应用程序,但并不是说操作系统在这次转型中没有发挥重要作用。事实上,由于操作系统负责提供整体框架并支持其上运行的所有容器,因此它现在在硬件服务器虚拟化中扮演着比基于hypervisor的主机更为关键的角色。(当然,在KVM的情况下,管理程序利用操作系统来实现所需的“类操作系统”功能,但管理程序内部没有任何架构设计来这样做。)所有用于虚拟化的应用程序安全性增强、性能优化、可靠性工程、领域的认证机制都可以与容器技术顺利对接。而事实上,操作系统肩负着一个更重要的使命,那就是提供一套安全和资源隔离的系统——它在处理类似任务时需要达到的效果比虚拟机管理程序更为严格。在我们即将面临的未来,操作系统也必须处理多主机应用,即把它们作为一种协调和调度机制来管理。这包括为跨主机应用程序和容器构建操作模型,并提供必要的服务和API以将应用程序与其适当的资源连接起来。换句话说,Linux正在逐渐发展以支持一种新的环境,在这种环境中,“计算机”将成为一组复杂的连接系统,而不是像过去那样只是一个单一的离散服务器角色。在这样的环境下,更重要的是使用合理的机制来保证应用构建的可移植性。就整体概念而言,这种思路并不新鲜。在我作为行业分析师的整个职业生涯中,我花了很多时间撰写与各种现有虚拟化和拆分技术相关的研究文章。其中,“应用虚拟化”就是这样一种技术方案。作为一类解决方案,应用虚拟化目前还是一个小众业务,但未来会逐渐走向发展的顶点。以Docker为代表的此类技术充分发挥了容器模式的巨大优势,从而创造了一种在实际效果上与应用程序虚拟化非常相似的解决方案:应用程序由多层组成,在底层环境中实现。在有损环境中来回移动。是的,这绝对是操作系统抽象化的增长趋势;我们正在摆脱过去对单个应用程序实例进行纯手动、硬编码的实例操作——就像我们正在摆脱让单个服务器负责托管多个操作系统实例一样。是的,需要针对通用操作系统进行定制的应用程序不再运行,也不再适合容器化环境。使容器如此具有吸引力的主要趋势之一是,它们不再像十年前那样仅仅在利基空间中挣扎求存,而是大规模转向可移植的、无状态的应用程序实例。操作系统的作用仍然很关键;现在我们需要使用一个标准化的基础镜像来承载我们所有的应用程序,而不是使用一个标准的基础镜像作为模板来针对每个应用程序进行特定的调整。综上所述,容器时代的应用已经变得更具适应性、移动性、分布式和轻量级。他们的部署和配置工作引入了更多的自动化元素。但它们仍然需要在某些基础上运行——必须稳定和开放的基础,具有针对新需求和特定工作负载类型进行演进的能力。能够满足这些条件的操作系统就是Linux。原文链接:http://opensource.com/business/14/8/why-operating-systems-matter