在 IBM PureApplication System 中识别应用程序的网络需求

了解应用程序需求如何影响 PureApplication™ System 和数据中心之间的网络配置。本文将介绍带宽、可用性、隔离和连接性的概念,因为它们涉及到托管在 PureApplication 系统上的应用程序。

Jason Anderson, 云架构师, IBM

Jason Anderson 是一名云架构师,在美国加州硅谷的 IBM 云实验室工作。在过去的三年里,Jason 一直在向客户推广 IBM 云技术,包括 IBM PureApplication System。他以前担任的角色包括产品开发和解决方案支持。Jason 从 California Polytechnic State University 获得了计算机科学的学士和硕士学位。



Shaun Murakami, 高级云架构师, IBM

Shaun Murakami 是一名高级云架构师和技术负责人,在位于美国加州硅谷的 IBM 云实验室工作。Shaun 曾与许多客户合作,帮助他们通过使用云计算和 IBM 的集成解决方案改革其业务。Shaun 帮助推动了 IBM 云技术的演变,这些技术包括 IBM SmartCloud Enterprise、IBM CloudBurst、IBM Workload Deployer,以及 IBM PureApplication System。Shaun 从 University of Hawaii at Mānoa 获得了电气工程和计算机科学的学士学位,并从 San José State University 获得了计算机工程硕士学位。



2013 年 12 月 16 日

简介

在传统的 IT 环境中部署应用程序可能既耗费时间,又耗费大量劳动,因为每个应用程序都需要自己的定制基础架构。例如,数据处理应用要求高性能计算系统,而 Web 应用程序通常需要高带宽网络。无需担心耗时的、手动的、容易出错的数据中心变更,IBM® PureApplication System 旨在使用单个管理界面来帮助简化应用程序基础架构的创建。应用程序的 CPU、内存和存储是在 PureApplication System 的资源上动态分配的。同样,在 PureApplication System 上运行的应用程序的网络设置是动态的和可配置的。不过,建议您进行更多的规划(例如,如何将网络设置集成到现有的数据中心)。

为了优化 PureApplication System 来托管多个应用程序,建议对每个应用程序的特征和网络需求进行评估。为了协助此评估,本文将详细介绍应用程序架构师如何识别和量化应用程序需求。本文还介绍了这些需求如何影响 PureApplication System 和数据中心的配置。您需要为每个应用程序考虑以下问题:

  • 我的应用程序会产生多少网络流量?
  • 我的应用程序的正常运行时间对于业务来说有多重要?
  • 我的某些应用程序部件是否不应该被我的用户访问?
  • 我的应用程序是否需要与现有的企业系统或在 PureApplication System 外部托管的服务进行通信?

为了解决这些问题,我们引入了以下概念:带宽、可用性、隔离和连接性,并使用真实的电子商务应用程序示例加强了这些概念。在结束本文之后,应用程序架构师可以使用这些概念,与网络管理员和 PureApplication System 管理员明确沟通其应用程序需求。


应用程序带宽需求

第一个要考虑的应用程序需求是带宽,带宽是流入和流出某个应用程序的网络流量。恰当的带宽估算很重要,因为带宽不足会对应用程序的整体性能会产生负面影响。在正常操作的过程中,应用程序通常与多个组件和服务进行通信,这些都构成了应用程序的带宽需求。

构成带宽需求的应用程序通信可能包括:

  • 应用程序请求(例如,Web 页面请求)
  • 数据库事务(例如,数据查询或更新)
  • 消息协议(例如,将消息放在队列上)
  • 身份验证服务(例如,LDAP 请求)
  • API 调用(例如,RESTful 接口调用)

对于每个与应用程序通信的外部系统,都需要创建一个保守的带宽估算,以确定总流量。例如,为了估算某个应用程序的请求和响应的带宽需求,可以将应用程序的平均页面大小乘以每秒的页面浏览数量峰值。页面大小包括页面的内容,比如图像和渲染页面所需的其他数据。如果应用程序要执行大量数据传输,则需要更多的带宽,以防止网络成为一个性能瓶颈。

汇总这些带宽计算,网络管理员可以确定在 PureApplication System 上运行的所有应用程序的总带宽需求。图 1 显示了如何通过增加 PureApplication System 和数据中心的网络交换机之间的物理网络连接来分配带宽。

图 1. 使用多个网络链接实现带宽分配
使用多个网络链接实现带宽分配

在将 PureApplication System 连接到数据中心时,可以将应用程序分配到共享或专用带宽(参见图 1)。左边的连接(蓝色)说明了多个应用程序(App #1 和 App #2)之间如何共享来自两个 10 千兆(GB)连接的带宽(总计 20 GB)。对于需要专用带宽的应用程序,管理员可以向应用程序分配专用的带宽,如右边的连接(紫色)所示。在此配置中,为 App #3 专门分配了四个 1 Gb 连接,共 4GB 的专用带宽。管理员可以继续添加这些连接,随着应用程序的带宽需求增长而增加带宽。PureApplication System 使管理员能够建立多达 32 个连接(10 和/或 1 Gb 光纤或铜缆连接),为系统的应用程序流量提供高达每秒 320 千兆(Gbps)的带宽。

应用程序架构师致力于通过正确估算应用程序的带宽需求来满足用户和业务的性能预期。在计算了所有应用程序的带宽需求后,网络管理员就可以分配适当数量的连接,从数据中心连接到 PureApplication System。


应用程序可用性需求

除了带宽之外,还必须理解应用程序的可用性需求,以确保网络集成了适当的弹性和冗余性特征。可用性需求意味着应用程序的用户或业务可以容忍的最大停机时间。考虑以下两个示例:一个创收应用程序只能容忍每年几秒的停机时间,而开发/测试环境往往数小时或数天不可用,并对业务没有明显影响。

应用程序的可用性可能会受到很多因素的影响,其中包括应用程序的设计、部署拓扑或底层网络。着眼于底层的网络,PureApplication System 的构建融入了整个机架的网络冗余,即使在维护更新的过程中,也可以确保持续的应用程序可用性。网络对应用程序可用性产生影响的首要因素是,PureApplication System 交换机如何连接到数据中心交换机。如图 2 所示,通过增加物理连接来承载应用程序的流量,可以实现更高的应用程序可用性。

图 2. 添加网络链接,增加可用性
添加网络链接,增加可用性

最低要求是,PureApplication System 需要两个物理连接来连接到一台数据中心交换机。此配置对于开发和测试环境通常是足够用的。需要更高可用性水平的应用程序应考虑将 PureApplication System 连接到多台数据中心交换机,如图 3 所示。此配置提供了连接到 PureApplication System 的多条路径,有助于应用程序更好地容忍故障。

图 3. PureApplication System 的线缆连接的交换机,用于实现高可用性
PureApplication System 的线缆连接的交换机,用于实现高可用性

应用程序架构师必须确定最低的可用性配置是否足以支持其应用程序的可用性需求,或者是否需要一个更复杂的配置。基于业务对应用程序可用性的期望来制定此决策。


应用程序网络隔离需求

安全性对于应用程序至关重要,在必须遵守行业法规和企业安全政策的时候尤为重要。为了帮助满足这些需求(比如需要防止外部系统或人员对系统进行访问),PureApplication System 提供了网络分段功能,以隔离应用程序及其组件。PureApplication System 虽然可以承载多种应用程序,但其网络隔离技术可以用来帮助授予相同级别的安全性,就像应用程序在物理上独立的专用硬件上运行一样。这种网络隔离有助于让应用程序的所有者放心,他们部署的应用程序符合所要求的策略。

PureApplication System 提供了两个隔离选项。作为一个整体的多个应用程序可以隔离在不同的环境中,同时保持内部通​​信开放。例如,在图 4 中的示例 1 中显示了这一点 - 隔离开发和测试环境。PureApplication System 也可以通过限制应用程序的组件或服务之间的访问来提供进一步的隔离(参见图 4 中的示例 2)。如果不需要隔离,那么可以配置 PureApplication System,允许在同一网络上进行应用程序之间的开放通信。

图 4. PureApplication System 上的两个隔离示例
PureApplication System 上的两个隔离示例

在网络层,通过将系统分段到不同的网络中,可以实现系统之间的隔离。每个网络分段都被称为网络安全区网络区。您可以使用网络区来隔离不同类型的环境,比如开发和测试系统(图 4 中的示例 1),也可以隔离应用程序层(图 4 中的示例 2)。此外,您可以使用它们对访问域或流量模式进行分类,比如标准的 Web 请求,或需隔离特定通信的安全支付交易。

为了创建网络区,PureApplication 系统使用了称为虚拟局域网(VLAN)的业界标准网络技术。从历史上看,从物理上隔离网络的方法是运行多条线路 - 每个网络一条线路。VLAN 在单一物理线路上提供相同类型的隔离。如果数据中心已经使用了 VLAN 来隔离流量,那么 PureApplication System 可以利用这些 VLAN,为托管的应用程序提供隔离。另外,如果应用程序目前使用物理线路来实现隔离,那么这些线路可以连接到 PureApplication System 交换机,而且 PureApplication System 可以使用 VLAN 在内部扩展此隔离。

无论是按照应用程序类型、事务类型进行分组,还是按照环境类型进行分组,PureApplication System 提供的工具都能够创建网络区,使用 VLAN 来帮助满足应用程序和业务的安全需求。


应用程序连接性需求

在开发一个应用程序或将它迁移到 PureApplication System 时,最后一个考虑因素是对现有企业服务的连接。这些服务可以包括身份验证服务(例如,IBM Tivoli® Directory Server),或队列服务(例如,IBM WebSphere® MQ Server),它们可能已经被配置,并在数据中心的其他地方运行。这些服务被认为是外部 服务,因为它们没有托管在 PureApplication System 上。

PureApplication System 通过模式提供对现有服务的连接。应用程序架构师可以利用此特性,在某种模式下为其应用程序指定所需服务的连接信息(例如,IP 地址、端口号和身份验证信息)。在部署模式时,PureApplication System 可以使用所提供的信息,将应用程序连接到所需的服务。

如果一个应用程序需要与外部服务进行交互,那么应用程序架构师应该与网络管理员就这一需求进行沟通。网络管理员需要确保应用程序的特定网络区(或 VLAN)可以与在数据中心与现有的服务进行通信。


通过一个示例应用程序演示 PureApplication System 联网

为了演示应用程序架构师如何确定其应用程序需求,这一节将评估一个在生产环境中运行的样例电子商务应用程序。所采用的方法就是使用一个示例。但是,您可以对其他应用程序使用相同的流程。图 5 显示了应用程序的三层架构。

图 5. 样例应用程序拓扑
样例应用程序拓扑

样例应用程序拓扑由以下组件组成:

  • Web 服务器:这是用于将请求分发到一个或多个应用服务器的系统。此 Web 服务器具有负载均衡功能,并构成 Web 层 – Tier 1。
  • 应用服务器:这是用于托管电子商务应用程序的一个或多个系统。这些服务器构成应用程序层 – Tier 2。
  • 数据库服务器:这是用于存储应用程序的数据的系统。此服务器构成数据库层 – Tier 3。
  • 现有企业服务:这些都是在 PureApplication System 外部托管的系统或服务:
    • 队列服务:应用程序用来处理请求的服务。
    • 企业 LDAP 服务器:用于用户身份验证的企业系统。
    • 企业服务总线:用于管理对后端遗留系统的请求和作业处理的企业系统。

带宽需求

要评估的第一个应用程序特征是应用程序的带宽需求。在本例中,该电子商务应用程序不是数据密集型的,用户不会上传大型文件。带宽的计算只侧重于应用程序的页面响应。应用程序的主页(所有页面中最大的页面)是 800 千字节(KB)。应用程序的峰值负载是同时有 100 个用户访问该站点。如果所有 100 个用户同时访问此页面,则相当于产生了 80,000 KB 或 80 MB 的网络流量。因此,保守估计,该应用程序至少需要 80Mbps 的带宽。

可用性需求

在本例中的电子商务应用程序被托管在生产环境中的 PureApplication System 上,预计每月的停机时间不超过一个小时。为了帮助满足这一需求,可在一个高可用配置中建立将 PureApplication System 连接到数据中心的网络基础架构。网络管理员需要确保在数据中心有冗余的交换机连接到 PureApplication System,如 图 3 所示。

应用程序隔离需求

在定义应用程序的拓扑后,将应用程序的隔离需求映射到网络区的过程就开始了。在本例中,使用网络区在每个层中限制组件之间的访问。例如,数据库由应用服务器访问,以确保最终用户从来没有直接访问数据。为了执行此操作,数据库和应用服务器都位于各自的隔离网络区中,并且定义了适当的区间规则。

有一种方法可以确定需要多少个不同的网络区,那就是跟踪最终用户的需求。例如,在用户登录时,执行以下步骤(参见图 6):

  1. 一个请求被发送到 Web 服务器。
  2. 该请求被转发到其中一个应用服务器。
  3. 应用服务器接收该请求,并确定它需要对用户进行身份验证。
  4. 应用服务器将请求发送给 LDAP 进行身份验证。
图 6. 一个样例用户的身份验证请求
一个样例用户的身份验证请求

此过程说明,该请求通过三个不同的系统:Web 服务器、应用服务器和 LDAP 服务器。为了确保安全性,每个这些组件都被隔离在它自己的网络区。使用这种方法,并将它应用于样例应用程序,可以创建至少三个网络区 - 每层一个网络区(参见图 7)。

图 7. 网络区的样本集
网络区的样本集

在确定网络区之后,网络管理员和 PureApplication System 管理员可以使用此信息来确定需要多少 VLAN 来支持应用程序的层。网络管理员还要确保已经定义了合适的路由规则,使指定组件之间的流量可以互相通信。

应用程序连接性需求

最后一个必须确定的应用程序特征是在外部托管的组件和服务的连接性需求。这些现有的企业服务通常被保护在自己的网络区中,必须明确为应用程序授予访问权限。为了授予访问权限,网络管理员需要获得每个现有服务的 IP 和端口信息。在本例中,提供了以下信息:

  • 队列服务:queue.example.com:1414
  • 企业 LDAP:ldap.example.com:389
  • 企业服务总线:esb.example.com:9443

应用程序特征

在将应用程序迁移到 PureApplication System 时要考虑四个主要的应用程序特征。以下是从我们的电子商务示例中总结的应用程序特征:

  • 带宽:至少 80 Mbps
  • 可用性:每个月 1 小时停机时间,因此从数据中心到 PureApplication System 需要多条网络路径
  • 隔离:三个独立的网络区域,分别对应每一层应用程序
  • 连接:对现有队列服务、企业 LDAP 和企业服务总线的外部连接

通过分析,应用程序架构师确定了应用程序的需求,这有助于他与网络管理员和系统管理员进行明确沟通,从而满足应用程序和业务需求。图 8 说明了在 PureApplication System 上的示例应用程序的最终配置和部署。

图 8. 在 PureApplication System 上成功部署的样例应用程序
在 PureApplication System 上成功部署的样例应用程序

为了提供足够的带宽和可用性,该配置需要四条 1 Gb 链路来连接到两台数据中心交换机。还针对每个应用层安全地对网络进行分段,同时保持对现有的三个服务的连接。


结束语

总之,您可以使用 PureApplication System,通过将服务器、存储和网络集成到单一整合系统中,帮助提供大量的部署节省。PureApplication System 旨在托管多个应用程序,保持相同水平的完整性、安全性和性能,就像各应用程序在专用硬件上运行一样。如本文所述,为了最好地利用 PureApplication System,应用程序架构师和管理员需要了解应用程序的网络需求如何影响 PureApplication System 的带宽、可用性、安全性和连接配置。

致谢

作者想感谢以下各位对本文所作出的贡献:Andrew HatelyJeff CoveyducSusie HolicGreg BossMike Law,他们提供了思路和内容,并审阅了这篇文章。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing, WebSphere
ArticleID=957429
ArticleTitle=在 IBM PureApplication System 中识别应用程序的网络需求
publish-date=12162013