云开发:在跳进之前9 Gotchas了解

无论是开发、测试还是在云端部署你的应用程序,你都必须摒弃一些信念,学习新的信念才能让它发挥作用

随着越来越多的企业推出公共和私有云计算计划,云中的应用程序开发和测试越来越受欢迎。云开发通常包括集成开发环境、应用程序生命周期管理组件(例如测试和质量管理、源代码和配置管理、持续交付工具)和应用程序安全测试组件。

尽管有云开发经验的技术高管和开发人员表示,在这些环境下进行开发有明显的好处,比如节省成本和加快上市速度,但他们也警告称有挑战和惊喜等着你

[在InfoWorld编辑的21页中,你可以得到真正利用云计算所需要的严肃的解释和建议云计算深度潜水PDF特别报道.|和InfoWorld在云端保持联系云计算报告通讯.]

只是云中的共同发展可能是不清楚的。但行业分析表明它正在上升。2011年2月,Gartner表示,在2010年,参加该公司对策的客户表示云计算中的“大幅增加利息”,以提高现有自定义Web应用程序的开发和维护。

“我在原型化和平行分支开发中看到它最多,但负载和性能测试空间也存在巨大的增长,”Gartner的主要研究分析师Eric Knipp说。

如果你想的话进入云开发领域这是第一次,这里有九种类型的障碍您可能会遇到和关于如何从实际完成工作的开发人员解决它们的建议。

云开发Gotcha 1:云并不总是像“真实世界”一样工作开发人员可能会发现他们在生产中使用的配置很难在云服务上复制。例如,通过在云中开发的应用程序,然后在云端在本地运行之前,您可能需要测试您不能简单地复制到云服务上的遗留系统,knipp说:“这意味着可能有很多开发人员必须存根的更多东西来获得测试应用程序并运行。“

Knipp说,服务虚拟化技术可以提供帮助,开发人员可以利用支持多个/并行分支开发的市场产品。以iTKO为例,该公司提供一套名为丽莎的软件套件,帮助企业将企业应用程序转移到云计算中。

在云中构建Web应用程序时,习惯了非云开发的开发人员可能还会遇到意外。例如,Greg Taylor为俄亥俄音乐教育协会创建了一个在线注册应用程序,他在创建该应用程序时并没有想到他需要对数据库结构以及用户将如何与数据库交互有如此透彻的了解。

该应用程序处理的是全州范围内学校音乐表演者的注册,使用MySQL数据库作为后端,Alpha Software的Alpha Five 10.5作为前端。Taylor说:“我的背景是FileMaker Pro,该产品在数据库结构方面非常宽容。”“一个糟糕的设计仍然可以在一定程度上获得成功。”

但是使用MySQL进行开发时,Taylor必须非常有条理,这样Web应用程序才能获得最好的性能。他说,回到表结构去添加更多的字段是很耗时的,因为它需要在不同的开发工具之间来回切换,MySQL的Navicat和用于实际网页设计的Alpha Five。第一个工具创建数据库结构,而第二个工具创建用户交互的页面,以便在数据库中输入和编辑信息。

Taylor说:“对于利用已经创建的数据库的开发者来说,这可能不是问题。“他们会简单地使用Alpha 5来开发用户可以访问的网页。在我的情况下,我同时开发数据库和Web页面,如果没有仔细规划的话,这就需要我在开发工具之间切换。”

为了避免这种不断的往返,Taylor不得不改变他的数据库开发方法:“通过首先开发包含所有需要字段的清晰的ERD[实体关系图],我的Web应用程序是高效的,我的总体开发时间大大减少。”

在某些情况下,云开发工具确实像现实世界一样工作——至少是现实世界的过去版本。DaVita是一家专门从事肾脏透析的医疗保健公司,该公司的HRIS高级分析师Jeff Hensley惊讶地发现,在云中工作的开发人员需要使用命令行工具、XML和SQL,“这让我想起了过去的DOS时代”。他预计,随着采用率的增加,这种老派的方法会随着时间的推移而改变。

Davita正在使用基于云的应用程序交付平台和托管服务器来开发和交付人力资源数据仓库和商业智慧应用程序。

云开发陷阱2:有些应用程序并不适合云开发Knipp说,应用程序集成的系统越难以访问或复制,在云计算资源上开发和测试就越困难。

例如,它为信仰教育部委副总裁丹斯图克避免了在具有极端数据安全或监管限制的云中开发高端应用,或依赖于传统编码项目,例如那些cobol..“这两个人可能最好在房子里保持,”他说,“第一个是由于明显的安全问题,第二个是因为”死亡“的语言问题。”

Stueck使用云的地方是在亚马逊的公共云服务上运行一个开发服务器,并在云上构建一个学生信息系统、学生成绩单存档和家庭教科书销售应用程序。

云开发Gotcha 3:开发人员经常不喜欢陌生的云领域对于许多组织来说,云计算仍然是相对较新的技术,它可能是一种颠覆性技术,包括在开发领域。因为20/20。这家外包销售服务提供商利用Salesforce.com的云平台构建了一个定制应用程序,允许外包代表将销售数据输入到20/20的“订单到发票到工资”工具中。

20/20的首席架构师Mark Warren说:“可能最意想不到的是,管理和销售团队以及使用该系统的每个人对整个(云开发)项目的反应是如此之好,而it组织,特别是开发人员对它的反应是如此之差。”

Warren说,IT人员习惯于使用Microsoft .NET,SQL Server,Java和其他传统的开发平台和Force.com是一个完全不同的模型。“如果你知道SQL和Java,那就是你的工具箱,你不想去这进入这个完全完全的平台,”沃伦说。

因此,销售应用程序主要由业务人员开发,而不是由IT开发人员开发。Warren说,这带来了一系列挑战,其中最大的挑战是业务人员对变更管理和IT治理缺乏理解。“IT有一种商业人士不习惯强制执行的纪律,”Warren说。“我们必须让他们跟上变更管理问题的速度。”

至于解决技术人员不愿在云环境中开发的问题,沃伦说,IT部门可以实施一些项目来帮助内部采用云计算。他说:“培训当然是一种促进发展的好方法。”“然而,除非IT文化对新方法和技术持开放态度,否则组织变革(获得新的开发人员)可能是唯一的选择。”

云开发问题4:缺少文档阻碍了云开发人员Davita的Jensley因缺乏文档而感到惊讶,以帮助开发人员了解云和可用于在该环境中构建应用程序的工具和资源。

“我肯定会期望随着需求的增加而改变,越来越多的公司开始适应云概念,”Hensley说。“我们能够通过与咨询公司合作来打击这一点。”

云开发问题5:网络问题会困扰私有云环境在云中开发有时意味着在您自己的私有云中开发,这可能没有多租期性和负载运动功能,可使您的应用程序全天为24/7。在私有云环境中,“其中一个挑战是设计和预测服务器的预定和未安排维护,以及如何优雅地失败,”数据库的提供者开发者关系副总裁David Intersimone说管理工具。

Embarcadero正在使用其虚拟化数据中心进行应用程序构建和测试。雷竞技电脑网站Intersimone说:“对于内部私有云,我们有两个选择:选择预定的日期/时间,以及按照一定的顺序部署哪些服务器。”“我们的主要私有云和区域发展办公室一直在运行自动构建和自动冒烟测试流程。”

Intersimone表示,为了获得更可用的环境,他正在研究来自CohesiveFT的云容器和虚拟专用网络产品,这些产品可以安装在公共和私有云上,以提供按需扩展、故障转移、灾难恢复和灾难准备。

其他可能影响开发和测试的问题包括网络延迟、延迟和网络管道的大小,特别是在世界的某些地区。Embarcadero在加州斯科特谷、加州蒙特雷、多伦多、佛罗里达州圣彼得堡都有研发中心。还有罗马尼亚的雅西,以及世界各地一些较小的团队和个人。

Intersimone说,Embarcadero的地理上不同的开发环境“使得同步签入、构建和自动化测试变得更加困难。”为了解决某些问题,开发人员在所有可用的虚拟服务器上进行本地构建和区域构建,以及代码签入。开发人员还在自己的机器上进行本地构建。Embarcadero确保这些不掉出与私有云上的主版本同步使用颠覆,一个用于源代码控制的开放源码工具。

Intersimone说:“当构建发生时,会运行一个自动测试来验证构建。”“然后通知所有开发团队,构建被自动拉过一堵中国墙,送到我们开发中心的大量自动化测试虚拟机上。”对结果构建进行自动化和手动测试以验证状态,并在此流程完成后向其他团队成员发送电子邮件。他说:“所有这些都是在项目开发过程中不断发生的。”

云开发Gotcha 6:很容易让米在云上不必要地运行另一个潜在问题是在云计算费用上的浪费。开发人员很容易忘记或忽略关闭他们没有使用的虚拟机。Gartner的Knipp说:“我从一些客户那里听说,他们让开发人员疯狂地使用虚拟机资源,有时开发人员只需要一个周末就可以让东西运行起来。”“当它在一个内部的,资本化的服务器上时,这不是什么大问题。但是,如果它使用的是按使用量计算的、租用的资源,比如公共云计算,那就是浪费钱。”

Knipp表示,他预计这将成为企业推出私有云计划时面临的新挑战。

虽然在私有云中获得了一个大型意外的账单的风险很大,但在自助云中,私人IAAS环境中,开发人员可以旋转VM,永远不会关闭,“克普说。“这些将有效地从未有效地利用的机器中进食资源,并且可能导致组织购买太多能力,因为规划倾斜。”

云开发陷阱7:云许可可能包含令人惊讶的部署限制在可能对开发产生影响的云中的非技术问题中是许可限制。两年前,全国临时机构Kelly服务决定使用基于云的开发,为许多本土应用程序,Salesforce.com的Force.com平台充当送货车。

Kelly Services的首席信息官乔•德劳因(Joe Drouin)表示,云开发带来了一些好处,比如更快的应用开发周转时间和更低的成本。但该公司在授权方面也遇到了一些意想不到的问题,特别是关于用户座位的类型以及它们有哪些限制。例如,一个座位可能有一组用户可以访问的对象。结果是,“有时候我们会惊讶于自己在开发方面能做什么或不能做什么”,Drouin说。

12 第1页
第1页,共2页
IT薪水调查:结果已经出来了