抢滩IT自动化领域的“博弈“-尚文网络xUP楠哥

在这里插入图片描述
#说在前面
最近跟一批高校生打的火热,没怎么有时间搞潮流小文。从这批高校生的身上可以看到,年轻、热情有冲劲的同时,知识体系的不足以及对知识点细节理解不深刻的脆弱性表现得淋淋尽致。这也正常,没参加过工作,没被用户骂的"头破血流",谁也都是从这个时候慢慢一步一步趟过来。他们当中,有的只喜欢NetWork,有的只愿意搞Security,甚至有的很宠爱Linux周遭的一切,这也没差。其实,他们相互之间也都为有一个美好的future在做"博弈",交流的过程中,我在传达宏观的这个词汇,假如能跳出眼前的这"一亩三分地",宏观的看待整个IT的变化,慢慢的从"博弈"中突围,不是当什么所谓的“黑客”,而是成就于细分领域的极客。
今天要探讨的话题是IT自动化领域的"博弈",为何要唠起自动化呢,是因为根据自己整体的职业规划,大概3年前选择暂时离开IT传统运维,开始转向互联网性质的运营。为了满足互联网、DevOPS快速部署、敏捷开发等特性,从那一刻起,就要和自动化部署配置牵线,改掉以往在传统运维领域养成的一些"臭毛病"(运维形式不同而已)。
用下面这张图体现开篇提到的高校生"博弈"的状态和我今天要探讨的话题是最合适不过的了。抢滩IT自动化领域的“博弈“-尚文网络xUP楠哥_第1张图片
参与IT自动化领域"博弈"的选手包括:Chef、Puppet、SaltStack以及Ansible。接下来,我们简单唠一下这几个工具。

Chef

Chef 是一个系统集成框架,为整个架构提供配置管理功能,Chef可以外接的平台很多,可玩性较高;Chef几乎支持全平台,从架构上分为Server端负责分发,Workstation端负责编写脚本上传至Server,Client就是受控节点,也可以可独立方式安装部署测试。很多伙伴选择Chef的主要原因是因为它对Window操作系统的支持比较好。抢滩IT自动化领域的“博弈“-尚文网络xUP楠哥_第2张图片
Chef是于平台无关的,可以部署到云端、本地或作为虚拟机,使用RESTful API也就是http的方式去连接Chef的Sever。不过,Chef需要经历曲折的学习过程和学习成本,另外,Chef的初始化设置很复杂。抢滩IT自动化领域的“博弈“-尚文网络xUP楠哥_第3张图片
#Puppet
Puppet基于Ruby语言开发,是一个IT基础架构的自动化管理工具,Puppet层次感很好,能够帮助企业完成从供应到配置到联动最后到报告展现的基础架构设施整个生命周期的管理。抢滩IT自动化领域的“博弈“-尚文网络xUP楠哥_第4张图片
Puppet要有一组(类)资源清单,通过资源申报,定位到清单中的主机,按照主机为单位,应用模块来进行配置部署;通过Web界面生成处理报表、资源清单、实时节点管理,报表反应出目标,根据目标状态的不同,进行调整和变更配置。Puppet既可以在单机上使用,也可以以客户端/服务端结构使用。
Puppet相比较其他自动化运维工具是复杂的,需要我们学习Ruby语言,所使用的加密方式是标准SSL协议,不支持二次开发功能。
#SaltStack
SaltStack灵活性强大,可以进行大规模部署,也能进行小规模的系统部署。SaltStack的设计架构适用于任意数量的服务器,从本地单一系统到跨越数个数据中心,拓扑架构都是C/S模型,配置简单。不管是几台、几百台、几千台服务器,都可以使用SaltStack在一个中心节点上进行管控,灵活定位任意服务器子集来运行命令。抢滩IT自动化领域的“博弈“-尚文网络xUP楠哥_第5张图片
SaltStack是Python编写的,支持用户通过Python自定义功能模块,也提供了大量的Python API接口,用户可以根据需要进行简单快速的扩展。Salt提供了大量的模块,以处理特定的软件、操作系统和云服务。自定义模块可以用Python或PyDSL来编写。平台方面,SaltStack更擅长管理Unix和Linux系统。
SaltStack的优点在于可扩展性和弹性,可以有多级主服务器。主服务器可以控制下边的主服务器及其客户端。另外,让客户端可以向主服务器提出问题,然后主服务器从其他服务器得到答案,提供全面信息。如果需要在实时数据库中查询数据,以便完成客户端的配置,这个优点就很方便。
#Ansible
Ansible是基于Python开发的自动化运维工具,可以实现批量配置系统,部署软件及协调更高级的任务;Ansible相比较其它的自动化工具,Ansible是简单易用的一款,基于openssh的方式进行传输,无需安装客户端Agent。抢滩IT自动化领域的“博弈“-尚文网络xUP楠哥_第6张图片
Ansible 中有一个核心的概念叫inventory资产清单,我们完全可以通过企业中自己的CMDB抽取网络、主机设备、操作系统信息、通过Python脚本更新策略运行Ansible Playbook来保持服务器状态的一致性;假如企业中没有成体系的ITSM管理系统,通过Ansible就可以帮助我们做企业的资产梳理,成为信息化建设的大管家。
Ansible中还有Playbooks剧本这样的概念更是容易理解。Playbooks是非常容易理解和修改的自动化工具。不需要特别复杂的编程能力就能写Playbook。Playbook顺序执行task。Playbook简单涉及让每个团队都能很容易上手使用。
对于企业而言,Ansible Tower是一款高级产品,具有基于Web的API和图形库存管理工具。Ansible Tower添加了一个用户友好的中央仪表板,可以在其中查看服务器的状态,管理访问控制并监视作业的运行。
另外,Ansible的学习成本也很低,在命令行中使用所熟悉的命令运行,或者是简单YAML格式的文件进行编写Playbook。 这意味着你的命令更易于推理,并且性能也很快。
Ansible凭借其极简设计以及与纯SSH的紧密结合,如果你希望以最少的配置部署,编排和配置管理工作流,那么Ansible值得研究。Ansible技术已经下探到红帽的金字塔体系结构中RHCE级别,UP楠哥已经把这部分的技术内容分享、传递给许多想要揭开自动化领域面纱的童鞋们;至于企业级应用Ansible Tower,是在红帽架构师RHCA中的课程内容,未来我们会一起研究和开发。
大家可以加扣裙11372462技术交流,下载资料

#写在最后
通过以上的描述,可以看出,SaltStack和Ansible的机制是差不多的,Puppet呈现了数据中心协调的全貌,但Puppet需要学习Ruby语言,这让很多小伙伴有些望而却步;Chef的话是需要牺牲一段时间的学习成本。最后,附上几位"博弈"选手的对比,在IT自动化领域期待它们的表现和贡献;目前来讲,整合了我身边几位互联网大哥们的意见和想法,推荐SaltStack,其次红帽的Ansible。Ansible适合自动化入门。抢滩IT自动化领域的“博弈“-尚文网络xUP楠哥_第7张图片

你可能感兴趣的:(运维,容器,docker)