云应用:架构师不知道的秘密

日期: 2014-08-13 作者:Tom Nolle翻译:滕晓龙 来源:TechTarget中国 英文

自从云计算问世以来,它的主要重点一直就是把应用程序迁往云计算。在这个目标中所隐含的意思就是,在云计算和数据中心之间其实并不存在着什么功能性方面的差异;要说有差异,那也只是成本上的差异。现在,我们知道事实并非如此;对于供应商来说,云计算收入的最大来源来自于专为技术而开发的基于云计算的应用程序,因此架构师需要真正认识到这到底意味着什么。认识应当从评估云计算业务趋势对云计算服务模式的影响开始,并以可视化的方式显示云计算功能将如何支持新的应用程序。

接下来的步骤就是学习如何针对云计算的特点进行应用程序开发,以及将应用程序的设计与不断发展的云计算功能相结合。 对于软件架构师来说,关于云计算业务趋势一个最重……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

自从云计算问世以来,它的主要重点一直就是把应用程序迁往云计算。在这个目标中所隐含的意思就是,在云计算和数据中心之间其实并不存在着什么功能性方面的差异;要说有差异,那也只是成本上的差异。现在,我们知道事实并非如此;对于供应商来说,云计算收入的最大来源来自于专为技术而开发的基于云计算的应用程序,因此架构师需要真正认识到这到底意味着什么。认识应当从评估云计算业务趋势对云计算服务模式的影响开始,并以可视化的方式显示云计算功能将如何支持新的应用程序。接下来的步骤就是学习如何针对云计算的特点进行应用程序开发,以及将应用程序的设计与不断发展的云计算功能相结合。

对于软件架构师来说,关于云计算业务趋势一个最重要的事实就是,基础设施即服务(IaaS)并不足以推动云计算充分发挥其潜力。只是简单地把目前未使用的服务功能托管至云计算并不能够为用户创造足够的价值,同时也不能够为供应商带来足够的利润。亚马逊公司是世界云计算服务的领导者,它已经超越了IaaS,增加了提供特殊功能的网络服务,如缓存、HTML加速、身份管理以及数据流量管理等等。这些功能就是亚马逊公司认为能够最好综合买方价值和卖家利润两方面的组合体,因此架构师应当以类似的方式来思考他们自己的应用程序。

当在评估哪些功能更适用于基于云计算的应用程序时,架构师需要做的第一步工作应当是对主要的云计算供应商进行调研以便于找出他们能够提供些什么。尤其是,他们应当了解云计算服务与产品的发展趋势。首先,亚马逊将会致力于抓住云计算服务发展的大机遇,而亚马逊的众多竞争对手们则会通过找到有价值的新利基市场而避开这位云计算市场巨人的强势。当这些企业找到正确的发展方向时,他们就可以组织开发能够充分迎合其功能发展趋势的云计算应用程序。

云计算服务工具应当能够促进供应商的发展和云计算应用程序的开发,从而推动云计算服务的发展,而无需专门的云计算服务。云计算的全部内容就是分配,分配用户、分配资源、分配数据以及分配处理等。其宗旨就是,更高效地分配最有用的云计算应用程序和服务。

分配支持分解成三个部分:对充满变数和多样化用户群的支持,从各种分散的资源收集信息,以及遍及各处(从低负载运行到几乎需要全部超级计算机资源才能完成的高负载任务)的应用程序处理。云计算可以提供所有这些,而且大部分现有和新兴的云计算网络服务产品都可归入这三种类别中的一个。

所有这些分配模式中的共同点就在于工作流所承担的关键角色。如今的架构师们都倾向于开发敏捷性和功能性的应用程序。基于云计算的应用程序的开发均应围绕工作流开展,而每个分配区域都有着各自的工作流管理问题和机遇。

对于用户分配,云计算架构师应当对个人用户寻求类似于网络的支持,而工作请求则应汇集到一个共同的事务处理或处理流程。我们可以把整个应用程序前端视为一个弹性元素的集合体(即一些网络服务器和一些应用程序服务器),我们可以在需要的任意时间任意地点以任意的数量进行部署。这一模式可为任何应用程序所遵循,而在这一模式下支持这些应用程序的功能就是云计算架构师所需要达到的首要目标。

云计算数据收集往往是与用户支持联系在一起的,这是因为一般情况下用户不仅是信息的来源而且也是成果交付的目标。说这句话对,是因为相同的模式对于应用程序是可以奏效的。说这句话不对,则是因为物联网(IoT)模式的存在。云计算物联网是指从分布源收集信息并将其聚集成两部分:一个是为实时过程或业务控制应用而设计的,而另一个则是为驱动分析和知识应用程序的收集形式(大数据)应用而设计的。当你在开发云计算数据收集应用程序时,应当将物联网的原理和特性谨记在心。

大多数的架构师会发现,当他们在构思用户支持或数据采集以及物联网时,应用云计算模式是比较容易的。而分配过程则是比较困难的,这是因为在一个应用程序的固定函数模式下过程弹性是对可变工作负载的响应。而这恰恰正是架构师需要完成的工作内容。

在让应用程序过程变得可分配的工作中,其关键步骤就是正确地设计其组件。一般来说,管理生成数据库升级的组件扩展是比较困难的;数据库的升级和保护技术是一个难以得到缓解的瓶颈问题。这就意味着,你应当为你的计算密集型或以只读模式访问数据表的云计算应用程序寻找功能区。找到这些功能区,并让这每一个功能区成为能够随工作增长或合同而水平扩展的组件。
架构师要完成的最后一步工作就是要让云计算供应商的网络服务(包括现有和将来的)适应之前提及的三个分配区。例如,内容缓存和HTML加速是服务不同应用程序用户群体的有用技术,而流量管理也是物联网或分布式数据采集中的关键因素。在每个区的架构限制下,通过把这些云计算工具映射至工作流中的合适位置就可让这些工具适应。架构师应当始终把外部工具和API纳入公司的逻辑设计范围内,这样如果网络服务发生变化或者如果他们找到了另一家具有更好服务功能的云计算供应商,那么他们就能够轻松地修改代码。

由于与组件集成相关的网络开销方面的原因,云计算工作流非常容易就会变得低效起来。在完成逻辑设计之前,开发出测试应用程序以测试工作流是一种非常明智的做法,这样一来架构师就能够让应用程序适应他们云计算供应商的性能特性。这样就能防止他们的先进应用程序发生故障。

相关推荐