如何开发成功的混合云应用

日期:2014-4-9作者:Tom Nolle

【TechTarget中国原创】

虽然为混合云部署开发应用并不是某种黑暗魔法,但是对于很多企业来说,这还是一项具有一定神秘性的工作。

可以想象,任何设想进行混合云开发的用户最终都需要完成很多个这样的项目,所以首先制定一个可以应用于所有项目的实施策略,然后在一个合适的混合部署中测试这个实施策略将是十分明智的做法。为了实现成功的混合云实施,这样的一个实施策略必须考虑混合云应用的任务,使用混合云的缘由,以及混合运行与应用体验特质(QoE)之间的重要相互作用。

云计算应用规划者可能犯下的最严重错误就是,在考虑综合、集成或者云计算平台选择这样的技术问题时不为应用本身设定一个应用环境。应用的设计始终主要是由任务而非技术推动的,但是项目任务书则必须正确地综合考虑业务问题和技术要求两方面的因素。

云计算应用的方方面面

应用是可以实现多维度分类的。它们可以是事务性的,或者涉及信息传递(第一维)。它们可以是移动的,而不是基于桌面系统的(第二维)。最后,它们也都可以是基于会话或者基于实例的(第三维)。在所有这些维度中,第一个选项要比第二个选项需要更多的设计关注。

在第一个维度中,事务性应用的功能是那些记录或修改信息,这就意味着它们必须在与相关数据进行交互时具有较高可靠性,以避免造成数据损坏的危险。提高可靠性的要求意味着混合应用的公共云计算组件必须具有较高的可靠性,或者必须采取特殊的编程措施(例如分两个阶段提交数据)以保护数据的完整性。如果你将在云计算爆发或故障转移应用中使用混合云,那么事务性应用就需要在任何规模改变或故障转移活动期间维护数据的完整性。

相反,信息传递应用可容忍故障或响应时间变化;如果第一次请求丢失,那么用户将需要重复提交一次请求信息。这就意味着,诸如负载平衡这样的简单技术将支持应用的弹性缩放以及工作任务在公共云计算与数据中心之间的转移。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

Tom Nolle
Tom Nolle

关于作者:Tom Nolle是CIMI公司的总裁,这家公司成立于1982年,是致力于电信和数据通信的战略顾问公司。Tom Nolle是IEEE、ACM、Telemanagement Forum和IPsphere Forum的一员,著作有关于Netwatcher方面的书籍。

云网络和混合云>更多

  • 2016年:混合管理技巧大全

    然而,和任何IT环境一样,对于大多数混合云部署来说,高效的管理实践至关重要——这涉及到的领域包括从网络到数据管理和存储连通性的所有东西。

  • IT领域中混合云管理工具扮演什么角色?

    如今的IT是注重节约成本的,因此每个IT决策都会仔细核算讨论。真正的问题,比如数据丢失、安全性和敏捷性等,在决策之前都需要量化成美元,或者至少估算得八九不离十。

  • 你造吗?多云计算还存在很多问题

    一些专家谈到多云计算,使用多个“基础设施即服务”提供商,是下一波企业云采用的趋势。然而,对于许多IT团队来说,通往多云之路是坎坷的。

  • 混合云市场又添新成员:ZStack讲述云的“进化”论

    2017年1月18日,企业专有云、混合云市场的创新者ZStack举办了以“进化”为主题的ZStack产品战略及融资新闻发布会。在发布会上,ZStack表示随着企业应用加速云化,企业云计算正在从项目型向产品型进化,混合云也因为满足敏捷性、安全性等关键需求而获得企业的青睐。

相关推荐

  • 混合云市场又添新成员:ZStack讲述云的“进化”论

    2017年1月18日,企业专有云、混合云市场的创新者ZStack举办了以“进化”为主题的ZStack产品战略及融资新闻发布会。在发布会上,ZStack表示随着企业应用加速云化,企业云计算正在从项目型向产品型进化,混合云也因为满足敏捷性、安全性等关键需求而获得企业的青睐。

  • 2016年:混合管理技巧大全

    然而,和任何IT环境一样,对于大多数混合云部署来说,高效的管理实践至关重要——这涉及到的领域包括从网络到数据管理和存储连通性的所有东西。

  • 公共云存储服务的可扩展性和性能

    很多企业都在使用公共云、私有云以及混合云这样的一个组合,但是其中的公共云存储服务是尤其吸引人的。它的成本效益高,它可提供可扩展性、可靠性以及性能优势。

  • 双管齐下:戴尔布局混合云 筹谋人工智能

    未来云计算是一种兼具公有云和私有云的方式,无论VMware还是戴尔,我们一直坚信未来的IT技术发展或者是整个企业去走数字化转型的发展当中,混合云是非常清晰的方向,几乎就是业界比较确定的方向。

技术手册>更多

  • 特刊:Hadoop云服务之战

    尽管很多奇怪的梦是相反的,而我们的大多数童年的毛绒玩具不会变大,而且不会走到IT巨头那里,就像谷歌、IBM、微软和雅虎。Doug Cutting的毛绒玩具大象Hadoop却做到了。以一个孩童时期的玩具名来命名,Hadoop被构想成谷歌的MapReduce的一部分。免费的基于JAVA的编程框架已经相当成熟,正在获得大多数IT人士的认可,用其来为企业商业智能分析数据。

  • Windows Azure技巧集锦

    如今,微软已经视云计算为核心战略,该项业务的表现甚至将决定这家老牌IT巨头未来的走势,而且其云计算产品Windows Azure也占据微软云计算服务的半壁江山。

  • 云开发系列文摘:Clouds in my Coffee

    现在说云开发正在增长是一个陈述句。正如云作为另一个行业热词已经降温,兴趣却在飙升,企业开始在应用开发中使用。《云开发文摘》第一期中主要为IT和开发经理提供云开发中的趋势、战略和最佳实践的话题。

  • 多云战略与管理

    一个多云战略可以让用户充分发挥每个云产品的优势来满足每一个业务需求,但是这样一个战略也会引入一定的复杂性。在一个多云模式中,很容易就会陷入失控的状态;用户一个不小心就会错失整个价值主张。但如果有了合适的预防措施,那么一个多云战略将给用户带来许多的红利。

TechTarget

最新资源
  • 安全
  • CIO
  • SOA
  • 虚拟化
  • 网络
  • 数据中心
【TechTarget中国原创】

虽然为混合云部署开发应用并不是某种黑暗魔法,但是对于很多企业来说,这还是一项具有一定神秘性的工作。

可以想象,任何设想进行混合云开发的用户最终都需要完成很多个这样的项目,所以首先制定一个可以应用于所有项目的实施策略,然后在一个合适的混合部署中测试这个实施策略将是十分明智的做法。为了实现成功的混合云实施,这样的一个实施策略必须考虑混合云应用的任务,使用混合云的缘由,以及混合运行与应用体验特质(QoE)之间的重要相互作用。

云计算应用规划者可能犯下的最严重错误就是,在考虑综合、集成或者云计算平台选择这样的技术问题时不为应用本身设定一个应用环境。应用的设计始终主要是由任务而非技术推动的,但是项目任务书则必须正确地综合考虑业务问题和技术要求两方面的因素。

云计算应用的方方面面

应用是可以实现多维度分类的。它们可以是事务性的,或者涉及信息传递(第一维)。它们可以是移动的,而不是基于桌面系统的(第二维)。最后,它们也都可以是基于会话或者基于实例的(第三维)。在所有这些维度中,第一个选项要比第二个选项需要更多的设计关注。

在第一个维度中,事务性应用的功能是那些记录或修改信息,这就意味着它们必须在与相关数据进行交互时具有较高可靠性,以避免造成数据损坏的危险。提高可靠性的要求意味着混合应用的公共云计算组件必须具有较高的可靠性,或者必须采取特殊的编程措施(例如分两个阶段提交数据)以保护数据的完整性。如果你将在云计算爆发或故障转移应用中使用混合云,那么事务性应用就需要在任何规模改变或故障转移活动期间维护数据的完整性。

相反,信息传递应用可容忍故障或响应时间变化;如果第一次请求丢失,那么用户将需要重复提交一次请求信息。这就意味着,诸如负载平衡这样的简单技术将支持应用的弹性缩放以及工作任务在公共云计算与数据中心之间的转移。

在第二个维度,移动性会在两个方面带来需要特别关注的问题。第一,移动连接是通过无线网络建立起来的,因此其连接可靠性通常要比桌面系统的连接可靠性更低。这一点将加剧事务性应用中数据完整性问题的恶化。移动用户也可能是在多个可变的环境中工作的,而公共云计算服务可能是由一个单一的数据中心提供的,这样一来就会带来明显的性能差异。如果用户的分散度较高,那么就需要寻找区域托管的服务供应商。

基于会话或基于实例的应用的问题(第三维度)是指用户是否会与应用进行长期的多步骤交互,而不是短期的单次交互。协作是基于会话交互的一个示例,而简单处理一次信用卡购买的业务就是基于实例应用的一个例子。

在应用设计中有一种趋势,即面向会话的应用会通过一个所谓的Stateful行为依赖于一个可靠的一致性连接。大部分面向实例的应用(例如网络应用)是无需维护与一个用户的多阶段对话的环境的(这些被称为Representational状态转移或 stateful应用)。综合Stateful应用要困难得多,因为如果一个组件发生云计算爆发或云计算故障转移,应用就会丢失一个进程中用户活动的相关信息。

可以实施综合的原因可以是因为动态组件调度或前后端现有的云计算组件应用。动态调度意味着在云计算或在数据中心内根据工作负载或者是否有资源失败的实际情况把资源分配给应用组件。

前后端混合应用会在用户和应用的其余部分之间开发一个类似于网络的应用体验,充分利用公共云计算的优势来扩展这些组件或者根据用户的实际物理位置分布把这些组件移动到相应的地域。前后端的方法创造了综合的一个一致性模式,即组件总是在云计算中或在数据中心内,从而简化了设计难度。当需要动态地移动组件时,就会实施所有可以确保用户体验一致性和数据库完整性的措施。

确保高品质的用户体验

用户体验一致性是所有混合云设计问题中最具挑战性的一个,其部分原因是因为这个问题具有非常强的主观性和可变性。公共云计算应用体验特性会有显著的差异,这一差异性主要取决于用户相对于其相关云计算托管点的位置,云计算托管相对于数据中心组件的位置以及所有这些位置的网络连接质量。

通过使用可用性区域的方法来管理托管发生位置,以及通过确保云计算爆发或故障转移的动态调度过程中不会产生可能在事务性应用的stateful行为中引入延迟的应用错误,就可以非常容易地解决混合云应用的应用体验特性问题(即确保用户永远不会离基于云计算的组件太远)。

混合云应用设计的最后一点就是客户端设备以及托管在其中的任何本地软件的角色问题。当应用体验特性比较糟糕时,客户端软件可以管理“用户-应用”的交互以防止用户通过重新提交申请而产生多个更新。而在发生云计算爆发或故障转移过程中,它还有助于重新同步应用会话或交易。

如果你在你自己的混合云应用开发过程中遇到过上述的大部分设计问题,那么你可能需要考虑采用一个专业设备应用来配合云计算应用的其余部分。反之,这样做将提高系统的稳定性和用户的满意度。