请不要忘记“运维”

本文讲的是请不要忘记“运维”,【编者的话】PaaS并不是一个陌生的话题,在新兴的容器世界里,我们如何看待运维和PaaS的关系呢? 又如何重新思考Dev与Ops的定位呢? 本文作者就此分享了自己的一些独特见解。比如作者说:Docker 最棒的一点在于它为开发和运维划分了一个清晰的界线:任何在容器内部的都是开发所关注的,而外部则是运维的天下。

是否还记得PaaS何时兴起?

五六年前PaaS的概念才刚刚兴起,当时有很多人(包括我自己)都认为运维这个职业将会因此走向衰亡。因为你可以把运维的工作交给PaaS平台,然后去专注于自己所擅长的事情,所以应该不会再有人愿意去干那些和机器打交道的基础服务方面的杂活吧?

现在,六年过去了,我们最终看到的是PaaS大量失败的案例,我开始意识到我错了,PaaS 并不是我想要的未来,它并不能够完全解决基础服务方面的一些难题,而仅仅只是让这些问题稍有缓和罢了

在一开始,PaaS服务提供商每个月投入数百到数千美金的经费和资源培养客户,而最后只能眼睁睁看着他们离开,然后投入到云服务提供商的怀抱。

眼下的现实情况是公共的PaaS服务已经沦为一些菜鸟入门学习的平台,而那些游戏的胜利者们已经抛弃了PaaS,而选择在众多的云服务平台上搭建自己的服务器来承载他们的服务。

我之前曾经写过一篇文章,讲述了我为什么认为如此创新和流行的公共PaaS服务不能完全征服世界的一些见解,所以在这边便不再赘述。但是这里有一个论点我想再深入强调一下,就是我个人认为我们也许又犯了一个同样的错误,那就是“运维这个职业即将消亡”的这个预测。

相信从公共PaaS服务到开发者们所做的每件需要运维(我能称之为DevOps吗?)参与的事情里我们看到的和解读到的,你可以感觉到“运维”其实离我们并不是很遥远,然而它始终处在一个即将消亡的风口浪尖。我想这种“运维即将消亡”的思想多数来自于我们之中那些幸运的没有去到一个大型或者老牌企业工作过的朋友,或者是单纯以技术角度去看待这个问题而非企业的角度的朋友。

任何企业都依然需要运维的工作。如果他们并非如此的话,那么他们一定是把这些事情重新定义了一下(就比如开发穿上了运维的帽子,然后干起了搬机器的活)或者是临时的把这些事情外包给了一些公共PaaS服务提供商,就像现在很多企业实际所做的那样。

这并不是简单的技术架构问题,也和业务结构有一定关系。在业务逻辑里,对于创新(Dev)和保持稳定收益(Ops)有各自不同的生命周期,而我们有充分的理由告诉那些想用所研发的技术在大的方向上使得企业腾飞的开发者们大可不必承担所有的事情,而他们也必须认识到这一点。

在这里,就我个人来说,我觉得公共PaaS没能真正兴盛的最大原因在于:随着业务规模的增长,企业们需要规范和简化他们的运维,而这就造成了运维人员重新从外部PaaS服务提供商接管过来本就属于运维的工作(或者,更恰当的说,是这些企业会将开发者们安排到不同的业务周期)。

反之,这也就是为什么像Cloudfoundry这样的私有PaaS服务比他们的公共服务兄弟做的更出彩的原因之所在:他们是运维人员的工具,也同样迎合开发人员的需求。他们之所以如此成功是因为他们认识到了运维真正的存在价值:他们充当的是一个为运维人员提供服务的资源管理工具集而不是一个发明出来用以替代“运维”的工具。

让我们不要再忘了运维

然而,我感觉我们在这个新兴的容器世界也许又会再次犯下我们之前在公共PaaS所犯过的同样的错误。大多数用于在生产环境运行和管理容器的解决方案显得过于以开发为中心了。他们并没有一个清晰的界限指明应用应该如何规范的停止服务,基础服务的一些需求应该怎样去实现。

类似Docker Swarm这样的工具是在概念的层次上指明开发和运维如何在最初从各自的角度去使用这些工具集的很好的例子,然而在应用规范方面我们仍然有大量的工作需要去做:怎样去定义服务的概念,他们如何去跟其他的实体交互,在与其它实体交互时他们应该使用什么样的协议,等等。这些都是应用层面规范的问题。

接下来我们需要面对的是一系列的运维方面的问题:怎样把资源装载到我们的基础架构,如何构建我们所需要的实体,如何约束每个服务的服务范畴以及他们如何定位其它反映基础服务配置的实体(译者注:比如说定位到同一个IDC或网络通信质量高的服务实体,而不是随机选择),等等。

当我关注到类似Swarm和Compose这样从不同的功能清晰划分的工具集时内心备受鼓舞。然而它们并没有在API中对开发和运维做很大的区分。举个例子,Compose(持续工作中的)倾向于支持所有的Docker CLI命令行选项参数,而大部分(也许不是全部)的Docker CLI 命令行参数是纯粹的以开发为中心设计的。

Docker 最棒的一点在于它为开发和运维划分了一个清晰的界线:任何在容器内部的都是开发所关注的,而外部则是运维的天下。当前版本的Compose API以及开发的 Swarm 在某种程度上来说反而是模糊了这个划分的边界。

我们正在努力试图让这个划分变得更清晰并且体现到实际的企业生产业务中。manifest.yml和services.yml的划分或是我们UI的构建方式都是一些我们试图推动这一愿景的最初的尝试。关于这些,我们非常欢迎得到您的一些想法和反馈。

原文链接:Let's not forget about Ops (翻译:吴佳兴 校对:郭蕾)

================

译者介绍:Colstuwjx,现就职于一家在线OTA,有点文艺,有点技术控,有点偏执。

原文发布时间为:2015-04-18 

本文作者:colstuwjx

本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。

原文标题:请不要忘记“运维”

时间: 2024-08-01 12:49:53

请不要忘记“运维”的相关文章

数据中心稳定运转的法宝——远程运维

数据中心运维是数据中心长期稳定的保障,非常重要.但是运维工作也是异常辛苦,经常要加班到深夜,并且全年无休,尤其一旦遇到突发故障,在恢复之前都得不到休息,所以有人形象地描述:锄禾日当午,不如运维苦,对着破电脑,一调一下午,这是对数据中心运维工作的真实写照.正因为这样,从事数据中心运维工作的年轻人偏多,是因为没有人能够干得长久,年轻人体力好,刚开始有热情还可以坚持,时间长了就很难维持了.本来数据中心行业这几年得到了高速发展,需要更多的运维人员,但是这类人才却越来越少了,尤其是现场维护的人员.造成这样

运维的85条规则_服务器其它

1.容量第一,优化第二--这条规则在故障发生时生效.在宕机的时候别研究什么优化,先恢复设备. 2.保留所有可以捕获的记录--以 PostgresQL 为例,包括有 WAL 文件,Slony 复制,快照技术,基于硬盘的 DB 版本(快照附带的) 3.不要因为优化引入更多问题.通常我们解决问题时做出来的东西都会转变成之后运维工作的负担.请确认为运维工作开发的那些工具已经完全交付使用.这些东西经常无法正常运行结果要返回开发组重来.更重要的,这种变更请求通常会打破团队原本安排好的工作计划. 4.保持简单

架构设计 - 自动化运维之架构设计六要点

运维自动化是我们所渴望获得的,但是我们在一味强调自动化能力时,却忽略了影响自动化落地的一个关键因素.那便是跟运维朝夕相处,让人又爱又恨的业务架构. 因为业务架构是决定运维效率和质量的关键因素之一,所以我想跟大家一起聊一下怎么样的架构设计是对运维友好的.结合这些年在腾讯遇到的业务架构和做运维规划时对业务非功能规范的思考,我们可以把面向运维的架构设计分成六大设计要点. 要点一:架构独立 任何架构的产生都是为了满足特定的业务诉求,如果我们在满足业务要求的同时,能够兼顾运维对架构管理的非功能性要求.那么

跟老男孩学Linux运维:Shell编程实战.

Linux/Unix技术丛书 跟老男孩学Linux运维: Shell编程实战 老男孩 著 图书在版编目(CIP)数据 跟老男孩学Linux运维:Shell编程实战 / 老男孩著. -北京:机械工业出版社,2017.1 (Linux/Unix技术丛书) ISBN 978-7-111-55607-7 I. 跟- II. 老- III. Linux操作系统 IV. TP316.85 中国版本图书馆CIP数据核字(2016)第313248号 跟老男孩学Linux运维:Shell编程实战 出版发行:机械工

高效运维七字诀,不再憋屈的运维

这篇是<中生代>转载的一个关于运维的文章.作者是触控科技运维总监萧田国.文章在运维圈子流传甚广.特别也发在社区,分享给感兴趣的朋友. 前言 做运维的那么多,快乐的能有几个? 我们那么努力,为什么总感觉过得那么憋屈.苦闷?做的事情那么多,为什么业务部门.直接领导和公司貌似都那么不领情?怎么做才能自己更加开心些? 本专栏的主线实际是一个运维人员的十年成长史,从菜鸟到运维总监.但不是基础技术教学,也不会在运维技术的某一方面过深涉及.更多的是应用技巧.实践经验及案例剖析.专栏中的系列文章,包含作者在运

高效运维之员工的四大误区及解决之道

这篇是<中生代>转载的一个关于运维的文章.作者是触控科技运维总监萧田国.文章在运维圈子流传甚广.特别也发在社区,分享给感兴趣的朋友. 前言 春节刚过,广大运维朋友又面临着新的挑战.让大家苦恼的是,我能力这么好,为什么不幸福?怎么能让工作不那么累心,怎么能多些成就感?甚至,还有机会幸福吗? 通常,幸福感很大程度来自于外部的认同(以及基于此的自我认同),例如外部门.领导或同事的赞赏.应该只有极少数的人,能在不被外部认同的情况下,还能自我陶醉(那该是何等强大的内心啊). 导致技术人员不幸福的原因不胜

高效运维最佳实践七字诀,不再憋屈的运维!

做运维的那么多,快乐的能有几个? 我们那么努力,为什么总感觉过得那么憋屈.苦闷?做的事情那么多,为什么业务部门.直接领导和公司貌似都那么不领情?怎么做才能自己更加开心些? 本专栏的主线实际是一个运维人员的十年成长史,从菜鸟到运维总监.但不是基础技术教学,也不会在运维技术的某一方面过深涉及.更多的是应用技巧.实践经验及案例剖析.专栏中的系列文章,包含作者在运维各个细分领域的技术和个人成才的心得体会.因此也可以成为广大运维朋友的工具书,伴随大家从初级运维成长为高级技术型运维管理人才. 技术专栏就非得

跟老男孩学Linux运维:Shell编程实战2.6 Shell脚本的建立和执行

2.6 Shell脚本的建立和执行 2.6.1 Shell脚本的建立 在Linux系统中,Shell脚本(bash Shell程序)通常是在编辑器vi/vim中编写的,由UNIX/Linux命令.bash Shell命令.程序结构控制语句和注释等内容组成.这里推荐用Linux自带的功能更强大的vim编辑器来编写,可以事先做一个别名alias vi='vim',并使其永久生效,这样以后习惯输入vi的读者也就可以直接调用vim编辑器了,设置方法如下: [root@oldboy ~]# echo "a

高效运维最佳实践七字诀

做运维的那么多,快乐的能有几个? 我们那么努力,为什么总感觉过得那么憋屈.苦闷?做的事情那么多,为什么业务部门.直接领导和公司貌似都那么不领情?怎么做才能自己更加开心些? 前段时间有位IT大佬在网络上发声,我这么有钱,为什么不幸福?诚然,有钱是幸福的最重要条件之一,但有钱就一定幸福么?真的是充分必要条件?当然更悲催的是运维行当,技术好是被认可(幸福)的最重要条件,但技术再好,外部门不说咱们"坏话",已经是很不错的了.   1. 什么是高效运维 我们收集了一些来自外部门对运维的印(tou