Sun Java Enterprise System 部署规划白皮书 |
第 6 章
实现部署设计本章概述实现部署设计所需的各个步骤。
部署体系结构获核准且已完成详细的设计规范后,便进入了部署规划的实现阶段。实现阶段的任务是拓展部署体系结构。实现部署设计包括以下某些或全部步骤,具体包含的步骤取决于部署项目的性质:
本章阐述以下几节内容:
开发试验性和原型系统Java Enterprise System 部署通常分为两类:一类是主要基于 Java Enterprise System 所提供服务的部署;另一类是需要大量与 Java Enterprise System 服务集成的定制服务的部署。可将前者视作一种 80:20 部署(80% 的服务由 Java Enterprise System 提供),同样可将前者视作一种 20:80 部署。
对于 80:20 部署,通常需在实现阶段开发用于测试的试验性部署。由于 80:20 部署使用的是提供即用性功能的成熟的 Java Enterprise System 服务,因此相对而言,试验性部署完成开发、测试和修改步骤,最终进至生产部署阶段的速度较快。
相反,20:80 部署引入了新的定制服务,这些服务不具有 80:20 部署所具有的互操作性历史记录。因此需要创建原型部署,它们是概念验证式部署,通常需要经历更为严格的开发、测试、修改过程,才能进至生产阶段。
测试试验性部署和原型部署测试试验性部署和原型部署的目的是,在测试条件下尽一切可能确定部署是否既能满足系统要求,又可实现业务目标。
理想情况下,功能性测试应基于所有已确定使用案例模拟各种方案 — 应开发一套标准来衡量符合性。功能性测试还可包含将系统有限地部署给选定的一组试用版用户,以确定其能否满足业务要求。
负载测试衡量在峰值负载下的性能。这些测试通常使用一系列模拟环境和负载发生器来衡量数据吞吐量和性能。部署的系统要求通常是设计和通过负载测试的基础。
通过测试能够发现部署设计规范存在的问题,并可能要经过若干次反复设计、生成和测试,才能向生产环境展开部署。不过,测试决不应是发现部署体系结构问题的所在。如果在测试阶段发现部署体系结构存在设计问题,便可将分析、规划和设计视作失败。
展开生产部署试验性或概念验证部署符合测试标准后,即可向生产环境展开部署。向生产环境展开部署通常分阶段进行。分阶段展开对会影响大量用户的大型部署具有尤其重要的意义。
分阶段部署可以先向一小节用户部署,然后逐步扩大用户范围,直至将其部署给所有用户。分阶段部署也可这样进行:先部署一定类型的服务,然后逐步引入其余类型的服务。分阶段升级服务有助于隔离、确定和解决服务可能会在生产环境中遇到的任何问题。
由于测试永远不可能完全模拟生产环境,因此应继续对部署的系统进行监控,以确定是否有需要调节、维护或维修的节。