使用 TSAM 扩展来管理 J2EE 应用程序
Tivoli Service Automation Manager 7.2.2 引入了扩展?的概念,该扩展是一组 TSAM 软件组件,可以向 TSAM 平台添加更多功能。一个扩展通常(但不限于)可以实现以下功能:
这些扩展是由 IBM 或客户服务团队在 TSAM 开发周期以外开发并发布的。由 IBM 开发的扩展是在为 TSAM 客户免费提供的 Integrated Service Management Library 中发布的;它们附带了安装和配置文档,以及一个符合 IBM 标准的用户指南。IBM Tivoli Service Automation Manager Information Center 是获取 IBM 发布的这些扩展的在线文档的入口点(参见?参考资源)。
在 IBM 发布的诸多扩展中,有两个扩展允许管理网络设备的配置,可以向使用 TSAM 创建的虚拟服务器项目添加安全性、可扩展性和冗余性:
Juniper SRX Firewall 扩展的功能是在由 Juniper SRX 企业防火墙保护的 VLAN/子网中,通过一组默认规则自动限制 TSAM 项目中配置的虚拟服务器。在项目的生命周期内,云管理员可以通过 Modify Firewall Rules 扩展提供的一个服务进一步优化防火墙规则。在扩展的初始设置期间,可以根据客户的需求对默认规则进行定制。
F5 BIG-IP Load Balancer 的扩展能够将一个 “虚拟负载均衡器” 放入 TSAM 项目中已配置好的虚拟服务器中,从而增强服务器上安装的应用程序可扩展性和冗余性:通过创建一个 Load Balancer Policy,可以在 TSAM 项目的 VLAN/子网的公共 Virtual IP 地址 (VIP) 中发布应用程序。Load Balancer Policy 可以通过与应用程序相连的 VIP:Port 来识别,或者通过运行该应用程序的 TSAM 项目的虚拟服务器集群来识别。
这些特性使企业客户能够向其分支办事处、业务合作伙伴和客户提供分层式业务应用程序(如 J2EE 应用程序),并且这一过程非常迅速、安全,具有可重复、可扩展和冗余性。
在?使用 TSAM 扩展来部署 J2EE 应用程序?中定义了一个场景,目标是将一个三层式 J2EE 应用程序安全地部署到云中,并演示如何在 TSAM 中设置和配置扩展,从而完成部署;我们建议您阅读本文,更加全面地了解其中介绍的方法。
本文将介绍如何根据您的系统要求调整负载均衡器的策略;如何在业务应用程序的工作负载发生变化时添加和移除应用服务器;如何修改防火墙规则,以及您需要这样做的原因。
?
对于本文及姊妹篇中定义的标准化业务应用程序,可以通过下面的内容设置一个负载均衡器策略:
如图 1 所示,负载均衡器策略传递了额外的信息:
您可能会问,哪一种算法最适合本文定义的业务应用程序?这取决于应用程序的特征。
使用的算法越好,用于执行计算所需的 BIG-IP 资源就越多。因此,您可能希望在测试业务应用程序时选择 round robin 算法,在将其部署到客户端时,则将负载均衡器策略改为 predictive。
负载均衡器策略属于一个单一的 TSAM 项目,可以从一个项目中扩展到多个虚拟服务器。可以在一个项目中部署多个策略,但是每个策略都需要一个专门的 VIP:port 对来处理外部访问。
现在,让我们看看如何在工作负载增加时添加应用服务器,并在工作负载减少时移除它们。
?
当出现相反的情况(您的趋势分析报告表明业务应用程序的利用率下降),您可能希望释放资源,将它们用于 IT 环境中的其他用途,或降低数据中心的功耗。您可以决定是否关闭某些应用服务器或释放它们,这样做也可以释放虚拟机管理程序 (hypervisor) 的数据存储中的空间。
如果业务应用程序的管理员决定关闭应用服务器,那么会使用 TSAM Stop Server 服务,负载均衡器很快就会检测到服务器没有响应(通过监视器)并停止传递连接。它会在服务器重启后开始重新传递连接。
如果管理员决定彻底从业务应用程序项目中移除应用服务器,则会使用下面这些服务:
TSAM 用于简化云计算的最佳特性之一就是能够根据工作负载的变化自动执行管理任务,包括配置/解除配置服务器。我们稍后将详细讨论这方面的内容。
?
下面提出了两种解决方案,都需要 TPAE 定制和集成技巧 (Maximo Enterprise Adapter) 和基于 TSAM REST 的 API 技能:
让我们详细了解这两个解决方案。
?
控制器在 TPAE 平台上实现,该平台使用预调度的任务(图中的 TPAE Cron Task)定期检查资源的状态,然后采取相应的操作。将对资源的检查发送给 BIG-IP 负载均衡器,并在控制器中包含一个支持库,用它来访问设备的 IControl 接口。
IControl 接口可以支持各种编程环境(如 Java?、.NET?、Python、Perl),并允许以较为灵活的方式实现该解决方案。对于 Java 编程语言,支持库为 JAR 文件。
当控制器检测到所监视的应用程序的统计数据出现报警值时,它会确定后续操作以维持系统的效率和可用性。然后将调用 TSAM 的 REST API 接口并提交服务请求,完成配置任务。
?
要实现此目的,您需要在应用服务器上安装 ITM 代理并进行相应地配置。可以在请求业务应用程序的 TSAM Project 时完成该配置,或通过在用于实例化应用服务器的虚拟镜像中嵌入 ITM 代理来完成该配置。统计数据随后被上传到 ITM 服务器并转发给 OMNIbus,以便进行事件处理。
当事件到达 OMNIbus 后,可以通过一个定制的退出程序调用 TSAM REST API;甚至可以利用 OMNIbus-Service Request 管理器集成来提交配置请求。
现在,让我们看看另一个主要的问题:在需要为给定的企业应用程序修改安全设置时,如何修改防火墙规则。
?
防火墙规则允许源子网发起特定的协议流量并到达目标子网。源和目标子网(图 6)通常是使用 CIDR 符号(子网地址/识别子网的 IP 地址的位数)指定的完整子网。不过,如果希望允许特定主机的流量,某个 IP 地址可以被同时指定为某个防火墙规则的源子网和目标子网。
您可能会注意到,您无法指定规则来拒绝流量。扩展的一些要点是它具备以下能力:
因此,防火墙策略始终包含一条无法改变的潜规则:拒绝所有流量。因此,您的管理员只能够以例外的方式允许流量。这是这一特性的一种简单、低风险的实现。
为了进一步简化管理员的工作,可以使用以下三种防火墙规则:
结束语
在本文中,我们解释了如何借助 Juniper SRX Firewall 和 BIG-IP F5 Load Balancer 的 TSAM 扩展来处理在云中部署的 J2EE 业务应用程序的生命周期管理问题。我们特别解释了如何恰当地调优负载均衡器来处理业务应用程序的工作负载,如何通过添加和移除应用服务器来响应业务应用程序的利用率变化,最后我们介绍了如何高效使用防火墙来锁定对您的服务器的访问。
使用 TSAM 扩展来部署 J2EE 应用程序?中描述了对业务应用程序的初始配置。您可以了解如何创建由虚拟服务器组成的 TSAM Project,这些虚拟服务器隐藏在 BIG-IP F5 负载均衡器背后,并通过由 Juniper SRX 防火墙管理的 VLAN/子网进行限制。