为什么DevOps和云计算在一起至关重要

软件的定义特性是软性的。举个例子,将翻盖手机与智能手机进行对比。如果想改变翻盖手机按键的颜色,由于按键是一个实体塑料件,这将需要更改其制造过程。从提出想法到市场实施,需要几周甚至几个月的时间。然而,智能手机使用软件显示其键,并且更改的范围只是配置文件中的一行代码。从提出想法到市场实施,这种变化只需要几个小时甚至几分钟的时间。

那么为什么数据中心需要更多的软件?

而近年来,几乎每个业务都是一个软件业务,而使用数据中心的企业可能要求速度超过一切。对他们来说,速度意味着敏捷的软件方法和快速迭代,找到最好的想法的最有效的方式是尽可能多地发布软件。这样做会增加他们比竞争对手获得更多的机会,从而转化为更多的公司收入。

这就是为什么DevOps和云计算是重要的原因:给他们渴望的速度。

开发人员的开发工作

如果企业要求开发人员创建一个启动虚拟机的故障单,需要实际使用数据中心的那些管理良好的硬件,那么必须让客户(即开发人员)轻松使用。

开发人员的工作通常围绕两周的开发过程,专注于实施一组特定功能或从优先级列表中修复错误。要完成的项目列表由专业的人员维护和组织,团队中的每个开发人员都会遇到问题并完成后再转到下一个需求。

这个期限完成有更多的细节。它涉及建立一个足够类似于生产的环境,以便对现有任务可行,然后为新功能编写自动化测试。当这些测试通过时,开发人员知道工作已经完成。这种方法被称为“测试驱动开发”。随着环境的创建和测试的编写,开发人员获得了编写实现新功能的代码的业务,通常通过将问题分解成更小的部分,对每个并将部件部署到开发环境中。

起初,所有的测试都会失败。但是,由于更多的这些编码单个片段的循环已经完成,更多的测试通过;最终他们都会通过,这表明工作已经完成。然后将代码检入到源代码控制系统,如Git,其中自动化将新代码部署在分段环境中(可能创建一个全新的分段环境),并执行不仅仅是为了新的功能,,还包括所有先前的测试。。如果所有这些测试通过,代码可能会作为手动版本的批量化一部分。或者,其他自动化将立即将其部署到生产中,这取决于团队的运作方式。

大量循环实现最小化等待

这种循环过程的目的是将一小段代码构建成一个完整的特性,并且注入到循环中的任何等待时间都不利于效率和开发人员的士气。假设为一个新功能负责,并试图为代码创建一个开发环境,只需等待一整天,而票务流程为该环境配置虚拟机。这样会导致生产力下降,从而减慢了周期。

现在想象一下,一个新的环境可以在几分钟内用虚拟机创建,也可以用容器在几秒钟内创建一个新的环境。这种情况使开发人员能够更快地找到工作的核心:编写代码。通过最小化等待时间,他们的效率和士气会提高。当他们不能从他们自己的数据中心获得最少的等待时间时,他们转而采用公共云替代方案。

DevOps成功看起来像什么

那么,DevOps就是在开发和部署周期中设计开发人员需要的这些环境的自动化,以最大限度地减少他们的等待时间,并允许他们在代码基础上获得更多的迭代。考虑到这些环境一直处于变化状态,它们是基于云计算消费的天然盟友,但是如果企业按他们对公共云和私有云的偏好向开发者施加压力,他们很可能会告诉知速度比细节更重要。

考虑到这一点,DevOps的成功实施使得云计算能够立即启动支持开发和部署过程中涉及的各种环境所需的资源。而集成安全,监控和数据中心运营人员关心的环境的其他方面至关重要,但不是上以牺牲速度为代价的。如果不能自动化管理虚拟机的重要方面,开发人员将无法选择外部资源来提供管理需求。

总结

多年来,开发人员和操作人员有时会发生冲突,互相指责。在过去的几年中,IT运营人员垄断了开发人员正在开发的软件的托管选项,但公共云改变了这一切,开创了自动环境创建时代,成为开发人员的新标准。数据中心业务仍然可以通过注入到发展过程自动化的DevOps同样操作,得到那些与公司收入密切相关的开发团队的注意,这不仅是可能的,而且也是必须的。

原文发布于微信公众号 - 云计算D1net(D1Net02)

原文发表时间:2017-11-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

将数据迁移到云端的最佳实践

就当前而言,移动PB级的数据对企业来说仍然是一件难事,可以按照以下步骤来操作,尽量减少风险和成本,并最大程度地提高灵活性。 接受云部署的企业需要具有成本效益和...

3289
来自专栏程序你好

微服务开发中5个惨痛教训

基于微服务的开发正在改变我们整个行业,超过70%的人正在尝试开发基于微服务的软件。微服务简化了业务、流程、技术和人员的集成,将大爆炸的整体问题分解为一个可以独立...

1063
来自专栏腾讯大讲堂的专栏

王者荣耀、NBA突发支撑

2887
来自专栏大数据

适合初学者的软件定义数据中心架构

软件定义数据中心是一种数据管理方式,它通过虚拟化来抽象计算、存储和网络资源,并将其作为服务提供。为了促进这一过程,SDDC包括智能软件以集中管理虚拟化资源,并自...

2217
来自专栏WeTest质量开放平台团队的专栏

腾讯手游如何提早揭露游戏外挂风险?

随着大量外挂、辅助、工作室等非法盈利团队借由移动游戏产业迅猛发展的东风趁虚而入,对游戏开发商和玩家来说都造成了不小的伤害,安全问题成为手游发展不容忽视的前提。本...

8400
来自专栏DevOps时代的专栏

手把手教您构建自己的 DevOps 流水线

持续交付是一组能够帮助软件开发团队极大的提高其软件交付的速度和质量的模式和最佳实践组成。

1691
来自专栏BestSDK

智能化API为企业提供高效服务同时,也将节省大量人力物力

企业一直在寻找新的方法来提高效率,降低成本的同时保持其产品和服务的质量。云计算的重要组成部分API被IT部门和服务供应商越来越看好(应用程序编程接口),其使工作...

2875
来自专栏西城知道

关于百度智能小程序的一些开发笔记

在开发百度智能小程序前,因为比较喜欢玩儿博客,尤其是wp,所以早在之前开发了一款个人微信小程序。因为微信小程序平台薛定谔的猫般的审核,正所谓狡兔三窟,所以最近考...

960
来自专栏云计算D1net

超融合设备如何影响私有云部署

超融合设备为构建云计算基础设施提供了低风险的选择。这些预集成系统包括商业化的服务器和多个驱动器,以及允许在计算集群上共享这些驱动器的必要软件。 对于硬件专业知识...

42912
来自专栏云计算D1net

API如何开启IT基础设施的未来

企业一直在寻找新的方法来提高效率,降低成本的同时保持其产品和服务的质量。云计算的重要组成部分API被IT部门和服务供应商越来越看好(应用程序编程接口),其使工作...

35713

扫码关注云+社区

领取腾讯云代金券