导读 | 近年来,几乎每个业务都是一个软件业务,而使用数据中心的企业可能要求速度超过一切。对他们来说,速度意味着敏捷的软件方法和快速迭代,找到最好的想法的最有效的方式是尽可能多地发布软件。这样做会增加他们比竞争对手获得更多的机会,从而转化为更多的公司收入。 |
软件的定义特性是软性的。举个例子,将翻盖手机与智能手机进行对比。如果想改变翻盖手机按键的颜色,由于按键是一个实体塑料件,这将需要更改其制造过程。从提出想法到市场实施,需要几周甚至几个月的时间。然而,智能手机使用软件显示其键,并且更改的范围只是配置文件中的一行代码。从提出想法到市场实施,这种变化只需要几个小时甚至几分钟的时间。
而近年来,几乎每个业务都是一个软件业务,而使用数据中心的企业可能要求速度超过一切。对他们来说,速度意味着敏捷的软件方法和快速迭代,找到最好的想法的最有效的方式是尽可能多地发布软件。这样做会增加他们比竞争对手获得更多的机会,从而转化为更多的公司收入。
这就是为什么DevOps和云计算是重要的原因:给他们渴望的速度。
如果企业要求开发人员创建一个启动虚拟机的故障单,需要实际使用数据中心的那些管理良好的硬件,那么必须让客户(即开发人员)轻松使用。
开发人员的工作通常围绕两周的开发过程,专注于实施一组特定功能或从优先级列表中修复错误。要完成的项目列表由专业的人员维护和组织,团队中的每个开发人员都会遇到问题并完成后再转到下一个需求。
这个期限完成有更多的细节。它涉及建立一个足够类似于生产的环境,以便对现有任务可行,然后为新功能编写自动化测试。当这些测试通过时,开发人员知道工作已经完成。这种方法被称为“测试驱动开发”。随着环境的创建和测试的编写,开发人员获得了编写实现新功能的代码的业务,通常通过将问题分解成更小的部分,对每个并将部件部署到开发环境中。
起初,所有的测试都会失败。但是,由于更多的这些编码单个片段的循环已经完成,更多的测试通过;最终他们都会通过,这表明工作已经完成。然后将代码检入到源代码控制系统,如Git,其中自动化将新代码部署在分段环境中(可能创建一个全新的分段环境),并执行不仅仅是为了新的功能,,还包括所有先前的测试。。如果所有这些测试通过,代码可能会作为手动版本的批量化一部分。或者,其他自动化将立即将其部署到生产中,这取决于团队的运作方式。
这种循环过程的目的是将一小段代码构建成一个完整的特性,并且注入到循环中的任何等待时间都不利于效率和开发人员的士气。假设为一个新功能负责,并试图为代码创建一个开发环境,只需等待一整天,而票务流程为该环境配置虚拟机。这样会导致生产力下降,从而减慢了周期。
现在想象一下,一个新的环境可以在几分钟内用虚拟机创建,也可以用容器在几秒钟内创建一个新的环境。这种情况使开发人员能够更快地找到工作的核心:编写代码。通过最小化等待时间,他们的效率和士气会提高。当他们不能从他们自己的数据中心获得最少的等待时间时,他们转而采用公共云替代方案。
那么,DevOps就是在开发和部署周期中设计开发人员需要的这些环境的自动化,以最大限度地减少他们的等待时间,并允许他们在代码基础上获得更多的迭代。考虑到这些环境一直处于变化状态,它们是基于云计算消费的天然盟友,但是如果企业按他们对公共云和私有云的偏好向开发者施加压力,他们很可能会告诉知速度比细节更重要。
考虑到这一点,DevOps的成功实施使得云计算能够立即启动支持开发和部署过程中涉及的各种环境所需的资源。而集成安全,监控和数据中心运营人员关心的环境的其他方面至关重要,但不是上以牺牲速度为代价的。如果不能自动化管理虚拟机的重要方面,开发人员将无法选择外部资源来提供管理需求。
多年来,开发人员和操作人员有时会发生冲突,互相指责。在过去的几年中,IT运营人员垄断了开发人员正在开发的软件的托管选项,但公共云改变了这一切,开创了自动环境创建时代,成为开发人员的新标准。数据中心业务仍然可以通过注入到发展过程自动化的DevOps同样操作,得到那些与公司收入密切相关的开发团队的注意,这不仅是可能的,而且也是必须的。
原文来自:
本文地址://lrxjmw.cn/devops-cloud-compute-together.html编辑:烨子,审核员:逄增宝
本文原创地址://lrxjmw.cn/devops-cloud-compute-together.html编辑:public,审核员:暂无