当前位置: 首页 > 业界动态 > 技术评论 > 本文


云应用开发可帮助获得敏捷性




发布时间: 2014-9-19 14:49:45  

云计算

 

  在Agile 2014会议上,一位高级软件顾问介绍了基于云的应用程序开发是如何从Agile的解决方案中受益的。
  云已经从开发人员的手中拿走了一些对应用程序开发的控制权。不幸的是,很多的开发人员还没有适应他们在云时代中的新角色,威斯康星州的高级顾问兼Agile教练Dan Piessens说。这一转变将迫使开发人员转变他们对于应用程序开发的传统观念。他们还必须学习使用新的技能以便于为不断变化的平台开发弹性的应用程序。
  “我们在运行的系统中发现,开发人员所使用的很多模式要么对系统有直接的控制要么对系统有一定的影响,”Piessens解释说。在云中,他们并不具有与之相同的控制权,而更新、服务位置和中断都完全处于开发人员的视野范围之外。
  Piessens建议开发人员在基于云的应用程序开发中应用Agile实践以便于引入更多的灵活性,并能够快速地故障中恢复过来。“解释说明这些情况并将其与Agility原则联系起来的方法中有一些是比较简单的,”他说。
  在Agile 2014上,Piessens举办了一个名为“开发稳定、敏捷的云应用程序”的会议,在会议上他向与会者分享了一些开发更具敏捷性的云应用程序的基本策略。在讲座中,Piessens从瞬态错误处理、诊断以及把回落模式融入应用程序开发等问题入手。“我将与大家分享一些来源于现实生活的‘恐怖故事’来说明这些做法的重要性,”他补充说。
  在会议上,Piessens介绍了应用程序开发是如何与敏捷性相关的,以及如何向外部专家“借脑”。他还讨论了谁很有可能从这些实践中受益。
  开发一个变化的平台
  “弹性云应用程序与敏捷性相关有两个核心领域:稳定的质量,以及响应变更的能力,”Piessens说。
  他认为,云应用程序开发策略所带来的价值更多的在于问题恢复而不是回避问题。开发人员将不得不花费数月之久的时间来进行提前规划以求实现万无一失的部署。但是,无论是什么样的错误,云中终究还是会发生错误的。开发人员对它们研究的深入程度很终将决定云应用程序是否能够保持长期的成功。
  步就是要把云视为一个不断变化的有机体,而不是一个静态的平台。“有些开发人员可能并没有意识到云的底层基础设施是在不断变化的,他们可能需要把响应和常见瞬态故障结合起来。”这方面的一个例子就是可扩展性。如果云应用程序得以普及,而流量突然飙升,那么将会发生些什么呢?在此之前,开发人员需要对这个情况有所了解以便于执行一个高效的可扩展性预案。
  当涉及云时,质量并不是一个很终的结果。这是一个持续不断的过程,而云应用程序的设计需要开发人员拥有一个面向过程的概念。换而言之,云应用程序的设计并不需要是防弹的。它只需简单地具有弹性。
  收集资源
  这个过程是从选择云供应商开始的,但它并没有止步于此。一旦应用程序被托管,那么企业用户仍然需要在定义托管方法中发挥积极的作用。这样一来,他们就能够限度地发挥不同功能的优点。“让主要云供应商托管你的项目显然是必须的,但是你还要确保你充分地利用了供应商的优点,而这些优点有可能是被其他人所忽略的。”
  具有讽刺意味的是,一些企业用户往往过于追求避免受制于厂商而放弃了那些有助于增加其灵活性的特性和功能。“虽然今天选择了亚马逊网络服务(AWS)明天选择微软公司的Azure有可能会为用户带来一些好处,但是你有可能正在牺牲某些关键的性能以及可靠性,而这些指标往往是影响你目前业务价值的决定性因素,”Piessen解释道。
  简单地做好研究则是实现灵活性和避免常见陷阱的另一个关键步骤。如果你愿意,那里有着大量的研究材料可供你使用。“这一领域的专家和相关组织(例如微软模式与实践)可以提供有益的指导。他们可以提供大量的材料来帮助开发人员理解何为常见的陷阱、为什么开发人员应当关注这类问题以及如何解决这些问题等等。”
  也有些诸如Centare这样的咨询公司能够从一个新的视角来诠释企业的应用程序开发过程,尤其是特别强调了他们正在进行的正确工作以及那些需要做出改变的事情。
  Piessens认为,敏捷开发战略是多种类型云应用程序的必然选择,其中包括了移动后端以及SaaS企业。这些策略有可能会让所有的人都能够得益。“在私有数据中心中的两台服务器上运行的应用程序就可以利用到这些技术,”Piessens说。

  来源:TechTarget中国 作者:Caroline de Lacvivier    翻译:滕晓龙

阅读:524次
推荐阅读:

版权所有 © 2011-2017 南京云创大数据科技股份有限公司(股票代码:835305), 保留一切权利。(苏ICP备11060547号-1)  
云创大数据-专业的云存储、大数据、云计算产品供应商