Tre*_*reK 8 web-server architecture
我正在为组织设置新服务器。使用开发、测试、暂存和生产(或者我对我不熟悉的其他级别持开放态度)设置新环境的标准或最佳实践是什么?此外,我听说组织将服务器分解为 SQL、应用程序、Web 服务器等。我在哪里可以找到服务器设置可能的解决方案的好例子?
在几个物理盒子中虚拟化这些环境是一种很好的做法吗?
我在网上搜索了一些关于其他组织如何设置环境的想法,但我没有找到任何特别有用的东西。我欢迎您可以指向我的任何链接,讨论为中小型公司构建完整的企业解决方案。
我刚刚找到了这个链接:http : //dltj.org/article/software-development-practice/如果有人知道他们可以指出我的任何好的文章,我想找到更多这样的文章。
在您否决我的问题之前,请发表评论让我尝试解释更多。我可能只是不够了解而无法提出正确的问题。
这是一个非常重要的问题。我的一般建议是将您的注意力集中在管理复杂性上,并让系统有机地增长。
虚拟化:
您真的想避免服务器蔓延,而如今,一切都已虚拟化。选择一个可以让您快速添加虚拟服务器并有效管理它们的平台。我看到的一种趋势是拥有两个(例如)AIX 或 VMWare 集群,一个用于生产,一个用于非生产。非生产环境用于所有开发、测试和登台环境。这些环境非常适合 Web 服务器或应用程序服务器,但我会尽量避免将大型、不断增长的生产数据库作为 VM(至少在 Windows 上)。
数据库
当它们需要与其他服务器共享资源时,它们很容易失控。始终在专用操作系统上运行数据库,除非有充分的理由,否则永远不要与应用程序或 Web 服务器共享。您使用虚拟机还是硬件是唯一的问题。
您需要一个可扩展的基础架构,如果您需要迁移到集群解决方案,该基础架构不会给您带来限制。许多数据库在 VM 中会很好,但对于那些最终需要比 VM 环境中提供的功能更方便的功能的少数数据库,您会发现自己希望将它们放在原始硬件上。
如果您不是在谈论 Windows,那么其中一些指南将不相关。例如,将不断增长的大型数据库作为 LPAR 放置在 AIX 管理程序中是一种普遍接受的做法。
贮存
没有共享存储,就无法实现真正的虚拟化(具有 VM 移动性和主机集群)。Prod、dev、testing 和 QA 服务器对于您的存储看起来都一样,但是您可能需要花一些时间来寻找一种方法来确定您的 prod 的优先级。例如,使用开发服务器共享磁盘(raid 集、池等)是一个非常糟糕的主意。有时,Dev 可以像 prod 一样严重地撞击磁盘,您需要做的最后一件事是弄清楚某种测试是否会降低您的生产速度。
让了解您的存储的人坐下来分析所有潜在的瓶颈(端口、缓存、控制器、磁盘等),并尽最大努力防止生产和非生产之间尽可能多地争用这些瓶颈。
也就是说,有时应用程序人员需要运行开发基准测试来帮助量化新补丁或其他东西的影响。在这种情况下,您可能需要能够为它们提供相似(或至少可量化地不同)的存储马力。
设置具有开发、测试、登台和生产的新环境的标准或最佳实践是什么。
这取决于预算以及其他考虑因素。不确定是否有标准,但您希望在所有机器上保持操作系统和其他软件相同。使用 Puppet 等自动化工具来自动化和标准化您的构建。
在几个物理盒子中可视化这些环境是一个很好的做法吗?
虚拟化?是的。很棒的练习。但需要验证您的配置是否可以作为虚拟机运行。
我听说有些组织将服务器分解为 SQL、应用程序、Web 服务器等。在哪里可以找到服务器设置可能解决方案的良好示例?
也许其他人可以插话,但恕我直言,由于操作系统和应用程序升级和可用性等多种原因,您可能希望在不同的服务器上安装不同的组件。
| 归档时间: |
|
| 查看次数: |
28579 次 |
| 最近记录: |