更多考量标准
云服务当中最有趣的部分就是包含大量针对特定工作的虚拟机。虽然它们并不属于大家每天都在使用、能够运行PHP代码的普通虚拟机,厂商仍然承诺帮助用户借此大大简化未来需要面对的各种挑战。举例来说,Amazon已经准备好了大量显卡(也就是GPU)供用户进行实验,我们可以将想象得到的一切算法交给它们打理、由此评估其实际价值。物理学家、生物学家乃至计算机科学家们已经开始在这些虚拟机上运行自己的算法。作为典型实例,这向我们昭示了云计算这一新型体系架构如何切实简化自己的研究工作以及日常需求。
这些特殊堆栈并不一定需要搭配特殊的硬件设备,但基于性能考量而提供特定优化方案的例子也不少。目前已经有多种云服务——其中包括Amazon、Joyent以及Windows Azure——提供专门用于Hadoop负载的设备选项。这些厂商对底层操作系统以及JVM进行了调整与优化,旨在获得更为出色的性能表现。Joyent宣称其虚拟机的运行速度“提升到近三倍”。真的假的?这取决于大家要用这些虚拟机运行哪些具体负载。就其本身而言,Amazon拥有大量直接面向Hadoop作业的虚拟机,从而帮助大家避免在自己的普通虚拟机上处理这类高强度计算任务。
除此之外,还有很多引起我个人高度关注的其它功能。一部分云方案在性能测试与图形化仪表板方面比其它竞争对手表现得更为突出。刚开始我对这类情况非常纠结,但挣扎了一段时间之后我决定将关注重点转移到其它方面。了解虚拟机的全局负载当然非常重要,但大部分开发人员更倾向于利用自己的统计工具掌握虚拟机的当前运行情况。不过大家的具体需求可能有所不同,也许很多用户对这类额外功能非常看重。
另一类功能最终也可能成为决定云方案成败的关键性因素。目前云环境下已经诞生出一部分新型功能,旨在使其更轻松地实现虚拟机自动化、并根据个人使用情况进行少量配置变更。Amazon允许大家利用同一套镜像创建出上百套新虚拟机系统,而后通过对配置信息的调整对它们加以区分——整个过程以自动化形式完成,我们不必逐一对其进行单独配置。
这类功能的实际价值在很大程度上取决于大家运行的实际作业类型。如果各位主要使用静态堆栈,那么上述功能基本发挥不出什么优势。但如果大家需要经常大规模构建或者移除虚拟机系统,那么自动化配置能力就会变得非常关键。相信随着此类支持功能的不断涌现,需要面对大数据处理任务的用户将成为云服务的忠实支持者。
哪种云方案最适合自己
说了这么多,我们得出的最重要的结论就是:云方案的选择绝对不是个简单而直观的问题。对于其他人而言价格最低廉的方案在我看来很可能会变得成本高企。最适合各位的带宽计费方式对我来说也可能非常昂贵。基准测试结果纷繁复杂,数据存储成本也各不相同。我们每一个人都需要将注意力集中在这些系统身上,花时间认真进行数字比对并在制定决策之前进行大量实际测试。
但这也正是乐趣的一部分。在庞大服务器规模的复杂集成之下,各类云方案的表面运行效果可能都很顺畅;不过真正重要的是服务供应商采取怎样的实际手段解决各类问题并向用户开放选择不同架构的权利。时至今日,这些选项正变得愈发透明也更易于实现,作为用户的我们也不必再受到备份机制与机架容量的困扰。但这一切都需要用时间来体察——在经过几个月的尝试之后,我发现自己的云探索之路还远远没有走到尽头。