我这里一团糟。几年来,我们一直在我们办公室的本地服务器上运行自己的定制应用程序。服务器时不时会出现糟糕的日子和美好的日子--然而服务器几天前就死了--在日常维护期间,我们雇了一个自由职业者来安装打印机--这个白痴最终毁了服务器我仍然猜测他试图搞砸它,这样他就可以为自己造成的错误收费,但这一次它超出了他自己的能力。。
我们的系统关闭了,我们非常期待在一个在线主机上托管我们的web应用程序。我对这里的建议持开放态度。让我解释一下我们在这里运行的系统的性质。
我们的系统是基于Php MySQL的--它是一个以数据时间为中心的协作系统。基本上,我们有一个公司的电子邮件地址,我们收到客户的要求。我们的应用程序用于协作这些请求。我们有一个cron作业定期运行在后台或实际计划的任务运行,它实际上从电子邮件帐户下载电子邮件,并将其转换成一种格式,可以输入数据库进行查询,然后从实际帐户中删除电子邮件,因此我们的系统可以使用它进行协作,而不必每次需要电子邮件时就进行IMAP连接。考虑到我们收到的大量请求,这个cron作业被设置为每3分钟运行一次,因此它以我们的应用程序为中心。有时,计划的任务会挂起,因此有时我们必须手动重新启动计划的任务。
计划的任务还从邮件服务器下载附件,并将它们作为平面文件存储在我们的web应用程序中。平均而言,电子邮件请求没有附件,但在常规情况下,平均附件在200到10 5MB之间,尽管5MB以上的附件是罕见的。大多数下载是在邮件服务器到web应用程序之间进行的。
我需要一个可靠的主机,几乎没有停机时间,因为我们不会运行一个非常关键的应用程序--我的意思是,我们的业务依赖于它,而我的老板现在离崩溃和失去理智还有几英寸的距离:
有人建议rackspace的云服务器--我正在研究这些,但基本上是因为我是一个程序员--我接触到网络和托管方面的东西,除了对web应用程序进行故障排除和调试之外,没有任何扩展。因此,我需要针对我们目前的情况提出一些建议--一个在线主机是个好主意,还是我们需要投资于更好的网络硬件现在我们已经抓到了一个自由职业者--考虑到在线主机的选择,我们应该寻找哪些选项,哪些选项具有性价比。便宜是好的,但如果要在quality...help上达成一个巨大的妥协,那就麻烦了。
编辑====
虽然这个建议很棒,但是现在我正在考虑这种情况。假设我选择了云托管或专用服务器之类的在线服务--在这种情况下,我仍然需要设置故障转移系统吗?如果是这样的话--如何设置故障转移系统,或者如何处理它呢?我们是一家小公司,而另一位IT人员对来自另一台主机的托管服务有着不太好的经验--就像你需要有人在管理服务上不断地与主机协调,如果我们必须完成一半的工作,那么我们就可以投入大量的时间来管理我们自己的服务器,不管是本地的还是云的。
在上述情况下--如果我们考虑一个在线专用主机。我们将如何建立故障转移系统?
发布于 2010-02-22 08:24:54
我不想这么说,但如果你真的相信你的自由职业者想把你搞砸,那么你的第一个电话应该是报警,而且可能是计算机法律方面的专家。
其次,如果您已经拥有了网络连接,并在数据中心中承载空间,我建议您保留它,并维护您自己的网络。我个人不喜欢共享托管的商业模式。我喜欢保留自己的服务器硬件、网络和内部管理.
也就是说,你确实需要雇佣一个你可以信任的人来管理它。最好有一个全职的内部系统管理员,而不是雇用自由职业者每隔几次出现一些事情。主要是因为办公室里有个好朋友会节省大量的时间,其次,希望他能建立起对公司的忠诚度。
如果您运行的应用程序是业务关键的,并且您认为它非常重要,那么为什么它只在一个服务器上运行呢?您刚刚给自己一个失败的最大原因,不是因为一个恶棍的行为,而是因为您的系统架构师从来没有说过“嘿,冗余和弹性如何,让我们拥有一对集群服务器”。
在我做这篇文章的时候,您的服务器状态和配置是否备份过呢?如果你有一个裸金属备份从前一天,你得到你的承包商,然后恢复应该给你一个工作机器。(除非他把硬件弄坏了,在这种情况下,回到第一点,这一次他被控犯有刑事损害罪)
如果您选择一个好的Datacentre,您不需要过多地担心网络方面的问题。它们实际上是为了帮助,而不是剥削你,并且可以为你提供到互联网的不同路线,即使你没有自己的路由硬件。
我的建议:
希望您能学到大量关于如何设置真正的服务器架构的知识,并使您的应用程序比以前更加健壮。可悲的是,每个人都必须在某一时刻犯这些错误,让你成为一个好的系统管理员的是展示你如何处理它。
发布于 2010-02-22 20:41:17
我觉得有必要在此讨论基于云的解决方案和外包您的IT工作。为了充分披露,我经营一家IT咨询公司。我同意,在某一时间点,一间公司的规模会达到有内部资讯科技人员更符合成本效益的程度。然而,我也看到,通常情况下,当一家公司处于这一阶段时,他们只能聘请一名初级工程师。在这种情况下,他们可以雇佣一家IT公司来处理更高级别的项目/任务,并在需要时充当对内部技术的二级支持。当公司达到更大的规模时,拥有内部员工通常很有意义,但这也取决于企业的文化以及他们的技术水平和他们想成为什么样的人。
话虽如此,我可以说,我对安全问题相当偏执,并且把关键任务的数据放在云中,然而,在很多情况下,这样做有很大的好处。第一件事是选择一家可靠的公司,拥有经过验证的业绩记录(即或Rack Space)。你希望有一家支持他们的公司,并拥有SLA。无论哪种方式,无论是内部托管还是云端,您都应该保持良好的备份。
如果你打算在一个数据中心的服务器上花费数千美元,并且想要学习如何安装一台服务器,你可以在云中实现这一点,总成本和初始现金支出都会大幅下降。例如,在Amazon上设置一个中型服务器大约需要15分钟才能完成,您可以在Linux上获得完全的根访问,在Windows上获得完全的管理访问权限。您可以在不需要等待数据中心技术人员为您进行数据中心技术的情况下,动态地缩放您的内存、cpu和磁盘空间。您可以完全控制服务器实例。如果你需要像它一样旋转另一台服务器,这同样简单,你甚至可以拍下你的服务器的快照,然后存储它,然后用它来创建另一台服务器,就像你在几分钟内想要的那样。你只为你所用的东西付钱。
有了Amazon和Rack Space (我猜还有其他一些服务器),您可以在东海岸、西海岸甚至欧洲托管服务器,让它们彼此交谈,或者使用一台进行冗余,并且只在需要时付费。
使用单个实例服务器时,每小时支付的费用要少一些,如果不是比数据中心解决方案少得多的话,这就等于是相同的,您可以在不再需要服务器时关闭服务器。没有定期合同,所以你不会被困住。在固定资产解决方案中,您没有灵活性。
如果你在管理上有困难,或者不想学习,那么你可以在内部雇佣一个人,也可以把它外包出去。无论哪种方式,谁曾经管理过它,应该经过适当的审查,并应该知道他们正在做什么,并能够证明,在你支付他们的工资或费用。
这绝不是一个一刀切的方法,但是一个好的IT顾问应该努力问你很多关于你的需求,你的未来计划,你的预算和你的业务走向的问题,这样他们就能给你合理的选择,你可以接受。
我希望这能帮到你。
发布于 2010-02-22 08:25:43
大多数在线主机倾向于处理网站,所以您可能需要的是托管服务,特别是如果您自己对服务器管理不好的话。您通常会签署一份包含服务级别协议的托管服务合同,而且公司也可能愿意签署保密协议,这取决于您的系统的性质。
如果你真的走在内部维护它的道路上,我建议有一个故障转移系统(它的成本更高,但如果它对你的业务至关重要的话,它应该是一个不费脑筋的。)然后,无论在活动服务器上需要什么维护,都可以在故障转移系统上运行您的系统,因为正如您所看到的,即使是最琐碎的任务也可能出错。
我曾与几家提供托管服务器的公司合作过-- 每座城市可能是迄今为止最好的,因为他们安装和管理整个软件栈(他们运行Solaris系统,但如果您需要,可以提供Windows或Linux系统)。然而,与其他价格相比,这里的价格还是有点高。NTT还提供自定义托管解决方案。
大多数其他主机提供商都提供服务器,由您来安装和管理它。我觉得这些品种中最好的是红台、梅塞特和法西斯主义 (但那里的支持有点糟糕)。
https://serverfault.com/questions/115302
复制相似问题