在拉斯维加斯召开的 Interrop 2011 大会上, Bitcurrent 的 Alistair Croll 现场分享了一个名为“如何用云的方式去思考”的演讲。这段演讲指出了传统应用开发方式和效用计算思维方式的区别。Croll 重点讲解了基于云的解决方案的部署、安全、性能和整体架构特色。
Croll 指出用云的方式来思考,需要注意以下几点:
- 视服务器为自由的。Croll 说“一个总是能创建和删除服务器实例的组织,能更容易地应对各种各样的应用场景。”他给出的典型案例解释了一个传统企业应用在 Windows 维护期间总是会将业务下线,而一个基于云的应用可以在原始主机维护的同时,直接迁移到新启用的环境上。
- 意在大数据的环境中云能做一些事情。云计算具备大规模水平扩展能力的特性,非常适用于要求灵活多变和数据集中处理的需求。一个 Amazon Web Services 的研究案例阐明了 Croll 的观点。华盛顿邮报搜索上千页的 PDF 内容,以前通过专门的图片处理程序需要耗费 12 天的时间,现在他们将工作迁移到云计算上进行,能在一天内就完成了这项任务,而且仅花费了 144.62 美元。
- 云计算的底层架构和效用模型意味着免费的数据存储。虽然最近已经写了很多阐述设计高可用性云计算解决方案必要性的文章,Croll 解释说大多数存储在云上的应用数据会自动复制并存储在不同的物理单元。举例来说,亚马逊关系数据库服务 Amazon Relational Database Service(RDS)提供了无数据丢失的自动备份和还原服务。然而,云计算服务的用户必须尽力去确认什么样的数据恢复特性是可用的,而不是轻率地假设他们的应用数据即使在基础设施或者系统遇到灾难时也能免遭于难。
- 有时候近似精确在现在看来更好。由于交易的独立性,强调“总是即时、精确”风格的系统很难扩展。Croll 认可了最终一致性的优点。在一个最终一致性的模型中,不是所有的系统组件都能立即访问到最精确的数据。比如说,当一个人往一个银行账号存入一笔钱,他们通常会被告知这些交易会在两个工作日内在系统中显示。用户账户的对账单会最终在所有需要访问到这个数据的系统中传输。
- 你能得到你想要的任何性能,只要你愿意付钱。应用程序的响应延时可能会随着工作量的增加而增大。Croll 指出当组织在解决容量瓶颈时,可能会伴随着不健康的资源冲突。不同的是,在云计算环境中,用户只需要简单地花更多的钱来获得更大的容量即可。不过,Croll 同时提醒云计算用户仔细审查服务合同,并在监控技术能力上加大投入,以便于紧密追踪产品性能,并了解云计算服务提供商提供的大型架构。
- 数据是重中之重。Croll 说,数据是每个云计算服务提供商的核心技术。组织机构会越来越关注他们数据的存放位置。VMware 的 Dave McCrory深度讨论了数据的重要性,并强调低延时数据访问需求促使应用和服务离数据的物理位置更近。
- 当村民们往农村迁移时城墙并没有用。由于工作方式变得更移动化,基于周界的安全随着时间的发展已经显得不再那么有意义。据 Croll 称,工作需要担负起它们自己的保护措施。简单的保护包含数据的网络已经远远不够了。数据控制需要从服务器移动到文件,甚至到数据自身内的原子单元。
- 你可以一次性编写代码数据,架构和应用程序。通过 DevOps 的实践,软件开发小组正让他们的基础架构创建自动化,甚至要求将他们的开发环境作为部署清单里的一部分。Croll 举了一个平台即服务(PaaS)概念的一个例子, VMware 的云服务允许你创建解决方案,在方案里应用程序代码,数据服务和基础设施的主机都是一个单应用部署包的组成部分。
- 你的商业模式会是开火,瞄准,准备好。传统的 IT 需要通过提前计算好投资回报率(ROI)的分析来决定投资和部署什么。现在,Croll 说,软件开发小组可以先部署,分析实际效果,然后再决定是扩大还是缩小规模。Croll 通过一个案例来展示了这个准则:在线游戏巨头 Zynga最近解释了他们怎样在云上部署新游戏,来计算出游戏受欢迎程度和预期的负载情况。如果游戏被证实是可行的,他们就会将它从云平台迁移到自己的数据中心去。当用户改善需求和商业雇主决策解决方案的可行性时,云平台为他们提供了一个建立快速原型的理想环境。
Croll 介绍说传统的企业应用开发的思维模式,不能成功地迁移到一个效用计算模型。应用需要从服务出发和设计架构,来支持水平扩展和基于底层架构的灵活性。
查看英文原文: How To Think Like A Cloud
评论