上周OPNFV 的发布是一个很好的机会,让我们思考一下 OpenStack 开发者社区一段时间以来一直在酝酿的争论——NFV(网络功能虚拟化)到底与 OpenStack 有什么关系,它是一件好事吗?
我自己在这个问题上的“旅程”恰好始于一年前的今天,当时我拜访了一家当地的红帽合作伙伴,讨论 OpenStack,在我们的问答环节快结束时,我被问到类似“OpenStack 会支持 NFV 吗?”的问题。我从未听说过这个术语,当大致的想法被解释清楚后,我给出了一个不太连贯的版本:“OpenStack 为牲畜实现了弹性云;这听起来像宠物。抱歉。” 会议结束后,提问者转发给我一份 2012 年 10 月份的 NFV 白皮书,我粗略地浏览了一下,大部分内容都让我摸不着头脑,我看不出它与 OpenStack 有什么关系。
从那时起,红帽的克里斯·赖特一直在耐心地与我讨论这个领域,并温和地试图让我克服最初的怀疑。克里斯会说,我们的对话帮助他改进了向开源开发者解释这些概念的方式,我认为他在 Linux 基金会 4 月份的合作峰会上的主题演讲中确实做到了。
在他的主题演讲中,克里斯谈到了开源协作的好处,并详细介绍了网络行业正在发生的所有变化,以及开源如何在所有这些变化中发挥关键作用。他涵盖并简化了
- 采用当前专有的、昂贵的、复杂的、难以管理的转发设备(如路由器)的架构,以及 SDN(软件定义网络)如何旨在“在其上放置 API”。这就是“控制平面和数据平面的解耦”的含义——转发设备成为由开放标准控制的设备,并允许您分布式的转发设备系统被控制和自动化。
- NFV 是电信数据中心世界中的一种转变,它吸收了弹性基础设施云教给 IT 行业的许多经验教训。更多内容见下文。
- “数据平面”世界的变化,我们开始看到网络设备市场模仿 x86 服务器市场,以至于这些设备可以成为运行开源软件的“白盒”服务器。再次出现了解耦这个词,但这次是关于“硬件和软件的解耦”,以及软件部分如何成为优化数据包转发能力的开源实现,而我们过去常常在昂贵且专有的硬件设备中看到这些能力。
但让我们在这里关注 NFV。
我真的不太了解电信行业,但克里斯现在让我想象的是数据中心充满了专有的、黑盒硬件设备,这些设备统称为“网络功能”或“中间盒”。这些盒子用于防火墙、NAT、深度包检测 (DPI)、移动分组核心等各种用途。这些是困在硬件中的软件应用程序。它们价格昂贵、专有、部署缓慢、并非总是能够很好地扩展,并且阻碍了电信服务提供商应对快速变化的市场。
NFV 旨在彻底重新思考这些数据中心的架构。这是电信行业将其数据中心重新构想为弹性基础设施云,并在这些云上以虚拟化、水平可扩展的应用程序运行其“网络功能”。作为开源倡导者,对我来说,这一切令人兴奋——简直是惊人的——方面是,电信行业正在就一个涉及广泛开源,特别是 OpenStack 的架构达成共识。
再说一遍?这些大型电信公司想要使用 OpenStack 和开源重建其整个数据中心?是的。
如果像我一样,您希望看到开源将 IT 世界转变为一个我们都拥抱公开协作机会的世界,同时仍然成功地建立满足用户需求的业务……那么这听起来很酷,对吧?
如果像我一样,您希望看到 OpenStack 成为构建世界上许多弹性基础设施云的标准平台,那么这听起来像是理所当然的事情,对吧?
嗯,我们需要记住的是,这些应用程序(即网络功能)是非常专业的。它们需要具有高水平的性能、确定性和可靠性。但这并不一定意味着它们是“宠物”,并且错过了弹性云的关键点之一。
让我们以可靠性要求为例——当这些网络功能作为水平扩展应用程序实现时,它们将寻求以与典型云应用程序相同的方式实现高水平的可靠性——应用程序的每一层都分布在多个故障域中,并通过水平扩展应用程序负载。电信公司只想更进一步,对故障做出更快、更确定的响应,同时避免对应用程序的性能造成任何损害。例如,您会看到人们对如何安排实例以考虑实例组内的亲和性和反亲和性非常感兴趣。
性能要求主要与高性能数据包处理有关。如何将数据包从网络中取出,放入虚拟机中,快速处理,然后再放回网络中。正在追求的技术之一是让虚拟机通过 SR-IOV 直接物理访问网络,这反过来意味着计算调度器需要知道每个计算节点上的 NIC 可以访问哪些物理网络。
确定性要求是关于可预测的性能。如何避免虚拟机监控程序和主机操作系统调度程序影响这些对性能敏感的应用程序?您将看到围绕允许运营商定义 flavor,以及应用程序所有者定义镜像属性的工作,它们之间控制着诸如 vCPU 拓扑、vCPU 到 pCPU 的绑定、应用程序相对于 NUMA 节点的放置以及使巨页可供应用程序使用等事物。与亚马逊的内存优化和计算优化 flavor 进行比较,并想象一下更进一步。
哦,您还会看到在这个领域经常出现的另一个要求是无处不在的 IPv6!我当然赞同这一点。
想了解更多相关工作?请参阅OpenStack NFV 团队令人惊叹的 wiki 页面,其中详细介绍了各种细节。
您越深入研究我们在这里讨论的具体内容,开始将这些内容分解为有形的、没有所有首字母缩略词和流行语的概念,您就会开始意识到,这确实是电信世界在拥抱 OpenStack 的一切,只是稍微推进了我们的一些要求,这些要求对我们来说是一个非常自然的演变,但我们可能没有预料到会在一段时间内出现。
我想这里的总结是,如果您持怀疑态度,那很酷,您并不孤单。但请花时间看穿复杂性和困惑,看到我们注定要成为电信数据中心转型的关键部分这一简单事实,以及这只是我们“打造无处不在的开源云计算平台”目标的另一个激动人心的部分。
最初发布在马克·麦克劳林的 GNOME 博客上。根据知识共享许可协议重新发布。
评论已关闭。