启示录:如果打造运维自动化平台

启示录:如果打造运维自动化平台

什么是运维自动化平台?

说白了,就是把运维重复性的工作,进行平台化,简化工作流程,降低人工成本。例如部署一个LAMP网站平台,对于传统运维来说,先下载相关软件包,然后编译、安装等一系列工作,好一些的手动执行脚本一键部署。面临两个问题:1人工介入增加工作量,2人工误操作风险大。

所以,企业开发运维自动化平台,对接IT基础架构,主要目的就是解决上述两个问题。点点鼠标完成具体功能实现,条条框框容不得出现误操作!

打造一个运维自动化平台学习思路:

做运维的朋友应该有过这样的情景:在看到别人写的运维管理系统时,两眼放红光,好生羡慕,自问:何时也能变得这么牛逼呢?

其实开发一套运维自动化系统远远没有你想象的那么遥不可及。涉及的技术也比较基础,不会太深入,学习起来并不是很难。

编程贵在思想,没有思路有开发能力还是使不出洪荒之力!

该怎么学习呢?

刚入门的同学,多数都会问这个问题,毫无头绪,无从下手。可以理解,每个人在IT职业生涯中,都会经历的一个阶段,跨过去海阔天空!

废话不多说,直接上学习思路,仅供参考:

第一步:掌握一门编程语言,推荐Python,简单易用。因为运维领域用的最多的就是Python语言,掌握Python基础,至少能写到面向对象编程这个层次。

第二步:掌握一种Python Web框架,推荐使用重量级Django框架,虽然刚开始入门有点难,但是现在最为主流,使用最多,功能齐全,足以满足需求了。当然,如果对Django感冒,可以选择轻量级Flask框架,入门简单,学习成本低。这时,也要看看HTTP协议工作原理,比如几种请求方式、工作流程等。

第三步:数据库基本的增删改查必会。

第四步:后端的技术点前三步就差不多了。该前端了,毋庸置疑HTML/CSS基础必会,可以先学习常用的标签、选择器、样式属性等。原生JavaScript基础先要了解下,再考虑使用封装好的JS库Jquery做页面行为控制,重点看看Jquery事件处理、获取属性内容、设置元素内容等,比原生JS用着更简单,也是主流的JS库。学习完后试着写几个网站页面检查学习成果。

第五步:自己写HTML/CSS页面刚开始入门,写起来比较费劲,而且浏览器兼容性不是很好。可以考虑使用开源的前端框架,提高开发速度,不用过多考虑兼容性。我所知道的前端框架有Bootstrap、SemanticUI和EasyUI,还有很多,选一个自己喜欢的就好,先学习其中一些常用的样式,比如表格、表单、按钮等。其他的用到啥再看也来得及。

第六步:选择一个自己喜欢模板。决定使用哪个前端框架后,在网上搜索下找一个好看的前端页面模板,比如搜索关键词为"Bootstrap模板",会有很多。我们主要就是用它的排版和一些主页面,再去除一些功能,简单修改下自己想要的页面就出来了,再加上你所学的前端框架样式,可以很快捷的实现某个功能,很省心。

第七步:与后端交互数据,经常用到Ajax技术,比如实时从后端获取新数据展示、传数据到后端等。Ajax也建议使用Jquery的,原因还是使用简单。这时要学习一下JS定时器,用于控制Ajax获取数据时间间隔,经常会用到,也很简单。还有WebSocket技术,是一种浏览器与服务器建立长连接,进行实时传输数据。在某种场景下很实用,比如WEB SSH,可以简单了解下。

第八步:嵌入主流的管理工具,完成某项工作。比如我想做批量管理,就没必要自己再去写脚本去做批量执行了,像SaltStack、Ansible都是这类主流的工具,到时直接调用它们的API就好,功能上也要比自己写完善很多,不是挺好嘛!

经过这八步循环渐进的学习,相信你已经有足够能力开发一套属于自己的运维管理系统了。

群友经常问,能看懂代码,就是写不出来,怎么办啊?这是一个很典型的问题,说明代码写的少,即使写的多也都是复制别人的,没有实际意义,起码得知道别人写的思路吧!要想提高技术能力,只有一个不变的真理,多学习、多实践、多总结!

就说这么多了,以上就是我个人对想开发一套运维管理系统或者转运维开发的朋友们一点学习思路。

猜你喜欢

转载自blog.51cto.com/15127501/2657314
今日推荐