作者:热情的海浪公主 | 来源:互联网 | 2023-05-26 09:15
从思科2016年网络报告白皮书中我们可以看到,2015~2020年全球网络流量年复合增长率将达到22%,至2020年全球网络流量将会净增长200EB(其中2015年全球网络流量为7
从思科2016年网络报告白皮书中我们可以看到,2015~2020年全球网络流量年复合增长率将达到22%,至2020年全球网络流量将会净增长200EB(其中2015年全球网络流量为72EB,2016年这一数字为88EB,1EB=1,000PB)。这些数据只是通过广域网(WAN)、移动网络、骨干网传输的流量,并不能反映出数据中心内部的流量。虽然有一部分流量是P2P的,但大部分流量是通过数据中心南北向的出口。
大部分现在的应用都是数据驱动的,并且比过去的应用复杂。结果导致东西向流量是南北向流量的数倍。思科认为网络流量的“二八效应”在数据中心反转了,并且东西向流量是南北向流量的5倍都不止。
现在的数据中心都是基于谷歌、微软、亚马逊和Facebook这样的互联网巨头的弹性云技术架构构建,在企业与通信服务供应商看来,效仿互联网巨头的做法简单、高效。至于为什么企业与通信服务供应商要升级他们的数据中心,看一下他们业务的核心需求便知。
下一代数据中心网络变革的动力
传统的数据中心网络是由纯物理的路由器和交换机组成的树状结构,大部分流量都是南北向的——用户的请求进入数据中心并由负载均衡集群分发,处理过的请求再返回给用户。通常这种树状网络中一半的设备处于工作状态、另一半处于待命状态以便随时接管可能发生的链路或设备故障。
由于SDN和NFV技术的演进,以云计算技术为主的新数据中心将网络边界进一步扩大了,数据中心之间的物理距离也在扩大。跟传统数据中心相比,下一代数据中心网络迥然不同。为了满足下一代数据中心的需求,主要的云服务商开始对数据中心的网络进行升级,这对企业和企业服务供应商也有不小的影响。对于企业来说,以下几点关键因素推送着数据中心网络的改进:
- 形成IT技术差异化,提高竞争力,推动业务敏捷性,降低运营成本;
- 增加视频、富媒体内容的消费;
- 利用云计算和移动应用的优势;
- 强调数据的重要性(大数据、物联网以及分析能力)。
与其说以上因素推动了企业改进数据中心的网络,不如说业务的发展促使数据中心的网络满足和支持上述特性。那么为了满足业务的发展,对数据中心网络的要求又有哪些呢?
下一代数据中心网络的需求
由于业务和应用的驱动,一波新的网络需求浪潮正朝着IT基础设施技术涌来。通过对企业和云服务商的调研不难得知,下一代数据中心的网络建设要迎合以下趋势:
模块化、标准化、简化
世界上最先进的数据中心如谷歌、微软、领英、Facebook等都在向着模块化的方向发展,每一个模块都包含标准化的网络架构,使用诸如博科、Marvell的交换机和Centec、Barefoot、Cavium的芯片。许多大型云服务商使用的交换机都是定制的版本,这些标准化的设计也成为了开放计算机项目(OCP)硬件标准的一部分。
这些标准化的模块在世界范围内的数据中心都易于部署和扩展。虽然模块化是云服务商最早开始使用的,但企业和通信服务商也纷纷采用了类似的设计。
为了支撑应用和数据的大规模扩展,下一代数据中心需要一个新的标准化的、简化的网络。传统的数据中心网络需要专用的硬件设备,每一种设备的网络能力都有较大的差异。IDC通过采用标准服务器设备(这和SDN、NFV的思路一致)力求减少网络设备的数量,同时优化网络并降低其复杂度。此外,下一代数据中心网络也倾向于使用较少的白盒设备来优化网络,这种策略与4~7层网络功能向标准服务平台迁移异曲同工。
虚拟化和容器技术
随着大量的程序被部署到虚拟机中,以及以Docker、CoreOS和其他容器解决方案为代表的Linux容器技术的普及,下一代数据中心支持虚拟化的能力变得至关重要。绝大多数企业并不像Facebook那样有雄厚的技术实力,在不同程度上都需要虚拟化和容器技术的支持和服务。
下一代数据中心网络带来的另一个关键变化是,网络的边界不再是传统的ToR交换机,而是运行在服务器上的虚拟交换机(vSwitch),这些虚拟交换机最终成为数据中心网络的重要一环,并在Overlay网络中起到关键的作用。
可编程性
下一代数据中心网络的另一个关键因素是支持可编程。为了满足业务应用敏捷、灵活的需求,同时允许网络通过编排系统或者专门的网络程序进行优化,下一代数据中心网络通过开放RESTful APIs、支持像P4这样的编程语言像OpenFlow这样的协议等措施,使网络成为数据中心最重要的一部分。
认识到这一点后,越来越多的企业网络(虚拟的和物理的)采用了云平台的(如OpenStack、CloudStack、VMware等)技术架构。在一些需要实时处理网络拥堵和故障的地方,系统自动化配置将取代人工运维。因此,可编程性将是下一代数据中心网络成功的关键。
自动化与NetOps
可编程性整合了网络应用和编排,但网络系统仍然需要大量的配置、监控和更新。即便是在今天,网络工程师仍然需要登录到控制台访问设备的CLI进行操作。许多网络设备供应商提供的GUI并不成功,网络工程师们不得不回到简陋的CLI面前日复一日地重复这些工作。
然而我们也看到DevOps在网络方面的影响,有人称之为NetOps。鉴于Ansible、Puppet和Chef等这类工具令人愤怒的使用体验,网络工程师们开始用管理服务器的方式管理网络设备。因此,下一代数据中心网络解决方案需要支持自动化框架,诸如在网络设备上运行类Unix系统或者Linux发行版,或者在交换机操作系统上安装DevOps代理。
故障检测与可视化
随着跨数据中心网络流量的激增以及Overlay技术的应用,提供一个动态的网络流量可视化功能正在成为下一代数据中心网络的关键需求。具有事件通知的高级可编程过滤功能已成为网络延迟排障和查找流量峰值毛刺的刚需。同时,下一代数据中心网络解决方案将不得不支持流量数据采集以便对网络进行排障、优化甚至是分析恶意软件和网络攻击。
在三层网络架构(Leaf-Spine ECMP L3 Fabrics)中,特别是对网络延迟特别敏感的服务,确保其网络性能十分重要。可视化在洞察网络中正在发生的变化方面(甚至是精确到每一个交换机端口的缓存利用率方面)起着关键的作用。
开放硬件平台
许多网络运营商在建设下一代数据中心网络的时候都十分关注白盒机和其他开放硬件平台,有的认为能在硬件方面节省大量的成本(估计节约30%~80%不等)。质量和可靠性的疑虑在大量的白盒机和开放硬件系统被同样的OEM和ODM厂商批量生产出来并提供给世界上最大的网络供应商使用后便烟消云散了。特别是现在随着软件栈技术的成熟,使用像EdgeCore的白盒设备值得考虑,像戴尔、华为和HPE等供应商都在售卖白盒解决方案,但是他们的方案还不够开放。
为企业规划面向未来的网络
为了适应下一代数据中心网络的发展趋势,Facebook打造了一个重度使用ECMP的完整的IPv4/IPv6三层网络(参见Facebook的Altoona数据中心设计)。
Facebook是贯彻黑客精神的典范,其发起的OCP项目通过开源硬件驱动了IT基础设施架构不断往前发展。如果你是一个高级网络管理人员,你应该对提高网络的敏捷性、可用性以及降低网络的运营成本保持关注。这意味着除了日常的网络管理和运维工作,你应该考虑企业未来网络的规划。
直面挑战
Gartner的调查显示,只有18%的用户实现了网络自动化。如前文所述,网络自动化在数据中心网络中极其重要,除此之外还有可视化、可编程、标准化、开放硬件等一系列重要的需求。在数据中心网络演进过程中,不能有任何IT技术(包括公有云)的限制或依赖。除此之外,你还会面临以下羁绊:
- 厌恶风险、渴望“安全”的心理使得“技术债”滚雪球一般积重难返,网络变得越来越难管理;
- 许多企业的网络架构设计缺乏敏捷的理念,对网络改进没有信心;
- 大多数的网络故障是由于手动更改网络引起的;
- 网络新技术(如SDN)的引入是供应商灌输的,但是供应商并不解决文化和人员问题。
更令人沮丧的是,大型的零售商和金融机构正在不断削减网络部分的预算和支出。Gartner的调查显示,部分企业网络预算砍掉了一半,有的甚至削减了90%的预算。在缺饷少粮的情况下,改进企业网络只有依赖外部供应商一条路可走了吗?网络渐进理论认为,不同的网络方案将影响网络的长期可用性。倘若企业不尽早做出决断,面临的将是网络开销长期超支、技术债有增无减以及网络变革缓慢等不利局面。毫无疑问,必须避免这种短视的行为!
两个方面六个步骤
解决上述难题,需要管理者从人员文化和技术两个方面着手,通过简单的六步构建一个面向未来的网络。
文化和人员方面
- 启动一个以应用、业务为核心的网络设计规划许多企业的业务战略和网络规划是脱节的,这种现象亟需改变;在制定网络规划或者部署的时候要遵循“五个关键维度”,新方案的制定最好由非网络技术人员主持,要基于X86平台构建、避免供应商绑定,不增加额外支出或采用开源技术方案。最重要的是,保证业务和应用驱动网络设计,而非相反。
- 不要把鸡蛋放进同一个篮子里在大企业中,网络团队具有极高的风险规避能力,保守的思想固然能保证业务的正常运行,但也限制了新技术、新思想的生长。长远看来,反而不利于企业的发展。
- 打破组织架构的束缚在大型企业中,胡萝卜+大棒的KPI考核制度使得责任边界的划分更为重要,技术革新的需求并不如人们想象的强烈。长期以来这种桎梏难以打破,现在对网络团队来说恰好是一个机会,建议网络团队从为其他团队提供网络监控接口开始,鼓励跨技术部门的协作、培训甚至团建,在这种网络变革中发挥领导作用。
技术方面
- 推动网络自动化如何在公司内部推行网络自动化?首先从一个小项目开始,使用自动化网络技术并建立这种氛围,接下来的关键是在其他项目乃至全公司的项目中扩大这种自动化的氛围,使之成为长期目标。一些大的企业已经开始使用DevOps的技术,大多数网络设备供应商都在自己的产品上提供了开放的API,以便用户在上面开发网络自动化的功能。搭建网络自动化的基础设置不仅需要工具和供应商的支持,更为重要的是优先对Linux、Python和DevOps的软件技术和人才进行投资。
- 定性你的网络企业网络是一个复杂的分布式系统,数据中心和园区对网络的功能需求差异极大,没有哪个供应商能应付这种差异。因此建议企业先对自己的网络进行定性,明确自己的特殊需求,多采用标准化的方案以避免供应商绑定。同时,避免外包自己的网络架构设计工作,并跟供应商多传达自己的长期战略规划,确保供应商能满足自己的功能需求。
- 建设可编程的网络基础设施和技能体系任何成功的网络自动化项目无一不是高度依赖其可编程网络基础设施以及相关技术人才的努力。目前,仅有不足15%的企业实现了网络的可编程性。这些企业首先从DevOps实践中普遍受益,而他们的网络供应商的产品也支持可编程性,诸如包括开放的API、支持Puppet、Chef和Ansible等自动化工具等。工具和供应商的支持是必要的但不是决定性的,对相关技术人才的培育才是最迫切的。
本文链接:http://www.yunweipai.com/10682.html