DevOps和面向运维的开发

Posted 运维社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps和面向运维的开发相关的知识,希望对你有一定的参考价值。



前言



现在大家都在讨论DevOps,回忆过去,在2011年我还不了解DevOps的时候,开发和运维是如何协作的呢?我提出了自己的想法:

 

面向运维的开发!


都是套路




 我们试想一下,我们研发人员编写代码是为了什么?为了实现业务逻辑?实现业务功能?满足某些业务需求?这些都没错。其实还有一个大家都赞同的目标就是为了线上运行!那么既然是为了线上运行,是不是应该按照线上运行的规范来着手开发呢?貌似一下子就把开发套进去了,哈哈。


这个观点有点骇然,其实意义很简单就是想在项目开始初期时运维就要参与进来,制定相关的标准和规范,开发在编码过程中要遵守这些标准和规范,满足运维提出的“可运维”的要求。因为我们的目标都是为了项目上线后可以更快、更稳定、更安全的运行,这个目标肯定会得到多个部门和领导的支持。


可运维的标准?



针对可运维的标准要看具体情况,不同的团队、业务都有不同的标准。例如我之前就是在这几个方面来着手制定“可运维”。

  • 部署:环境规划、代码托管、自动化部署、差异配置文件处理等。

  • 监控:某个新业务上线,是否能够有效的监控、如何知道某个接口被调用的多少次?

  • 安全:都谁可以调用本业务的接口?(黑白名单),能调用多少次?(频率限制)。

  • 备份:该业务是否可以做负载均衡?负载均衡需要考虑什么(数据同步)?

  • 日志:该业务都产生哪些日志?日志如何收集、日志如何归档、日志保留时间。


总结起来就是说开发、运维双方进行协商,解决这些问题。例如开发可以编写一个API,我们通过API可以进行性能监控,或者程序内部实现ACL等类似的沟通。

我相信在中小企业,很多运维人员都往往都是在业务上线后,才开始考虑这些问题,运维会处于一个完全被动的局面。所以我们要主动出击,那么在项目初期,运维要把我们的运维相关的需求告知项目负责人和相关领导。


我们该怎么做



下面我简单的列举了一些我们要做的事情,当然不仅仅这些:

  • 提前建立运维体系:包括但不局限于多维监控、安全、备份、负载均衡、日志平台、部署系统等。

  • 了解业务:尤其是做应用运维,不懂业务就是耍流氓嘛。

  • 参与需求评审:项目开始在需求评审阶段,把运维的标准化要求提出来,一起探讨。

  • 主动沟通:在中小企业运维往往被忽视,那么就需要我们主动去沟通。



如果您的企业还未开始进行DevOps变革,

不如从【面向运维的开发】开始!




牛人并不可怕,可怕的是牛人比我们还努力!





以上是关于DevOps和面向运维的开发的主要内容,如果未能解决你的问题,请参考以下文章

DevOps简介

DevOps简介

软件开发方法DevOps简介

开发运维——DevOps CI CD

谈谈 SRE 和 DevOps 的区别

谈谈 SRE 和 DevOps 的区别