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