关于自动化运维的思考-基线-阿里云开发者社区

开发者社区> 开发与运维> 正文

关于自动化运维的思考-基线

简介: DevOps几年前来看,基本都在提概念,这几年很多公司都在落地了,公司里每个自动化运维平台都不好意思。具体落实下来,做得好还是不好,水平也层次不齐。 我们不说自动化运维的意义,不讨论要不要做自动化运维。

img_0dabdcec39678c6f3aa64fa07640ec62.jpe

DevOps几年前来看,基本都在提概念,这几年很多公司都在落地了,公司里每个自动化运维平台都不好意思。具体落实下来,做得好还是不好,水平也层次不齐。

我们不说自动化运维的意义,不讨论要不要做自动化运维。做是肯定要做,然后每个人都会有一堆的问题或者想法冒出来,why,how,when,有想法是好的,最大的问题是不知道问题在那里。

从我的理解来简单说说基线,一般来说会有如下的几个问题,基本涵盖了3W

img_a68b7d5a6b523dc8e6c481e77c1b2a29.jpe

我们来逐个说一下,不对的地方欢迎拍砖,我及时纠正。

需要做一个什么样的平台

1)在这里确切的说是DB自动化平台,因为目前的主要是数据库方向的。

2)后期怎么和其他部门的平台集成

先把DB层面的工作做好,做好了,你说的话才能让人觉得靠谱。

内部先达成共识,我们要一起做,不是你做吧,我用就好了。

3)业务价值和技术价值

短期内看只有技术价值,业务价值不大,但是成为平台后,或者有一些业务对接之后,价值才能发挥出来,就好比一辆车停在那里,还要付停车费,一旦跑起来了,业务价值远大于技术价值

谁来开发维护自动化平台

1)常见的瓶颈

开发不了解DB层面的业务,DBA对于开发的技能不够熟练,这是现状也是普遍现象。

2)DBA全员开发

能者多劳,每个人都要参与,所以我最近疯狂调研,搞开发,搞前端。

分工协作,等定好了之后,一起看看怎么分工,每个人能够承担一部分的功能,都能参与进来。

3)开发能力不够怎么办

先抛开技术,看看能做什么,需要做什么 --产品规划

前期的引导和技术预研 --技术选型和规划

由小及大,模块化实现 --避免好高骛远,眼高手低

使用什么技术架构

个人理解主要分为Python栈和Java栈,还有其他的比如go等等。

1)Python栈

前端WEB

Bootstrap

后端WEB

Django

任务调度

Celery + Redis

Celery + MQ

批量操作

ansible

2)Java栈

前端WEB

后端WEB

任务调度

Jenkins

opencron

批量操作

3)数据库

MySQL

SQLlite

自定义ORM

是否需要agent

这个问题几乎无解,在有限的服务器规模怎么理解都没错。看你侧重于哪些考虑了。

有agent,数据采集和性能监控还是比较给力的。

没有agent,松耦合,部署快捷简单。

需要实现哪些功能

这个问题,如果是打算重构,重做,几乎每个人都会问,我们可以还个角度来考虑一下,自己问自己,这样也许也会有一定的收获。

1)可以反问,目前有哪些痛点

2)目前有哪些工作可以改进

3)希望今后做哪些方面的事情

可以借鉴的开源方案

目前可借鉴的方案还是蛮多的,而且国内目前开源的很多方案还是很不错的。开源项目可以参考最近火热的国内开源项目评选。

http://www.oschina.net/project/top_cn_2017?from=hometop

里面有很多非常不错的项目。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章