全国客服热线:4006-880844

推进网站建设协作

- 编辑:admin -

开源软件在推进Web开发人员和运维人员之间的协作方面发挥着重要作用。许多组织开始越来越多地采用开源软件,或者先从零开发软件,然后再将它开源,因为这样做可以优化流程,减少对于供应商的依赖,而且还能够根据需要对系统进行定制,使系统能够以最佳方式满足实际需求。开源软件是开发运维实践的最完美搭配,因为私有的封闭系统并不适合快速变化的环境,特别是在Web领域。事实总是如此,受益于开源的灵活性及其与Web开发内在关联性,盈利性和非盈利性组织都可以从开源软件受益。开发运维活动不仅限于网站开

开源软件在推进Web开发人员和运维人员之间的协作方面发挥着重要作用。许多组织开始越来越多地采用开源软件,或者先从零开发软件,然后再将它开源,因为这样做可以优化流程,减少对于供应商的依赖,而且还能够根据需要对系统进行定制,使系统能够以最佳方式满足实际需求。开源软件是开发运维实践的最完美搭配,因为私有的封闭系统并不适合快速变化的环境,特别是在Web领域。事实总是如此,受益于开源的灵活性及其与Web开发内在关联性,盈利性和非盈利性组织都可以从开源软件受益。开发运维活动不仅限于网站开发,也发生在传统软件开发领域,如桌面应用、移动应用和企业系统。但是,开发运维确实根植于Web开发领城,因为Web软件的开发和更新速度要远远高于其他类型的软件。


 
开发运维是一种最新的文化转变,它将改变软件工程师与运维丁工租师之间的互动。正如前面所介绍的,它起源于基于敏捷宣言( gilemaifestorg)的敏捷软件开发运动。开发运维的最新关注 重点是对敏捷实践的改进和应用,如可用的软件是最主要的进展指标、关注协同和拥抱变化。软件的开发与发布速度比以前更快,所以开发与运维团队之间的高效整合也变得更加重要,这就给予了开发运维活动动力和关注度。
 
传统上,软件工程师与运维人员在大多数时候都维持着一种“各自为政”的关系。软件工程师总是想开发出一些新应用和新产品去解决业务需求,而运维人员则想着如何以最稳定、风险最低的方式去管理和维护软件。
 
运维人员的主要目标是保持服务的正常运行,解决所有出现的问题。这里的关键是,为什么运维人员不愿意变化,而变化又是软件开发的核这是两个有着完全相反看法的阵营。软件开发推崇变化,只有变化才能满足业务的需求。对于软件工程师而言,软件是有生命的活物,它很像是由农民看护的农作物,需要持续给予养分、精心打理,以及经常栽培,才能成为持续产出的食品来源;否则,为业务提供养分的软件就会凋敝,从而使业务停止增长。
 
在农场中,农民播下种子,然后看着农作物成长,这个过程与软件开发非常相似。在软件开发中,先要拿到种子(基本设计),接着播种和培育(迭代式软件开发、修复Bug,历经各个产品周期),然后收割果实(保持业务运行,获得收益和现金流)。软件开发人员扮演着农民的角色,决定要种植什么、如何组织代码架构(农作物),最后还要确保产生好的结果。在这个类比中,运维工程师的角色就类似于农场雇工,他们负责整理土壤、施肥和灌溉。至少,传统做法是这样的。现在,农场雇工(运维工程师)都越来越多地参与农民(软件开发人员)的工作,保证农场的正常运作和农作物的健康生长。在The First Book of Farming中,Goodrich谈到“后期培育”。软件开发周期与他书中介绍的耕作方式有很多的相似性。他使用“后期培育”这个术语来表示在农作物种植之后执行的作业。如果将农场类比为服务器环境,那么后期培育过程就类似于软件开发人员和运维工程师之间发生的事情。我们耕作和“培育作物”的方式现在正在发生变化,农场雇工现在必须掌握的知识与农民的知识几乎完全相同,因为“农作物”周期几乎每天都在Web环境中重演。
 
事实上,比起农场,Web环境的工作方式更像-种温室环境。温室内的空气质量和气温都必须保持在正确的水平上,而且更加重视和依赖于自动化系统来控制每一棵农作物的灌溉、施肥、光照和温度。在这个脆弱的生态系统(即经过测试后正常运行的生产软件)上, 执行太多的改动就可能会影响收成。运维这个温室环境需要扩展,才能满足快速增长的软件生产需要。现在温室必须有足够大的空间,才能继续种植作物。温室现在不能将软件开发人员排除在外,而是必须邀请他们进人内部,然后与他们一起协作,保证网站建设基础架构能够支持快速的变化,同时保证代码作物能够以高效方式产出。