◆不要避免聘请新手。我认识的很多人都是从一个真正的新手开始的(包括我自己!实际上,我认为我自己一直是一个新手)。经过这个阶段以后,他们会迅速地成长起来。现在正是确立职业生涯的时候。我相信我们中的绝大多数人都是这样的。当然,不包括那些不学习的人,没有积极性的人,或者入错行的人。
避免提供商锁入,同时和你的提供商保持良好的关系
◆购买专有硬件的主要劣势是提供商锁入,你不得不总是使用这个提供商的产品。这可能是一个特殊的SAN,NAS,也可能是特殊用途的随设备存储,备份系统等等。尽量避免发生这种事情。如果你完全按照上面的设计建议来行事,那么应该可以很快地在不同的平台上搭建起测试环境。然后,你可以进行硬件评估,自由地进行选择。
◆如果所有东西都很深奥,都很不明朗,都还没有经过文档化,并且直接依赖于专有的负载均衡器……那么最好别用,因为用了你就不自由。
◆对你最终选择的提供商好一点。如果你每一次采购都在价格方面把他们逼到墙角,那么你只能得到一些垃圾硬件了。
◆有时候数据中心有很多潜在的可用资源。尽量把一些免费的远程协助服务写到合同里,比如就更换硬盘驱动器,提供商的出货/RMA条款,以及一些基础硬件的安装等方面的细则进行谈判。我有一个机架的设备,其安装上架的过程我们的人完全没有操心……真的很不错。
给开源一个机会
◆nginx,mongrel,lighttpd,apache,perlbal,mogilefs,memcached,squid,OpenBGPD,PF,IPTables,LVS,MySQL,Postgres,等等。在你选择可信、可靠、昂贵的专有安装程序以前,给开源一个机会。你会发现使用开源软件意味着可以自己添加插件,扩展,代码修复补丁,或者你可以把一些自己无法实现的功能外包出去。在我看来,开源软件是很可靠的,它们通常比巨大负载之下的大型的,昂贵的硬件更可靠。
◆“一分钱一分货”这种思想是一个彻底的谎言。如果你无法让开源软件为你工作,需要协助,你可以找一个提供商。如果你的团队既睿智又积极主动,这些小伙子们想要搞清楚他们的基础设施是如何工作的,那么你一定无法抵挡来自于GPL或BSD系统的诱惑。
◆MySQL和Postgres都不错。如果你要使用它们,可以权衡一下利弊。没有什么东西会在晚上从你的衣橱里爬出来“吃”掉你的数据。与经过测试的、稳定的冗余master<->slave MySQL集群实例相比,其实庞大的、处于脱机状态的Oracle实例更容易把事情搞的一团糟。
◆关于LAMP架构的文章数不胜数。无数知名网站、ISP、甚至企业现在都在使用开源软件。给开源一个机会。最糟糕的结果也不过是浪费一些时间,而最后从你那些心惊胆战的提供商们那里获得一些不错的报价。
相关链接: