请不要忘记“运维”

简介: 本文讲的是请不要忘记“运维”,【编者的话】PaaS并不是一个陌生的话题,在新兴的容器世界里,我们如何看待运维和PaaS的关系呢? 又如何重新思考Dev与Ops的定位呢? 本文作者就此分享了自己的一些独特见解。
本文讲的是请不要忘记“运维” 【编者的话】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。
原文标题:请不要忘记“运维”
目录
相关文章
|
3月前
|
运维 JavaScript 前端开发
【运维】踩坑记录
【运维】踩坑记录
48 0
|
1月前
|
缓存 运维 安全
运维:推荐23条超级实用的电脑小技巧,小白必备!
【2月更文挑战第15篇】Win+R,输入mrt,扫描,删除恶意流氓软件。
|
1月前
|
运维 NoSQL Linux
运维排错笔记
运维排错笔记
16 1
|
5月前
|
运维
面试运维的具体流程
面试运维的具体流程
63 2
|
存储 运维 关系型数据库
阿里云基础运维命令
阿里云基础运维命令
167 0
|
运维 监控 安全
运维配置 | 学习笔记
简介:快速学习运维配置
67 0
|
运维 安全 容灾
浅谈运维工作的要点
千里之行始于足下
384 1
|
运维 架构师 测试技术
IT运维工作的思考
运维工作经常处于救火状态,手忙脚乱,工作很辛苦,结果很骨感,有时还面临“灯下黑”的问题。究竟是什么原因呢,到底应当如何破局?
|
消息中间件 弹性计算 运维
在家运维不用慌 | 盘点那些远程运维中的云上利器
远程办公期间,降低非必要的协作成本和本地操作,来提升开发和运维效率,显得尤为重要。本文是“在家运维不用慌”系列文章,文末有惊喜!
702 0
在家运维不用慌 | 盘点那些远程运维中的云上利器
|
运维 安全 网络协议
运维安全(第二课)
第一部分:渗透 1、什么是渗透? 模拟科黑攻击找到企业程序中的漏洞。(查找漏洞需要时间、耐心、细心、精力) 2、渗透的分类 白帽子:查找企业漏洞提交修复黑帽子:通过查找漏洞进一步获取其他信息(这类人一般有背景或相关利益) 3、常规渗透(指定范围测试、针对性目标测试、保密协议) 4、非常规渗透(APT攻击、红蓝对抗) 5、渗透测试流程 6、攻击测试流程 第二部分:HTTP协议 1、HTTP基础(推荐图书:图解HTTP) HTTP即超文本传输协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,它是万维网交换信息的基础。
1326 0