云技术开发:引入前必须了解的九大难题

  如果要获得更多可用的开发空间,Intersimone表示他正在考虑采用由CohesiveFT公司提供的云容器以及虚拟专有网络。它们能够为公共云及私有云根据具体需求提供扩展、故障切换、灾难恢复及突发情况备份等服务。

  其它可能会影响开发及测试的因素包括网络延迟、网络带宽等,这类情况在世界上的某些国家中尤为常见。Embaracdero公司的研究及开发中心遍布斯科茨谷、加利福尼亚州、加州蒙特里、多伦多、圣彼得堡、佛罗里达州及罗马尼亚的雅西,此外还在世界范围内分布着大大小小的团队及个人研发中心。

  考虑到Embarcadero公司上述复杂的地理分布状况,开发环境也就“更难保证程序的构建、检查以及自动测试执行的同步完成,”Intersimone说。为了解决这一问题,开发人员决定在本地主机上进行开发工作,并正如代码核对一样,在虚拟服务器上将开发成果发布出来。而Embarcadero公司所要做的是借助Subversion(一款开源工具,用以控制源代码)来确保所有这些工作成果能够及时准确地与私有云中的版本进行同步。

  “当一个阶段性成果被构建完成,它将自动由验证体系进行运行测试,”Intersimone说。“然后将通知发布到整个开发团队中,并且该成果将被立即上传到我们开发中心的虚拟机中去,以接受进一步的自动测试。”当自动及人工检测全部完成后,电子邮件会通知到每位开发人员。“上述所有步骤在应用程序的开发过程中不断循环,”他说道。

  云开发难题六:在云环境中运行容易造成资源浪费

  另一个潜在的问题是应用云技术会浪费资金。开发人员很容易就会忘记或者是忽视掉应该把不使用的虚拟机关闭。“我已经听到了一些客户的声音,如果让开发人员放开了去使用虚拟机资源,遇上周末的时候他们往往就把那些运行着任务的设备直接扔下了,”来自Gartner公司的Knipp说。“如果这些设备只是自己企业内部所购买并部署的私有服务器,倒也没什么大不了的,只是耗电而已。但当他们所使用的是计时租赁的公共云服务时,那就绝对是对金钱的极大浪费。”

  Knipp说他希望这一问题会成为推动各企业部署私有云设备的动力。

  尽管让开发人员使用私有云进行工作几乎不会导致过于高昂的支出,但是“在自架服务器上,私有IaaS(基础设施即服务)环境中,开发人员能够尽情玩转虚拟机而不必将其关闭,”Knipp说道。“这种习惯性行为会导致大量有效资源被虚开着的虚拟机所占用,进而使得整个企业机构不得不购买多于所需的硬件设备来应对这一局面。”

  云开发难题七:云许可中那些莫名其妙的部署限制条款

  在与云开发相关的非技术类问题中,影响最大的莫过于应用许可限制了。两年前Kelly Service这一国家级临时机构决定将Salesforce.com的Force.com作为平台载体,以使用其自主研发的应用程序来帮助进行云环境下的软件开发。

  云开发带来了种种益处,例如缩短应用程序开发周期以及降低开发成本,Joe Drouin说,他是Kelly Services的CIO。但该公司也在应用许可方面遇到了一些意料之外的麻烦,尤其是在反馈哪类用户将会使用这款软件以及其所能负载的访问对象数量上。最终,在开发的“某些层面上我们惊讶地得知了自己能做或不能做哪些事情,有些条款实在是让人费解,”Drouin说。

  云开发难题八:高集成度架构使故障排查更难实施

  将新应用程序与现有的程序整合起来可以说是开发过程中的关键性步骤,而云技术的引入从集成角度来说带来了更多的挑战,Drouin说道:“利用云计算时,企业用户一般都不具备可以将其云服务供应商的基础设施进行开放式接入、应用和整合的平台。”

  Kelly公司在基于云的应用程序与其内部部署系统以及多个云应用程序之间的协作性能问题方面交出了令人满意的答卷。这类问题真的很难解决,因为公司通常来说只能对自己的基础设施进行排查,Drouin说道。

  为了尽量减少高度整合所带来的问题,Kelly的开发人员们尽可能尝试利用云供应商的API(即应用程序编程接口)来解决问题;这种方案相当容易,因为多数云服务供应商都会公开其API,Drouin说。

  云开发难题九:云技术迅猛发展,前进步伐难以跟上

  IT服务供应商Avanade使用的是部分归属于微软的Azure云平台,并利用微软提供的开发工具来对企业内部及客户端的业务进行开发和测试。