• 1
  • 2
  • 3
  • 4
  • 5
阿里云应用开发 首 页  »  帮助中心  »  云服务器  »  阿里云应用开发
云中测试与开发项目的5个最佳实践
发布日期:2016-7-26 16:7:57

  对那些开始使用云计算服务的公司来说,应用程序测试与开发项目是一个很自然的起点。Forrester Research的James Staten将会为你讲述怎样判断你的项目是否适合云环境。

  对云计算来说,的确是存在着过分渲染的现象——特别是在它可以为企业省钱方面。但很不幸,宣传中为我们描绘的可节约成本的愿景似乎并非事实真相。在进行无数的客户调查后,结果清晰地展现在了Forrester面前,若把所有企业作为一个整体来看,来自于云的正向的ROI(return on investment)并没有被实现,由于在具体应用时,云计算的优势大打折扣了。最终,这意味着在云中测试与开发新的应用程序是一个绝佳的方法,这可增加业务的合理性,也可保证应用程序,IaaS(Infrastructure as a service)解决方案,与IT运营防护与流程之间的兼容性。

  IaaS(Infrastructure as a service)云计算的基本原理是那些平台提供一个标准化的,自动化的虚拟环境,让IT专业人员在较少人工干预的情况下能够更轻松地使用这个环境。公有云(逐渐也会包括私有云)平台要计算资源的消耗量,这推动了一种不同的消费形式——在这种情况下,节约成本可通过尽量减少资源的消耗量来实现。这个关键性的概念对于理解与云计算有关的具体业务案例至关重要。

  例如,若你问一个测试实验室的经理,他们需要面对的挑战是什么,他们可能会抱怨开发者的要求太多,为他们安装与卸载测试环境“浪费”了大量的时间。但另一方面,对那些开发者来说,在一个团队中,他们是最有生产力,最有创新性的一个群体,试问,面对这么多抱怨,他们怎么可能专心地工作呢?他们是否会告诉你(通常他们不会),他们认为,若他们不使用IT运营部门提供的实验室的资源,而是直接到platform-as-a-service (PaaS) 或 IaaS(Infrastructure as a service)云上进行测试(在这种情况下,他们可在几分钟内获得想要的资源,且只有当他们需要这些资源的时候,才需要为它们而付费),他们的生产力会得到提高呢?

  当然,当一些开发者把他们的工作迁移到云中时,IT运营部门也许会担心他们正在把整个组织推向危险的边缘。我们不应该阻止在云中进行测试与开发,相反,我们应该鼓励这种使用方式,同时,我们要给予一定的指导。例如,建立一个实用的云使用策略,或可考虑通过一个集中式的资源请求工具来规范开发者使用云的方式。

  在这里,有一个十分重要的问题需要注意一下,那就是:不是所有的开发项目都适合在云中完成。要为IT运营团队与APM之间协作定义出最合适的规范,这需要花费一些时间。这是5个通用的最佳实践,可以以此作为出发点:

  1、部署测试可在一个标准的虚拟环境下进行。

  IaaS(Infrastructure as a service)平台提供了服务器虚拟机和虚拟存储卷。PaaS(Platform as a service) 云提供了更高级的抽象——中间件或者用于部署应用程序的目录。在大多数情况下,不会提供专用的物理资源。

  2、测试环境要独立。

  如果这个开发项目可单独测试,也就是说它不需要与生产系统进行集成,那么它可在云平台上进行测试。对云平台来说,那些不消耗输出带宽的应用性价比是最高的。对公司来说,它们的风险也更低,由于不需要打开防火墙上的某些端口。

  3、那些生命周期小于12个月的项目。

  大多数云平台都是按小时收费的,若持续不断地使用12个月以上,它们比传统的托管方式的成本还要高。因此,对于这样的项目来说,在内部的虚拟实验环境下进行会更划算一些。这是一个基本的经验法则:如果你时常可让使用公有云的费用趋近于0,那么你才是在有效地使用它。

  4、那些不会给公司带来新的兼容性和管理风险的项目。

  在你认为你可保证这些项目的兼容性以前,不要把这些测试项目放到云中。

  5、使用Web服务的多虚拟机应用程序。

  公有云可把客户的工作任务分配到多个标准的虚拟设备上,然后再通过IP协议与Web服务把它们连接起来。若开发者想让应用程序组件彼此间进行交互,不要指望着可找到支持的协议——不是延迟无法接受,就是需要特定的网络配置或者紧密耦合的组件。大多数的公有云都不支持多播协议,且集群化通常也比较困难。在你可确保它们可正常运行以前,不要把这样的应用程序放到云中。但基于现有的Web服务的交互可正常地进行。

  若对于新的应用程序与服务来说,加快推向市场的时间是头等大事的话,那符合上述条件的测试和开发项目可让开发者有更大的灵活性,同时,也可通过业务调整来降低使用云平台的费用。它的收费方式也比较合理,由于它把长期的投资和必要的运营成本变成了更加高效,更加灵活的运营成本投资。它也可减少对内部的实验资源的需求,这样的话,已分配的预算可用来做一些更有意义的事情,当然,这主要取决于这个企业的开发项目的规模与这些项目是否适合放到云中,对于阿里云应用开发也值得考虑。