数据中心操作人员:艰难地在针对 VM 构建的基础设施上运行容器

  • Michael Redlich
  • 谢丽

2017 年 5 月 25 日

话题:JavaDevOps语言 & 开发架构

由于提供了超级集成系统容器平台,专用容器技术公司 Diamanti被 Gartner 称为“最酷供应商”。容器依然是开发人员“恰好所需的东西(be the ‘it’ thing)”。在这种情况下,InfoQ 发现,存储、网络和系统供应商越来越多地尝试让数据中心为这种分布式工作负载的新构成要素做好准备。如今的企业数据中心仍然是为虚拟机世界而设计的,因此,随着越来越多的应用程序是为容器和云原生而构建的,生态圈必然会发生重大的变化。

Diamanti是一家创业公司,其团队由 Cisco、VMware 和 Veritas 的前高管组成。他们的目标是构建下一代面向容器的存储和网络基础设施。

Mark Balch是该公司的产品和市场营销副总裁。他在接受 InfoQ 的采访时谈了目前容器在开发人员和数据中心操作人员之间造成的冲突。

InfoQ:给我们介绍下开发人员普遍如何使用容器。他们通常首先在个人笔记本上做什么?

Balch:Docker 让开发人员很容易把一个开发环境下载到他们的笔记本上,并开始使用容器构建他们的应用。许多开发人员基本上会一直这样做下去,并在最后交付到生产环境之前把应用程序打包到 VM 中。

虽然你不再需要在开发时部署应用程序,但挑战在于,当将应用程序从开发环境应用到生产环境时,你面对的是一个不一样的环境,可能会面临性能挑战或问题。

我最近和一名开发人员聊过。他在美国一家很大的连锁酒店工作,他就遇到了这个问题。他的团队使用 Docker 开发他们的网站,然后为每个容器构建单独的 VM 镜像。确实,这最初可以让他们比较容易地投入生产环境,因为运营团队不必学习任何容器特有的东西。但是现在,这样做了一年多之后,他们遇到了严重的 VM 蔓生问题——一个极其低效的栈,每个容器都占用一整个 VM。

Docker 让我们很容易在笔记本电脑上上手,但那距离生产环境有很大的差距。

InfoQ:他们通常在什么时候将容器推送到生产环境?

Balch:当开发人员在笔记本上使用 Docker 时,他们通常不用担心整个生产环境的性能问题或网络连接,甚至都不用担心如何获得持久性存储——因为什么东西都是在本地笔记本上。他们可能也不那么担心安全,因为什么都在本地,他们可能只是用小数据集来做功能测试。但是,所有这些在生产环境中就不一样了。在生产环境中,应用程序扩展会是个大问题,运营团队必须将容器连接到数据中心网络,数据存储和安全对企业而言至关重要。

你遇到的第一个问题是运营团队可以使用什么格式。如今,在大多数情况下都是虚拟机。所以马上,面对这些虚拟机,开发人员就必须指出如何获得、分发及打包这个友好高效的容器镜像。

第二个问题是可扩展性——如何确保应用程序会通过横向扩展提供客户期望的响应性。这里就涉及到网络和存储问题了,就需要虚拟机开销。说实话,并不是所有开发人员都将安全设计作为基本需求。然而,运营团队需要负责所有这些要素。

InfoQ:如果把容器的名声和开发人员面对的现实做下对比——您认为它们哪里名副其实,哪里又言过其实?

Balch:在谈到轻松构建容器镜像以及能够快速扩展和收缩时,容器无疑是名副其实的。但是,要将应用程序投入生产还有更多的工作要做,这方面市场还没能迎头赶上。就是我们正在谈论的所有这些问题,不仅可以确保容器在笔记本上工作得很好,还可以确保它们在生产环境中也工作得很好。如今还有大量的定制化和运营挑战。

InfoQ:请您评价下运营人员所面临的新世界,他们要尽力为开发人员所做的与容器相关的工作提供支持吗?他们面临的挑战是什么?

Balch:如今,运营人员受限于两个选项——要么他们继续把重心放在传统的虚拟机上,并承担那种方法所有的低效和成本,要么他们就得面对流行的容器原生这项他们并不熟悉的技术,找到一个新的运营模型。

大多数行业观察者都认为,随着时间推移,容器将成为主要的应用程序平台。运营的问题不是是否而是何时弄清楚如何高效的容器化应用程序。

但是,在开发人员和运营人员之间有一种天生的紧张关系。虽然两个团队都希望成功地交付应用,但开发人员本身喜欢可以提高开发速度和效率的技术。相比之下,运营更保守,他们关心的是可靠性和运营需求。因此,开发人员可能希望快速采用像容器这样的新技术,而在对容器没有一个彻底的了解之前,运营团队会担心他们无法兑现自己的业务承诺。

InfoQ:利益驱动点在哪里?开发人员的收益如何才能超过运营人员面临的挑战?

Balch:总而言之,企业会逐利,而应用程序开发人员是收入的促成者。任何可以提高生产效率的技术都会流行。这就是为什么容器发展的如此之快,因为它为企业和开发人员带来了好处。我们在电子商务、金融服务、媒体公司等垂直市场中看到了这种情况——在这些市场中,企业竞争白热化,敏捷性备受重视。确实,软件正在吞噬世界,而容器是一个大的推动者。

为此,运营团队越早弄清楚如何在生产环境中运营容器应用程序,在履行他们的业务职责时就会越成功。有许多行业观察者认为,容器应用发展如此之快,如果运营不在接下来的 12 到 18 个月里弄清楚如何运营容器环境,那么他们将会开始看到他们的开发人员去了别的地方。关键是,当收入受到威胁,企业不会容忍任何障碍。

查看英文原文:Datacenter Operators: Bumpy Ride Running Containers on Infrastructure Built for VMs

JavaDevOps语言 & 开发架构