我正在为组织设置新的服务器。 用开发,testing,分期和生产来build立一个新环境的标准或最佳实践是什么(或者我对其他层面不熟悉)? 此外,我听说有组织将服务器分解为SQL,应用程序,Web服务器等。我在哪里可以find服务器设置的可能解决scheme的好例子?
将这些环境虚拟化为几个物理盒子是一种很好的做法吗?
我在网上search了一些关于其他组织如何build立自己的环境的想法,但是我没有find任何有用的东西。 我欢迎任何可以指向我的链接,讨论为中小型公司构build整个企业解决scheme。
我刚刚find这个链接: http : //dltj.org/article/software-development-practice/我想find更多的文章,如果有人知道任何他们可以指向我的好的。
在你投票回答我的问题之前,请发表评论让我尝试解释更多。 我可能不够了解正确的问题。
这是一个很好的问题。 我的一般build议是把注意力集中在pipe理复杂性上,让系统有机地增长。
虚拟化:
你真的想避免服务器蔓延,现在,一切都是虚拟化的。 select一个平台,使您可以快速添加虚拟服务器,并有效pipe理它们。 我所看到的一个趋势是有两个(例如)AIX或VMWare集群,一个用于生产,一个用于非生产。 所有的开发,testing和临时环境都使用非prod。 这些环境对于Web服务器或应用程序服务器来说是完美的,但是我尽量避免把大型,不断增长的生产数据库作为一个VM(至less在Windows上)。
数据库
当他们需要与其他服务器共享资源时,这些可能很容易失控。 总是有数据库运行在一个专用的操作系统,从来没有共享应用程序或Web服务器,除非有一个真正的理由。 无论您使用虚拟机还是硬件,都是唯一的问题。
您希望有一个可扩展的基础架构,如果您需要的话,不会限制您,例如,迁移到群集解决scheme。 很多数据库在虚拟机上都会很好,但是对于less数最终需要比在VM环境中提供的方便的function来说,你会发现自己希望将它们放在原始硬件上 。
如果你不是在谈论窗户,那么这些指导方针中的一些将不相关。 例如,在AIXpipe理程序中,将大型增长数据库作为LPAR,这是人们普遍接受的做法。
存储
您不能拥有真正的虚拟化(虚拟机移动性和主机群集)而没有共享存储。 产品,开发,testing和质量保证服务器与您的存储器看起来都是一样的,但是您可能需要投入一些时间来寻找优先考虑的方法。 例如,一个非常糟糕的主意是,要有一个严重税收的prod数据库与dev服务器共享磁盘(raid集,池,不pipe)。 有时候,开发者可能会像生产一样困难,而最后一件事情就是弄清楚某种testing是否会降低生产速度。
让一个知道你的存储的人坐下来,分析所有潜在的瓶颈(端口,caching,控制器,磁盘等),并尽最大努力防止产品和非产品之间争夺尽可能多的瓶颈。
也就是说,有时应用程序人员需要运行开发基准来帮助量化新补丁的效果。 在这种情况下,您可能需要能够为他们提供类似的(或者至less在量化上不同的)储存马力。
你需要什么环境? 供应商软件或您的组织正在进行自己的开发?
不知道这是否会有所帮助,但惠普和戴尔将全身心投入到评估您当前的数据中心,并给您一个build议,从头改造或创build。 论坛读者可以给出很好的答案,但是如果没有看到“你有什么,在哪里,在哪里,在哪里,在哪里”,很难给出一个可靠的答案。 为了自己的利益,坚持一个硬件供应商,因为pipe理的原因。
我们有我们的数据中心与此相适应(我们有硬件来做到这一点)
具有EMC SAN后端的VMWare环境C7000 Hp刀片机箱,8 Gig光纤连接。
这使我们能够限制spawl,电力使用和空调费用。 它将用于testing机器,概念服务器的certificate,生产服务器,不需要应用程序特有的硬件(USBencryption狗,传真板等)
物理刀片服务器环境带有16个刀片式HBA的C7000 Hp刀片式机箱通过8 Gig光纤连接到EMC SAN后端。
这些将是需要大量的RAM和CPU,但没有独特的硬件添加的机器。 除非需要大量的CPU或RAM,否则虚拟机很好。 VMWare允许vmotion将vmserver移动到主机以平衡硬件使用。 虚拟机的房地产只有使用到最大时才具有成本效益。 意思是,更小的机器,而不是一些大的机器。 这也取决于你试图站出来的系统。
物理服务器(1U到5U)
HP DL360 – DL 5xx服务器。 特殊的硬件如4×8核心CPUS和256 Gigs ram,用于电信接口的串行卡,或连接到多条电话线的高端传真卡。 包含在这个组中的服务器是供应商需要大量的本地存储。
这是一个例子,但不是一个完整的答案。 认真地说,与硬件供应商交谈,让他们知道你在哪里,以及如何使它变得更好/更高效。
build立一个开发,testing,分期和生产环境的标准或最佳实践是什么?
这取决于预算和其他考虑因素。 不知道是否有标准,但你想保持操作系统和其他软件相同的所有箱子。 使用像Puppet这样的自动化工具来自动化和标准化你的构build。
把这些环境看成是一个很好的做法?
虚拟化? 是。 伟大的实践。 但是需要validation你的configuration是否可以作为虚拟机运行。
我听说有组织将服务器分解成SQL,应用程序,Web服务器等。 我在哪里可以find服务器设置的可能解决scheme的好例子?
也许其他人可以参与进来,但是不pipe怎么样,您都希望在不同的服务器上安装不同的组件,这是因为操作系统和应用程序升级以及可用性方面的多种原因。