五年前,“云”是一件非常疯狂的事情,亚马逊和其他厂商都在尝试。如今,整个业务都采用多种不同方式,在云基础设施上运行。业务不该完全“在云中”,现在常见的做法是用云基础设施扩展和提高计算的能力,可用于企业的基础设施到开发、测试和客户的管理。我们可以在云中做任何的事情!很廉价!是的,我们可以,但是一定要小心。
云计算,即使内部使用,也会产生新的问题,需要新的管理技术,实现它所承诺的高性价比可扩展性。这章会介绍一些软件开发、测试技术和成本问题。
说“是”之前,要计算资源
可以使用大量资源听起来很诱人。当问到“我们需要硬件吗”,每小时才几分钱,而不是数百或数千美金时,很容易说“是”。这太容易了!在月底结算时,意外发现一件不愉快的事情——成本。另外,计算能力可以构建或执行测试,并不意味我们有人或者经验去做它。可悲的是,云计算并没有在一天之中为我们提供更多的时间。
所以,在我们对一个项目或者测试说“是”之前,需要考虑如何管理这些资源。要确保所有传统的资源管理计算仍然适用。考虑以下几个问题:
(1)有没有人来设计并构建项目?
(2)有没有人来分析结果?
(3)团队做这些会得到什么样的回报?
(4)我们需要什么样的硬件、软件和数据,它可用吗?
资源计算不仅帮助我们确保可以找到人和时间来构建、运行项目,我们还可以准备处理结果。如果在运行测试和分析之前,没有去分析结果,这显然是不好的。就像是说,“小伙子,我希望在生产环境中不要发生没有处理的结果!”
云计算改变项目成本
另一个要考虑的事情是,用云计算改变项目成本。替代数据中心的物理硬件成本,通过所用的硬件(真实或者虚拟的)、需要的硬件和软件、系统的数据流的总共时间,很容易算出成本。以成本效益方式使用云资源,意味着只使用你需要的硬件,只要你需要,就可以传送数据。在你深入一个项目之前,应该能够回答这些问题:
(1)需要多少硬件?
(2)要如何迅速并正确的安装额外的软件?
(3)在项目中,我需要什么样的资源,在项目结束后,我要保存哪些东西?
(4)需要什么样日志、系统信息、二进制文件和测试数据?我能避免什么?
(5)需要多少管理费用,必须要有什么类型的服务等级协议?
当使用云计算环境时,从基本建设费用(大的前期投入,随着时间的推移而贬值的资产,每次使用的***费用)向业务费用切换(很小或者不计成本,没有贬值,但是要按使用付费)。因此,机器的利用率可以优化。因为我们专门为它支付,使安装、部署更快的转换,直接节省成本。让机器运行,我们可以得到日志,以后还可以提高我们的成本。在自动部署和采集日志上投资,系统信息可以提供一个有形的、直接的收益。
不同的项目有不同的需要,也设计到成本的因素。瞬态测试与长期内部开发项目不同,云提供商和服务计划要响应。不同的云提供商提供了不同类型的服务,从备份到负载均衡,跨时区的正常运行时间保证。只为你需要的付款。
好消息是,云计算、基础设施比以往有更好的扩展性。坏消息是去管理可扩展性。好消息是你所使用的技术还可以用——你必须确保使用它们。考虑的资源——人力和机器。要考虑如果有效地使用它们。现在,你可以拥有比以往任何时候都便宜的能力了。