热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

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

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

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

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

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

开发人员的开发工作

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

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

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

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

大量循环实现最小化等待

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

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

DevOps成功看起来像什么

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

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

总结

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


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 给定一个二维平面上的一些点,通过计算曼哈顿距离,求连接所有点的最小总费用。只有任意两点之间有且仅有一条简单路径时,才认为所有点都已连接。给出了几个示例并给出了对应的输出。 ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
author-avatar
骏天天在线
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有