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

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

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

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

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

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

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

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

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

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

在让应用程序过程变得可分配的工作中,其关键步骤就是正确地设计其组件。一般来说,管理生成数据库升级的组件扩展是比较困难的;数据库的升级和保护技术是一个难以得到缓解的瓶颈问题。这就意味着,你应当为你的计算密集型或以只读模式访问数据表的云计算应用程序寻找功能区。找到这些功能区,并让这每一个功能区成为能够随工作增长或合同而水平扩展的组件。

架构师要完成的最后一步工作就是要让云计算供应商的网络服务(包括现有和将来的)适应之前提及的三个分配区。例如,内容缓存和HTML加速是服务不同应用程序用户群体的有用技术,而流量管理也是物联网或分布式数据采集中的关键因素。在每个区的架构限制下,通过把这些云计算工具映射至工作流中的合适位置就可让这些工具适应。架构师应当始终把外部工具和API纳入公司的逻辑设计范围内,这样如果网络服务发生变化或者如果他们找到了另一家具有更好服务功能的云计算供应商,那么他们就能够轻松地修改代码。

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

原文发布于微信公众号 - 云计算D1net(D1Net02)

原文发表时间:2014-08-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏京东技术

【对话】京东基础架构部高级软件开发工程师张墨飞:全面解读京东ForceBot全链路压测平台技术核心

? 张墨飞 基础架构部高级软件开发工程师 京东技术11.11基础架构峰会讲师 电商大促准备好的第一件事情就是应对高流量,全链路压测无疑成为必不可少的一个环节...

5054
来自专栏云计算D1net

为什么云计算更适合灾难恢复

在对灾难恢复(DR)架构进行任何实际更改之前,第一步是评估需要在紧急情况下进行保护的整个IT环境。最好的方法是确定哪些服务和功能会因延长停机时间而受到最大损害,...

1051
来自专栏鹅厂网事

海量服务器运营平台的进化之路

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

3376
来自专栏互联网数据官iCDO

Facebook广告定向优化的8种方法

译者:吕东昊 审校:董梁 本文长度为3495字,预估阅读时间6分钟。 我们今天要向大家介绍的是Facebook广告定向优化的8种方法 您的Facebook广告...

6947
来自专栏云计算D1net

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

自从云计算问世以来,它的主要重点一直就是把应用程序迁往云计算。在这个目标中所隐含的意思就是,在云计算和数据中心之间其实并不存在着什么功能性方面的差异;要说有差异...

3577
来自专栏DevOps时代的专栏

影响 DevOps 成功实践的15个指标

持续对特定指标的关注是衡量 DevOps 实践是否成功的关键。通过本文,我们看一下你确实需要关注的十五个指标。 你所在的组织里 DevOps 是如何践行的?...

30110
来自专栏腾讯大数据的专栏

数据运营实战(二):细分漏斗画像,改善关键节点

我们的现实世界并非是简单的数据逻辑结构,很多结果都是多种原因综合导致的,我们可以用多种角度去分析同一个问题。

2501
来自专栏云计算D1net

采用云性能监控工具消除IT的盲点

使用公共云并不意味着企业必须牺牲应用程序和工作负载性能的可见性。使用正确的工具集可以给IT一个更全面的场景。 公共云已经成为许多企业IT计划的关键要素。越来越多...

3343
来自专栏SDNLAB

AT&T将谷歌云融入其NetBond for Cloud平台

2557
来自专栏Java后端技术栈

Web 和 Chrome 开发者之间的那些事!

这个标题可能咋看之下似乎有那么一点怪(不过你要知道,把标题起的这么怪真不是我的本意),而我真正想看到的是,你们 web development 社区是如何看待 ...

882

扫码关注云+社区

领取腾讯云代金券