中国IDC圈7月11日报道:亚马逊Web服务(AWS)或许是目前全世界云服务的领导者,但是这种说法的缘由并不充分。事实上AWS远未达到巅峰。
在AWS所有的功能里面,有一些公认的“陷阱”和麻烦。但是这个陷阱列表并不长,并且专家一致认为掌握AWS的特性不是那么难。
首要的挑战就是如何避免不断累加的成本支出。JumpCloud的CEO,Raj Bhargava认为,“如果你不是那么细心,使用AWS云服务通常会导致基础设施螺旋式上升增加以及相对应的支出增加。”他进一步解释说,虽然能够非常简易地操作控制面板以及非常廉价地启动AWS实例,但在如此灵活的基础设施下,企业必须非常仔细地管理其成本投入和获得的效率效能。
“启动一个实例很容易,但随着你通过不断增加基础设施来满足企业需求,账单最终却会变得异常复杂,”Bhargava表示,“在成本和功能的角度所做的分析,在今天是有意义的,但是随着业务的发展在明天可能一文不值。”例如,第一天根据业务所准备的服务器配置很可能在6或12个月内已经失效。
没有一劳永逸
一个常见的误解是AWS服务满足了所有的IT需求,Bhargava说:“你搞错了,AWS提供的是拥有巨大价值和良好设计的基础设施即服务(IaaS)解决方案,但我觉得仍有大批人相信AWS负责诸如安全、补丁、用户管理等事务。”大部分情况下并非如此,“如果企业认为AWS需要负责上述事情而实际上AWS又没有做,他们就将处于严重风险之中。”
从更加宽泛的角度来看待AWS服务陷阱,Orchestratus的CEO,Shlomo Swidler分享了他所认为的四大陷阱,分别是:
无法隔离生产环境与开发测试环境。在开发测试环境下发生的错误不应影响上线的服务,但是在统一的集成账户管理下,这种分隔很难实现。Swidler表示:“你还要严格控制生产环境配置,因为生产环境中包含机密信息,如支付网关电子凭证以及密码等。”简言之,使用独立的AWS账户来管理生产环境和开发测试环境是一个好办法。
失去账单追踪能力。Swidler解释说,由于对大量的AWS资源使用是建立在一个用户账户中,审计和追踪AWS服务使用情况将变得日益困难。在此情况下,Swidler推荐使用AWS的合并账单(Consolidated Billing)功能,该功能允许用户将多个独立账户归集到一个主账户下来管理,展示统一的使用信息并可统一支付。他还推荐在每个账户上设置消费警报,以此通知用户达到预设的消费级别的时刻。
跟上需求的变化。Swidler表示:“启动AWS内的资源并长期使用是容易的,但是你会忽略云服务的一大特色:适应变化需求的灵活性。”他推荐通过定期检查自身需求(至少每季度一次)来解决此问题,他补充道,一旦AWS降低了价格或者增加了新服务,你会发现通过及时变更资源配置能够更加有效地满足需求。
依靠传统数据中心管理工具来管理AWS资源。“数据中心管理工具在管理相对静态的服务器资源上是非常优秀的,但云服务模型允许用户动态添加和删除后台的服务器资源,这种使用模式使得面向数据中心管理的工具无法良好地应对,”Swidler说。相反,AWS的客户应该使用“诸如Chef、Puppet、RunDeck等设计处理动态模型的现代化管理工具” .
面对AWS服务陷阱做好成本控制
“AWS拥有一个智能企业模型引导人们购买备用服务器以尽可能早地锁定价格。这是最好的营销,它之所以能够盛行是因为人们觉得他们完成了交易,并且也觉得服务的价格将会上涨,”JumpCloud的Bhargava说。实际上通常并不是这样,他说,“既得到符合企业需求的服务同时又能得到实惠的价格,要达到这一目标,勤劳努力和教育培养的路还很漫长。”
确定业务需求是什么,以及是否能够满足所有这些需求都是在AWS中你需要关心和询问的,“AWS可以帮你做许多事情,但如果不能通过良好的安全和管理实务以及工具来合理地支撑,简单地启动云服务业务实际上会把你置于风险中,” Bhargava说。
最后,我们再看看产品生命终期问题,DS Applied科技公司的系统架构师Dan Sullivan提醒用户当启动一个亚马逊云服务实例之后,最好配备本地存储备份。之后当你想停用或取消服务时,云主机上的任何信息都将被清除,除非你预先把数据进行了存储,比如使用elastic block存储服务。
他提到另一个类似的问题,当你创建一台虚拟机后,它简单地启动了一个基本镜像,如ubuntu linux,然后安装供开发环境或生产环境使用的软件包。
“你也许希望只保存你自己的镜像,这样就无须每次启动新实例的时候重建系统环境,” Sullivan说道。当你需要重建时,可以借助像Puppet或Chef这样的工具。