内容


需求建模

定义您的 IT 体系结构目标

Comments

如果您够幸运,有机会完全从头开始为公司设计数据中心,手边有大量的资金和新服务器可以支配,一切都是一张白纸。不幸的是,在现实中,我们的前任给我们留下了大量的问题。无论是编写糟糕的应用程序、机柜中纷乱交错的网线还是过于拥挤的数据中心,一切混乱场面可能都需要您去清理。

本文将向您介绍如何确定新信息技术(Information Technology,IT)体系结构的目标(无论是全新设计,还是对现有体系结构进行改进)。假定您进入了一家名为 WidgetCo 的中型企业,他们的 IT 体系结构一直没有得到重视。WidgetCo 最开始是一家小型企业,对以后如何发展没有太多的关注。随着公司的不断成长,IT 部门采用了靠直觉的方式来应对公司的扩张。

现在要求您(作为全职员工或咨询师)对过度膨胀的数据中心进行检查,在合理的延迟时间内解决问题并创建增长计划。

技能和能力

在不影响业务的情况下了解体系结构的层次可能比较麻烦。通过查看现有文档,可以了解目前配备了什么以及各自之间如何互连。但是,如果没有文档,或文档已经过期而不再相关了,又该如何呢?从您了解的和可以了解的东西开始。就像建筑设计师一样,您需要在开工前了解基本情况。

以小规模方式对硬件进行梳理是个不错的入手点。计算服务器数量并收集其品牌、处理器、内存和硬盘空间信息。收集关于网络交换机、路由器、防火墙和任何其他设备的信息。记录数据中心的空间使用情况。设备在库存中还是安装在机架上?交换机上有多少开放端口可用?可供扩大的空间有多大?如果添加更多的服务器,是否有足够的电源?冷却系统是否可以处理额外的设备?

各个团队提供的信息

通过约见公司内的专家(如系统管理员、应用程序专家和部门经理),可以帮助您了解哪些是关键事项以及部门之间如何交互。举行小型的面对面的会议:这种类型的会议可以提供比大型会议更多的有用信息。大型会议经常是一次性提供太多的信息,参与者可能会跑题。

通过这些小型会议,可以形成业务工作流图(例如 图 1 中所示的工作流图)。在对联系信息进行更改时,工作流图将很有帮助。

图 1. WidgetCo 的业务工作流图
业务工作流图
业务工作流图

WidgetCo 示例

WidgetCo 的爆炸性的增长意味着所进行的文档工作非常少。对数据中心和网络柜 (network closet) 进行清理是一个不错的着手点。

WidgetCo 数据中心是一间 30 x 50 平方英尺的房间,其中放置着来自各个供应商的台式服务器。有些服务器不过是没有独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)、冗余电源或其他安全保障措施的工作站。

数据中心配备了几台不中断电源(Uninterruptible Power Supplie,UPS),但似乎都已经达到了最大负荷。数据中心有专用的取暖、通风和空调(Heating, Ventilation, and Air Conditioning,HVAC)系统,因此温度始终是华氏 70 度。服务器接入同一台交换机,而此交换机仅剩下少量可用接口了。有一个标记为 Internet 的路由器。

有了清理阶段收集的信息后,以个人或小型会议的形式与公司的专家碰头,以了解清理阶段所没有了解到的信息。服务器上在运行哪些应用程序?有多少人依赖于 IT 基础设施?业务如何通过 IT 系统进行?

结束这些沟通工作后,您更应该得到类似于 图 2 中所示的 IT 布局图。由于 WidgetCo 对自身的发展事先并没有规划,多台服务器都承载了多个服务。将服务器用于多个服务的投资回报(Return on Investment,ROI)优势非常直接:减少了购买多个服务器的需要。将应用程序“堆”在一起会在服务器出现硬件故障时带来问题。对于 WidgetCo,太多的应用程序在没有考虑负载均衡的情况下放在了单个服务器上,这些应用程序彼此争用服务器资源。例如,WidgetCo 在一台服务器 (SQL01) 上安装了多个数据库应用程序。此服务器上的负载已经达到了临界水平,用户和客户都对性能感到不满。

图 2. 当前服务器角色和应用程序
当前服务器角色和应用程序
当前服务器角色和应用程序

WidgetCo 在体系结构方面的问题远比其他方面多得多。以下是所确定的最大的一些问题的简单列表:

  • 应用程序或服务器没有冗余性
  • 糟糕的隔离区(DeMilitarized Zone,DMZ)配置
  • 没有监视工具
  • 财会和支付软件从外部购买,但销售软件是内部开发的

哪些能够正常工作,哪些需要改进?

下一步是确定体系结构的需求。此过程应该包括所有部门和所有的情况。不要担心把目标设想得太大了。可以想像一下嗡嗡作响的刀片服务器、新工作站和面向服务的体系结构(Service-Oriented Architecture,SOA)实现。但要记住面对这样一个现实,即您可能不能得到所想要的所有东西。

要从长远考虑问题,而不要仅仅只顾眼前。首先要创建预算并指定优先级。其他团队提供的信息在此阶段非常重要,因为您将开始申请预算资金、计划停机时间和改变人们工作的方式。请注意面对新想法而对变更的担心。这个担心可能会导致其他人妨碍您,需要通过了解并清楚地沟通新系统的好处来加以克服。

修改也可能非常简单,如升级到最新的操作系统或应用程序版本。在快速发展的中小型企业中,升级经常被视为不必要的开销。经常采用“没坏就不修”的策略来进行处理。

那具有内置冗余性的应用程序呢?大部分公司都在对外应用程序(如客户订购)中提供冗余性,但经常忽略向内部应用程序提供此功能。虽然客户订单仍然不断地提交进来,但订单执行却因为仓库服务器出现网络控制器问题而停止。

出现故障时,您需要一个系统来通知您。如果能够在故障出现之前进行预警,那将会更好。在开始安装其他应用程序前,务必知道剩下的硬盘空间或服务器上的系统负载。应用程序崩溃的故障排除工作可能会比较麻烦,但好的监视工具可以提供关于故障前发生的情况的信息。IBM® Tivoli® 是非常出色的用于监视服务器和应用程序的综合工具。

制定计划

对于 WidgetCo 的 IT 体系结构,您的工作是制定一个计划,让其他人的梦想成真。IT 团队进行的一项决策是,开始逐渐将台式服务器淘汰,使用机架安装的硬件加以替代。团队还希望对其计算机供应商进行标准化,以简化采购和支持。由于数据中心的空间限制,适合使用刀片服务器。

团队还注意到,网络向 Internet 公开的 DMZ 不安全。使用现有硬件和人员修复此问题应该相对比较容易,而且开销也不大。

此外,财务部门所使用的应用程序提供商发布了更新版本。升级非常简单,插入 CD 并回答一些问题即可。因为 WidgetCo 购买了支持计划,因此升级是免费提供的。一切进展顺利!

不幸的是,所有的内部应用程序都没有任何容错机制。更糟糕的是,这些应用程序中的大部分都位于相同的服务器上。该服务器关闭后,所有的工作都将停止。通过与开发人员的会议确定了可以将这些应用程序和数据块安装在其他服务器上,但需要一定的时间。

很快您就可以创建 WidgetCo 的未来远景,如 图 3 中所示。请注意,此远景计划没有涉及 图 1 中所示的细节。由于此计划将逐步实施,应该避免特定的元素,以考虑未来技术的发展。例如,避免特定的品牌技术,以实现多个提供商的灵活性。

图 3. WidgetCo 的未来体系结构
WidgetCo 的未来体系结构
WidgetCo 的未来体系结构

找到正确的人员

由于 IT 的规模和复杂性的变化,找到正确的人员来对其进行构建和支持可能将非常具有挑战性。管理员希望简化添加硬件、应用程序及提高质量的工作,而且希望不会带来增加支持人员所带来的开销。可惜的是,在日常的硬件问题和应用程序问题的折磨之下,支持人员在精疲力尽地想要跟上变更的步伐。如果出现重大故障,针对客户和内部人员的服务质量将受到影响。经理应该考虑对服务器职责和工作人员进行平衡。

实现通常可以通过使用外部咨询师来加以简化。这些咨询师不仅可以提供其专业知识,而且更为重要的是,他们可以让当前的人员腾出手来处理现有的项目。

WidgetCo 的员工

由于历史的原因,WidgetCo 的 IT 团队规模很小,而且不正式。为了构建新体系结构,必须将资源从日常的杂务中释放出来。IT 经理让 IBM 的咨询师帮助对内部应用程序进行改造来提供故障转移功能,从而让开发人员继续进行软件的下一版本的工作。

此外,用户当前直接呼叫 IT 团队成员提供帮助,这样会浪费这些成员的时间,减少在进行改进工作方面的时间投入。通过帮助台可集中处理帮助请求,因此 WidgetCo 雇用了一名临时员工。通过计算当前的帮助呼叫数量和解决所需的时间,IT 经理认为有必要设置这个职位。

工具和技术

可以采用多项工具对您的技术进行映射和管理。IBM Tivoli 产品支持对所有 IT 设备进行集中管理。因为这些产品可以使用大多数平台,因此可以快速适应大多数环境。

通过使用 IBM Tivoli Asset Management for IT 查找您当前的基础设施,将填补在清理期间遗漏的空白。通过使用集中管理组件,您可以生成关于当前硬件配置的报告。然后随着基础设施的发展,可以使用 Tivoli Asset Management for IT 帮助在从购买到安装的整个过程中进行监视。而且,还可以使用其跟踪软件许可证及与提供商的服务合同。随着维护协议到期,您可以明智地决定是续约、升级还是替换软件。有关下载 Tivoli 产品的试用版的信息,请参见 参考资料

使用 IBM Rational® 产品时,可以更为容易地将您的新体系结构设计为不受故障影响的 SOA。开发人员若要降低单个服务器的应用程序依赖性,可以使用 Rational Software Architect 来设计和实现下一代应用程序。Rational Software Architect 利用各种编程语言来以现有体系结构为基础创建应用程序或创建新体系结构。在体系结构的扩展过程中,软件修订历史记录非常重要。通过使用 Rational 的 Change and Release Management 软件可以非常好地进行应用程序改进工作。准确的变更管理可以采用您所实现的任何新标准派生得到。例如,PCI 遵从性要求对卡持有人信息的处理进行监视。实现 Rational 产品来处理变更流程,就完全不用担心遵从性的问题。有关下载 Rational 产品的试用版的信息,请参见 参考资料

里程碑

为未来制定计划或处理技术混乱的情况可以算得是最适合 IT 架构师的日常工作。通过以下方式为将来作好准备:

  • 了解您所必须处理的内容。尽可能地利用当前资源和知识。
  • 大胆设想。您不会得到所想要的所有东西,但是会得到所需要的东西。
  • 将其他人包括进来。您不是唯一有梦想的人。
  • 从大处着眼,不要纠缠细节。为下个月、下一年或接下来两年设定目标。

结束语

继续大胆设想,某一天您所有的梦想将会变成现实。当然,虽然可能不能梦想成真,但您可以提高公司和 IT 团队提供的服务质量。即便您无法对未来进行预言,但可以通过使用从硬件到软件的灵活弹性组件进行构建工作来作好准备。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Architecture
ArticleID=316589
ArticleTitle=需求建模
publish-date=06262008