技术风向标 2010-03-25
当谈到实施云计算时,总有许多有关分享和管理计算机资源,以及改善应用体验的话题,但是很少有关于如何才能优化云计算网络的话题。然而,当企业决定大规模使用云计算时,它们只是致力于策略,规划实行和应用管理上的重大转变——这些都对网络有所影响。这种影响需要一种可以被称为云网络的新做法。
如今网络规划人员意识到,“企业网络”是真正的“资源网络”和“接入网络”的结合。前者连接IT组件创建数据中心,后者则允许用户访问运行在这些数据中心的应用程序。云计算的转型将会改变这种资源和接入网络,而且会增加一个新的类别:联盟网络,或者一个云到另一个云的网络。
云计算性能是网络连接性能和IT资源性能的总和。云网络中网络管理员的工作是完成两个不同的任务:创建一个与服务器和存储相关的资源池,它尽可能的像一个单一固定性能的虚拟资源;连接该资源池与用户,无论他们的位置在哪,都能够做到最小的性能改变。按照特定的顺序解决这些问题,是最容易完成这些任务的方法。
数据中心内的云网络:解决丢失和延迟
在云计算模式中,如果资源池中的所有资源都呈现相同的性能和可用性,资源池便是唯一有效的。这意味着建立资源池的网络连接是最重要的工作。
几乎所有的云都首先建立了“数据中心的云”,使用本地网络连接,然后再连接这些数据中心。有两个特定变量可能会决定数据中心网络是否成功,即被称为两个 L的丢失和延迟。所有的网络协议都通过重传损坏消息来保护数据以免丢失,尤其那些与存储协议有关的信息包丢失,因为这样会造成创建一个损坏文件或者使存储设备处于不好运行状态的风险。但问题是,丢失数据包的重传需要时间,而且延迟是数据中心和存储网络中一个的特殊问题,因为它会通过数千万的操作快速积累。
云计算网络:平坦的网络意味着未来会有更少的接口
网络专家都知道,网络中的延迟积累很大程度上与从源传输到目的地的数据包数量成比例,而且每个处理数据包的交换机都有丢失的风险,另外还加剧了总延迟。最好的解决办法是减少两个L以减少从源传输到目的地经过的接口数量。作为一个实际要考虑的问题,即意味着减少交换机的数量。
大部分数据中心的网络规划人员认识到最好的网络就是一个尽可能“平坦”的网络,其意味着该网络不应该包括创建连接性的许多层设备。几个非常大的交换机将比小的交换机提供更好的性能,但是将交换机集中到少数设备可能也会增加失败的风险。对于交换机来说,这意味着,尽可能高的平均故障间隔(MTBF)非常重要,并且组件冗余,且支持操作中的自动故障切换。
如果你不能改为平坦的网络:管理分层云网络中的主干和端口连接
当需要多层交换机时,通用的流量管理规则是确保主干连接之间或其内在连接是端口连接速度的十倍。对于千兆以太网端口,你需要10G的主干。显然,这种类型的比例将不可能实现极快的交换机到服务器或存储的端口连接,并在这些情况中,通过所谓的“结构”交换机(Infiniband就是一个例子)创建的平坦拓扑将有更好的性能表现。
云网络的网间数据中心
建立一个云通常是指连接数据中心以创建一个无缝资源池,虽然并非总是如此。这些连接必须尽快生效,而且他们绝对会是控制数据包丢失的关键。
存储网络协议以及其他为数据包错误恢复而提供的协议可能在任何情况下都是必要的,但没有任何协议会降低数据中心之间主干的高利用率。当利用率超过50%,丢失和延迟都会增加,而且云性能也会受到影响。这是在云数据中心之间管理流量路由时必须要考虑的问题。
云网络流量管理:从用户连接开始
连接用户到云是一个很好的开始考虑云流量管理的起始点。当用户进入一个特定的单一数据中心时,其流量必将通过你的数据中心之间的主干,然后到达并获取其它数据中心的资源。这会迅速降低性能。
最好的方式是确保用户(设备和分支网络)直接连接(宿于)到多个数据中心,并控制云资源的分配,从而使服务用户的应用程序会在用户直接连接的数据中心中运行。这将为应用程序组件之间的数据交换节省数据中心间的主干负荷。
云网络中的虚拟组件地址管理
该类型需要支持云计算的网络连接大致上与那些需要支持传统客户端/服务器计算处理的类型相同——有一个例外:在资源地点灵活的情况下,一旦资源分配,必须有一个访问应用程序或组件的处理机制。
最好是在云的虚拟组件地址管理中查询数据中心联网、以及IT厂商对其的策略。目前,解决方案的部署往往是基于管理域名服务器(DNS),将逻辑应用程序的URLs地址解码成IP地址,或者使用网络地址转换(NAT)的形式,类似在亚马逊EC2中使用的“弹性IP地址”。亚马逊的弹性IP地址与用户的账户相关而不是与一个事例,并且他们可以被用来映射公网IP地址到一个与用户账户关联的事例。