网站运维之道 之自动化管理

news/2024/5/9 16:01:37/文章来源:https://blog.csdn.net/chinalinuxzend/article/details/3502787
原贴:http://www.dbanotes.net/web/web_operations_automatic.html

网站运维之道 之自动化管理

还是继续这个网站运维的话题吧。前面谈了知识管理与积累,这次谈一下运维过程中的自动化管理。

在进行这篇的扯淡之前,让我想起了《太平广记》里的一个《 板桥三娘子》的故事,姓赵的客商窥探到客栈老板娘三娘子在小箱子中取出小孩玩具大小的木头牛,木头人,喷口水,木头人、牛开始犁地耕作,撒一粒荞麦种子,木头小人种下,不一会儿,荞麦长成开花结实,木头人收割,乃至磨成面粉。然后三娘子把木头牛、人收入箱中,用得来的面粉做了数张面饼。多么好的一个自动化场景呀。

自动化的目的

自动化管理是网站规模化之后必须要面对的问题。为什么要自动化?肯定不是为了炫技,针对一个发展中的网站来说,自动化的主要目的还是为了节省维护成本,提升运维成熟度能力。另外一个经常被忽略的收益是能让运维工作更有趣味性一些,不那么无聊,不无聊的有益副作用是减少人为出错的可能。

自动化针对的范围大致可以分为安装自动化、部署自动化、软件发布自动化、升级自动化、监控自动化等几个方面。优化自动化? 别,这个稍微"高级"并且不靠谱了一点。

自动化要解决的问题是 N 次循环的过程,如果 N 不具备延续性,那么自动化未必有必要。比如某个过程可能只是短时间内需要临时进行几次,是否有必要将其自动化就有待于商榷。如果计划和开发自动化过程的成本高于非自动化成本就没必要了。

开发自动化过程

如果看过古龙的小说,他曾经描述过几个有趣的懒人,懒人造了一些木头人和机关来帮自己干一些不愿意做的事情。自动化多少就是"懒人"要做的事情,因为懒嘛,所以才会想办法节省时间和其他成本。一般来说,这个过程的开发者也是使用者,所以没必要一定要按照所谓的项目过程去走,但是开发者必须能够产出一份文档给同团队的伙伴(如果有的话)。

考虑到多数的网站运维可能都是在 Unix like 环境中的,而 Unix 的哲学思想之一就是"Write programs that do one thing and do it well",每个过程只做一件事情就很关键,"功能单一的自动化模块"是有必要的,把不同的模块拼装起来再去完成更复杂的需求。

Unix 相比 Windows 来说,天生具备可自动化能力。如 Shell/BASH(自动化日常操作)、CronTab(自动化任务调度) 、Expect (自动化交互场景) 、rsync(数据远程同步)等 啊都是一些需要注意的技术内容。

优化自动化过程

自动化过程一般要有个生命周期,定期升级、优化也是有必要的。面对不同的应用场景应该逐渐改进自动化的可用性。

示例:自动部署 Linux

对于批量的 Linux 安装,RedHat 提供有 Kickstart Installations 自动安装解决方案,不过该方案相对比较繁琐,前不久推出的 Cobbler 是让人眼前一亮的好工具(参见 hutuworm 的介绍文章)。我一直怀疑 Cobbler 是中国人命名的项目,因为 PXE 发音为"pixie"(皮鞋),而 Cobbler 的中文意思是"补鞋匠"。

OS 安装完毕之后的软件安装、更新是个麻烦事。在一个 Linux 的环境中,SA 一定不要为软件相互依赖性浪费太多的时间。什么 YUMAPTYAST 啊,能用就用上。别太迷信自己编译软件所能带来的优化收益,实际上犯错的几率更大。达到某个规模后,本地建立、维护一个软件资料库(repositories)也是有必要的。

Linux 软件安装进化之路:

手工预编译-->RPM-->APT 等工具

已经进化到更好的阶段了,没必要还走着老路在原地折腾。

其他参考:Flickr 运维曾经采用 System Image 来自动化 Linux 相关的的运维工作。或许也可以尝试一下。

在系统配置管理(别混淆到另一个配置管理上去)方面,其实 cfengine 就挺好用的。更多类似工具参考这个比较列表

标准化,减少后续维护成本是节省人力资源的一大法门。

自动化的一些风险

必须要承认的是,自动化有的时候是容易带来一些风险的,比如"冲掉"原有配置文件信息,不恰当的自动化脚本给系统带来额外负载等,在运维过程中需要不断总结经验。(又落入俗套)

这方面值得推荐的一本书是《UNIX和Linux自动化管理》,借鉴一下其中的思路和方法。

对了,补充一下前面的《板桥三娘子》的故事发展,三娘子的面饼如果被客人吃下,则会变成驴...... 同样,自动化有的时候会把人陷进去的,运维人不要变成自动化的奴隶。

这个话题还需要继续下去么? 我再想想 ...

| Permalink | TrackBacks (0) | | Edit

<script src="http://w.sharethis.com/widget/?tabs=web%2Cpost%2Cemail&charset=utf-8&style=default&publisher=abd89f47-864f-4619-8ecd-501d8d2e9b58" type=text/javascript></script> ShareThis <script language=javascript src="http://www.postreach.com/ccengine/display_iframe?perlink=http://www.dbanotes.net/web/web_operations_automatic.html&url=http://www.dbanotes.net/" type=text/javascript></script>
0030
clickcommentsMokugift: Plant a Tree
Generator | Trampoline | 外贸英才网 | Vinyl fence
Vertical Packaging Machine | Digital Blood Pressure Monitor

自定义搜索

本文相关评论|Comments(7)

https://me.yahoo.com/evnma#a6db6 Author Profile Page 的评论:

文中提到对于os的更新采用yum,apt等工具自动进行,这样妥么?

我现在也在做一些系统的运维,os的servicepack是个很挠头的问题,打的话有些patch会对应用有影响,不打每天提示邮件里[HIGH]的标志让人心寒...而且好像有些老爷车系统也是这样的,AIX4.x的系统还在用着,不敢动...

那么,到底给系统打patch的原则是什么呢...

Fenng Author Profile Page 的评论:

@evnma

我说的是软件的安装和更新。OS 本身的更新无疑是要慎重的事情。

Patch 策略值得另外大书特书了。

mouse 的评论:

冯大哥,运维这个系列的内容写得非常不错,很喜欢,前面的内容希望能更为细化下,最好是整个系列的内容能整理下更为细化下,呵呵!很多东西值得借鉴和实践,在此感谢共享!

xi2008wang 的评论:

希望Fenng也讲讲打补丁的策略^_^

AWard Author Profile Page 的评论:

我现在倒是把一部分软件安装从APT转向预编译发行版或者自编译了,APT的依赖性有时候很麻烦,而且提供的预编译版本通常都比较老,可以考虑自己编译做个APT源

昨天看到这个标题以为会说shell脚本或者其他语言的脚本比较多一些

chifeng 的评论:

Capistrano和Vlad the Deployer可以试试。。。批量的部署起来不错

Fenng Author Profile Page 的评论:

@chifeng

都是针对 ROR 的吧?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_831760.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机之家网站架构--对话高春辉

原贴:http://www.dbanotes.net/arch/imobile_web_arch_gaochunhui.html手机之家网站架构--对话高春辉 作者: Fenng | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.dbanotes.net/arch/imobile_web_arch_gaochunhui.html 这次去北京参…

面向用户的网站性能优化

原贴: http://www.dbanotes.net/arch/user_oriented_web_tuning.html面向用户的网站性能优化 作者: Fenng | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://www.dbanotes.net/arch/user_oriented_web_tuning.html 在互联网这个行业&…

31个用来测试你网站各项性能的免费在线工具

原贴:http://blog.chinaunix.net/u/9465/showart.php?id173605231个用来测试你网站各项性能的免费在线工具 网站代码验证 没人可以细致到保证自己的网站代码都是正确的&#xff0c;你可以通过以下测试来验证网站代码是否正确。 1 . WDG HTML Validator 一个很好的工具&#…

网站优化之减少HTTP请求

原贴:http://lovelaozang.cn/show-6786-1.html网站优化之减少HTTP请求 Submitted by 老臧 on 2009, January 12, 11:37 PM. 好好学习 相关文章 评论 今天给大家分享一些网站优化的一些经验&#xff0c;如有不对的地方欢迎批评指正或与我讨论。关于网站优化&#xff0c;可以从多…

10个精选免费网站分析工具

原贴&#xff1a;http://www.cnbeta.com/articles/75109.htm10个精选免费网站分析工具 感谢zhengyongmw的投递 新闻来源:译言 在本文中&#xff0c;你将发现10个精选的免费web分析工具和应用程序&#xff0c;他们可以帮助你收集和分析与你网站内容有关的数据。 什么是Web分析学…

学习豆瓣好榜样--网站架构

原贴:http://www.dbanotes.net/arch/douban_arch.html 学习豆瓣好榜样--网站架构 这次的 QCon 会议&#xff0c;《豆瓣网技术架构的发展历程》这个议题差不多是最受关注的。洪强宁在演讲开始告诫大家期望值不要太高&#xff0c;我还是相信不会有人觉得失望的。 先说几句题外话&…

小规模低性能低流量网站设计原则

原贴&#xff1a;http://www.dbanotes.net/arch/small_site_arch.html 小规模低性能低流量网站设计原则 作者: Fenng | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://www.dbanotes.net/arch/small_site_arch.html 到处都是什么大规模啊…

使用Varnish代替Squid做网站缓存加速器的详细解决方案[原创]

原贴:http://blog.s135.com/post/313/ 使用Varnish代替Squid做网站缓存加速器的详细解决方案 大 | 中 | 小 [2007-11-29 22:11 | by 张宴 ] [文章作者&#xff1a;张宴 本文版本&#xff1a;v1.2 最后修改&#xff1a;2008.01.02 转载请注明出处&#xff1a;http://blog.s135.…

简约而不简单:网站着陆页的设计(Landing Page Design)

着陆页是一个在线营销的概念&#xff0c;是指当访客点击一个搜索引擎优化的搜索结果进入的第一个页面或“着陆”页面。这是一个重要的页面&#xff0c;它和提供的产品或服务的广告有点类似&#xff0c;提供了与产品相关的精确的信息&#xff0c;告诉客户可以购买的产品或服务。…

大型高并发高负载网站的系统架构[转载]

鄙人先后在CERNET做过拨号接入&#xff0c;在Yahoo&3721搞过搜索前端&#xff0c;在猫扑处理过mop.com的架构升级&#xff0c;在6.cn视频网站从事开发工作&#xff0c;还在多年的工作中接触和开发过不少大中型网站的模块&#xff0c;因此在大型网站应对高负载和并发的解决方…

一步步学习SPD2010--第八章节--理解工作流(7)--创建网站工作流

一步步学习SPD2010--第八章节--理解工作流&#xff08;7&#xff09;--创建网站工作流 在之前版本的SP中&#xff0c;所有工作流都是以文档为中心。然而&#xff0c;不是所有的工作流都像那样。为了应对其他情况&#xff0c;SP2010现在支持网站工作流。网站工作流在SP网站上下文…

Hexo博客网站再配置

这两天整理网站方面的事&#xff0c;本地IIS部署&#xff0c;个人网站&#xff0c;发现我的hexo做的个人网站实在很单调&#xff0c;于是找来资料做进一步的配置。 一、网站图标 看一下hexo\themes\modernist\layout\_partial\head.ejs&#xff0c;找到这句&#xff1a; <li…

[前端]分享一个Bootstrap可视化布局的网站

如果你像我一样&#xff1a;是个前端渣&#xff0c;能看懂css和html&#xff0c;略懂Bootstarp&#xff0c;懒&#xff01; 当你每次都想独立完成一个web页面而不知道从哪里下手的时候&#xff0c;那么下面的这个网站&#xff0c;就是你所以需要的&#xff01; http://www.runo…

unity3D 在官方网站 下载资源 路径存储问题

第一步打开 官网 https://store.unity3d.com/account/users 或者 在unity3D软件中&#xff0c;单击 window 再单机 asset store 即可进入商店&#xff0c;在商店中可以找到免费的学习案例&#xff0c;如&#xff1a;Unity Sample UI&#xff0c;在搜索栏中输入Unity Sample …

你必须知道的,常用的机器学习相关网站!!!

很多人因为人工智能的大火&#xff0c;转变了职业规划或研究方向&#xff0c;开始了学习相关领域的知识之路&#xff0c;虽说人工智能领域应用很广泛&#xff0c;涉及到的知识的也很广泛&#xff0c;但机器学习作为基础知识是每个人必须要了解的知识。 机器学习的相关资料相信…

网站接入短信平台验证流程

以网站注册用户为例 前端页面,此处用到volicity前端验证,暂时不做深入 <form action"$!webPath/register_finish.htm" method"post" name"theForm" id"theForm"><table width"900" border"0" cellpaddin…

不知名网站编程(一)

不知名网站编程记录&#xff08;一&#xff09; function place(a) {c.fillStyle "red";c.fillRect(a,0,20,20);c.fillStyle "green";c.fillRect(a20,20,20,20);c.fillStyle "blue";c.fillRect(a40,40,20,20); }var a 0; while(a<200) {…

不知名网站编程(二)

不知名网站编程记录&#xff08;二&#xff09; var a 0; var b 0; while(b<6) {c.fillStyle "blue";c.fillRect(12*a,12*a,240-24*a,240-24*a);a 1;c.fillStyle "orange";c.fillRect(12*a,12*a,240-24*a,240-24*a);a 1;b 1; }var a 0; var b …

不知名网站编程(三)

不知名网站编程记录&#xff08;三&#xff09; var a 0; var b 0; do { c.fillStyle rgb(0,0,a);c.fillRect(b,b,20,20);a a 60;b b 20; }while(b<80);var a 0; var b 0; do {c.fillStyle rgb(255-1.2*a,255-0.6*a,a);c.fillRect(b,b,200-2*b,200-2*b);a a 6…

不知名网站编程(四)

不知名网站编程记录&#xff08;四&#xff09; var a 0; var b 0; do {c.fillStyle rgb(128a,0,128-a);c.fillRect(b,b,200-2*b,200-2*b);a a 32;b b 20; }while(b<80);var a 0; var b 100; do {c.fillStyle rgb(255-a,0,0);c.fillRect(0,0,b,b);a a 63;b b …