乘微服务之势,容器技术面面观

什么是容器

 虚拟化技术已经成为一种被大家广泛认可的服务器资源共享方式,它可以在按需构建操作系统实例的过程当中为系统管理员提供极大的灵活性。近年来,随着微服务架构应用开发的普及,很多IT公司纷纷推出了基于微服务架构的新产品。

 由于hypervisor虚拟化技术仍然存在一些性能和资源使用效率方面的问题,因此出现了一种称为容器(Container)的新型虚拟化技术来帮助解决这些问题。

 你可以将容器看作一个个集装箱一样,把你的应用“装”起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互干扰;而被装进集装箱的应用,也可以被方便地搬来搬去。

 部署虚拟服务器的目的之一在于快速创建新的虚拟机实例。然而从网络存储当中复制镜像需要花费大量时间,这些操作会延长启动过程,无疑会限制系统灵活性。

 而使用容器技术。只需要通过简单的观察我们便能够发现容器技术的出现是为了解决多操作系统/应用程序堆栈的问题:

    ·在单台服务器当中为所有虚拟机实例使用相同的操作系统对于大部分数据中心来说都不算是真正的限制。流程管理(Orchestration)可以轻松处理这种变化

    ·许多应用程序堆栈都是相同的(如LAMP)

    ·对于大规模集群来说,在本地硬盘当中存储操作系统副本将会使得更新过程变得更为复杂

 最为重要的是,容器技术可以同时将操作系统镜像和应用程序加载到内存当中。还可以从网络磁盘进行加载,因为同时启动几十台镜像不会对网络和存储带来很大负载。之后的镜像创建过程只需要指向通用镜像,大大减少了所需内存。

 容器技术能够在同一台服务器上创建相比于之前两倍的虚拟机实例数量,因此无疑将会降低系统总投入。但是必须认真进行规划,因为双倍的实例数量同样意味着对于运行这些实例的服务器带来了双倍的I/O负载。

应用容器后的优势(5 Business Cases For Containers 翻译:朱高校)

 1. 更小的计算开销意味着更低的总体成本。容器可以显著减少您启动和管理的虚拟机数量。通过消除每个应用程序都需要运行一个虚拟机的需求 -- 这需要大量的存储和内存 -- 您可以减少整体计算开销。这种浪费、重复的操作系统和资源的减少可以转化为巨大的成本节省。通过减少所需硬件的数量而降低总体CAPEX,这不仅仅是在私有数据中心内部,而且由于容器消耗的资源更少,云服务成本也同样降低。

 2. 降低许可成本。云成本的节省不仅体现在减少服务器硬件和云服务中。在您的环境中运行的虚拟机和操作系统减少,意味着您还可以显着降低许可成本。根据您的许可结构,您可以在IT的许可方面节省更多的成本。

 3. 可移植性=灵活性。云计算的一个显而易见的缺点是:一旦你迁入某云服务提供商,就很难再迁出。然而,利用容器,当需要迁出服务提供商时,您不再需要在缓慢的WAN链路上迁移庞大的虚拟机。相反,由于容器小巧使它在云上的迁入和迁出非常简单。最终,这有助于消除仍然困扰一些IT决策者对于云厂商锁定的担忧。


 4. 低风险的快速部署。在许多具有传统数据中心架构的IT部门,应用程序开发团队和基础架构管理员之间的冲突可能是巨大的。开发人员通常需要在与生产环境不同的服务器上构建和测试应用程序。当开发团队准备将新应用程序上线到生产环境中时,他们经常遇到来自服务器管理员的阻力,为了适应新应用而产生的任何操作系统级别的变更,他们都报以担忧。最终,两个团队之间形成了流程瓶颈。容器可以通过允许IT维护对服务器端配置的控制来减轻瓶颈和两者之间的紧张关系,而开发团队只需将所需的任何添加/更改打包到一个纯净的小包即可。然后,这些容器包可以快速上线到生产,测试中,如果出现问题,直接删除即可,而不会对操作系统造成严重影响或者持久化变更。

 5. 容器管理和自动化越来越好和廉价。根据451 Research最近发布的研究,应用容器市场将在2020年达到27亿美元。这一增长的很大一部分将是在容器管理和自动化领域“其中存在激烈的竞争,创新和颠覆” 。对于企业来说,这意味着是一个真正的买方市场,竞争将大大降低成本,而产品的功能和优势逐渐上升。所以,如果你正在考虑大规模使用容器,帮助你管理它们的工具是丰富和便宜的。

开放容器标准化

 在2015年,由Docker、IBM、微软、红帽及Google等厂商所组成的OCI联盟成立,并于2016年4月推出了第一个开放容器标准。除推出OCI Runtime标准,让开发者打包、部署应用程序,并可以自由选用不同的容器Runtime外,还推出开放容器OCI镜像标准,由容器技术社区制定规范,确立容器镜像建立、认证、部署以及命名的方式。

 各核心厂商的重要人士,也发表各自对于OCI 1.0版的想法。Kubernetes项目共同创办人Brendan Burns表示,OCI达到一个重要里程碑,透过开放标准,容器技术可替分散式云端运算带来革命性改变,此标准也替Kuberntes这类系统带来了基础建构元件。而CoreOS技术负责人Brandon Philips表示,OCI为Runtime及镜像建立了标准,有助于替成长中市场带来稳定性,让企业能放心采用容器技术,我们也跟K8s社区一同合作,要让OCI标准整合至未来发布的版本中。红帽容器技术架构首席工程师Vincent Batts则表示,在OCI成立两年后推出了第一个标准,不过这仅是该组织的第一步,未来在容器的生命周期、调度等项目还会更多合作。

 而OCI联盟之中的发起者Docker,也揭露在OCI的未来发展动向。在此次发布为Runtime及镜像建立标准,OCI联盟下一个目标,就是要推出一个认证计划,确保这些厂商发布产品、项目,的确符合OCI制定的标准。
发表于: 2019-12-24 14:53 阅读(36) 评论(0) 收藏 好文推荐

发表评论(网友发言只代表个人观点,不代表本网站观点或立场。)

您尚未登录,请先【登录或注册