运维的85条军规


运维的85条军规


1、承载能力优先 ——随后再进行优化 —— 不遵守这条规则必定带来故障停机时间。不要在故障停机时间的压力下进行优化——要先集中精力提高承载能力。 


2、以Postgres为例,一定要确保你的每一个网络都能匹配得上你的WAL文件、Slony复制、快照技术以及基于磁盘的DB版本化(快照的衍生品) 


3、不要把问题‘优化’到你的架构之中。为了解决问题而新加进来的一些东西往往后来都会变成运维沉重的负担。 要确保在运维工程化中开发出来的工具交接完整。过后再回头进行进一步的开发往往不灵。更重要的是,变更请求可能会破坏已经安排好的工程计划。


4、保持简单。保持简单,因为你很聪明 别把事搞的太复杂 因为你行的。


(译者:KISS 原则 Keep It Simple, Stupid)


5、应该非常谨慎地使用缓存,为了保护资源一致性,它很难进行水平缩放。


如果你作的是一个可以横向扩展的东西, 明智或审慎的做法是不要添加的缓存层。 如果非要使用,它应该是为最终用户获得性能, 不是为了赢得一个网站的容量;


6、不要所有代码都自己写; 不要所有东西都外包; 在合适的时间使用合适的工具,完成你的工作.


(译者: 不要重复造轮子)


7、协商-真正有效的谈判唯一方式是先作一些调研,制定一些可行的性方案.这样你可以挑选你的首席开发商,如果你真的需要. 别虚张声势.


8、一直保持N+1。如果N=1,无论任何情况下不要轻易使用+1,这个1只用于当N down机情况下。当使用冗余服务器来承载负载时候,不要让你的系统超过49%的负荷。当有机会能只用N+2的架构时候,使用它。


9、数据丢失不是任何一个公司所能承担的风险--这是举世所知的真理。数据丢失造成的损失远远大于保持数据不丢失所花的成本。


10、无论何时何地尽可能并行化。这是复路考虑最重要的手段。比如,如果利用MogileFS来做位置感知,并且需要实时的复制数据,一个可行的方法是每一台MogileFS服务器可以复制它的数据去MogileFS的负载均衡中心。尽可能多的启用多的平行。


11、阅读手册。至今,我还是坚持要先通读RAID卡的手册,以确认是否有什么细微的差别。恶魔都隐藏在细节里。做足功课吧! 


12、知道瓶颈所在,并知道怎么去定位它,一层层排查,查找是不是硬盘、内存或者cpu的阻塞了。通常这个很简单。 


13、定期做系统容量管理程序。积极一点。如果没有容量数据的曲线,你很难知道你系统的薄弱之处。


14、不要促成失败,不要害怕改变。 


15、别挖陷阱给自己跳。不要认为你的工作成果将能作为未来的工作的动力。 


16、运维人员写的代码应该是运维工具,而不是应用软件。


17、在运维团队中,不要低估了项目管理、文档撰写以及财务分析人员的价值。他们比给予工资更有价值。 


18、监控一切。报警异常问题。其他部分记录数据用来做趋势分析信息。 


19、定期的流程查看各个地方的趋势数据。 


20、不要把监控弄的很乱,不然他就没有啥意义了。


21、要确保监控系统简单到让公司的每个人都能上手。你可能会很吃惊监控数据指标转换成为业务指标、市场指标和销售等等指标有多频繁。 


22、只在可以做出相应改善的地方做检查。 否则就不要浪费时间了。


23、公开你的检查报告,并附上相关数据,以便他人可以容易的阅读到关键点,并能关联到响应的数据。


24、在每一个技术点都分配人手。 


25、要给重要人员配备后备人手。 


26、要不断的招聘。甚至是当你没有名额,也要一直招聘。


27、要严于律己。无论你有多聪明或者你认为你多NB,你也要不断的提高自己。 


28、要尽可能多的把自己和其他公司做比较。眼光要往外看。


29、挑选一个展会或回忆,只有一个,一年一次,去参加。如果展会一年举办多次,之参加一次。 


30、购买你需要的,而非你想要的。永远都不要摘掉企业这顶帽子带上“什么对我是最简单最安全的”这顶帽子。 


31、永远只做最生意有益的事情,即使这意味着你需要离开。 


32、正式问责机制——记录承诺,标记它们,揭示为兑现的承诺。 


33、你不应失败两次以上。恐惧感有点好处。但要知道长期犯错和无意犯错的区别。 


34、无情一些——你的对手如此。 


35、视工作为在你完成时需要签上你的名字。这也意味着完成你的工作。 


36、变得对别人有用。


37、与初创公司合作——提供你的专业技术和规模,你将获得免费的产品作为回报,有时甚或一生。


38、容量是一个业务/产品问题。这意外着每个页面、每个请求、每次登录的网络成本等等在做正确的业务/产品决策时候都必须是都透明 


39、一直打破预算。运维团队通常是最大的花费者。通常没有收入没有达到预算,但是运维团队可以有很多方法来延期采购。 


40、过去能正常的做的事,不见得现在或者未来都会正常。所以做的时候,先用工具测试一下。


41、文档化。把所有东西都写成文档。要让新人挨个去问怎么做事。 


42、用一张大尺寸的图绘制你数据中心的网络拓扑。 


43、用一张图描绘出你每一个产品的业务流程图。


44、Faq-O-Matic, Wiki, 在这里人们可以很容易的发布“这是如何修复这个”的文章,并让它容易被找到的地方。这里是技术编写者能派上用场的地方,但是,最重要的是使文档更容易,即使是非正式的。 


45、确保所有人,任何人都可以被替换。 


46、多数人在家里做的比在办公室里更多,有些人则不然。 


47、捆绑下单——你可以要求更多折扣,更好的条款等等。当你成批购进硬件时。你可以要求一切——最低价格,备件包,租赁期限,只要他们还没有得到订单。 


48、同你的供货商保持长期关系——确保你在下份工作时依然能够联系他们。 


49、给运维团队的每一个人配置可以用来远程工作的超级装备:掌上电脑、无线上网卡、24英寸液晶显示器等等。雇佣大拿得到回报要远大于远程雇佣的本地人员。记住运维工程师都是用电达人,能充分的利用屏幕上的每一个像素点。


50、完全陷入IT标准的泥潭。直到Mac运行office 2007和outlook,你必须运行windows。间断的。除非全用mac本,否则这会破坏会议日程表、联系人或者邮件列表的办公效率。如果有个员工 愿意工作的在 xp环境。这是非常少。这条法则,现在是陈旧的/未公认的,陷入泥潭不一定是最好的方法。这个列表非常的07化。


51、有个合理的采购流程。知道你的预算,确信能管好它。从财务得到实际的金额。在技术驱动的预算/报告和财务驱动的预算/报告直接往往有一定的差距。作为一个搞的运维管理者要能形成模型把这些差距计入销售总成本中。一个理解这些事情的CFO有助于推动业务决策。


52、周会一定要持续进行。对上次会议的事件逐一落实结果和追责。


53、建立一个分离的逐级升级系统,用以消除由于开发者代码的问题对线上系统的不良影响。这主要是运维问题、代码问题都存在的情况下在开发跟踪系统或者运维跟踪系统中往往会丢掉,最后无人理睬。建立一个独立的跟踪系统来解决这些问题可以使得问题简单清晰。


54、产品开发从设计开始的每个阶段都要和运维相结合。这样,扩展性,监控和可靠性都融入到产品里。这样同时也可以确保运维负责的硬件采购、监控系统按时到位,运维手册得到及时更新,最后产品按照预计时间上线运行并且都符合运维标准。


55、在公司真正的实践——Sarbanes,WebTrust 安全审计认证,SAS 70 审计标准,Visa 和银行等等。如果你真的成功了,这些都是你不得不打交道的。早点开始这些准备其实很简单,不需要太多的知识。部署一个工单/任务跟踪工具,使用它。把变更 控制和变更管理纳入同样的系统里,使用它。其他信息也可以放进来。系统就可以帮助我们找出像“上周变更了什么”这类信息。


56、简化给冗余留和多点登录的流程。一开始或许很难,但是一个没有真正的扩展性和可靠性的系统,才会真正耽误你获得成功的时间。


57、Oracle 标准版(SQL Server 标准版)是值得购买的。如果你可以限制住自己不超过标准版的需求,那就绝对值得买,哪怕你刚刚开始创业还不需要他。


58、Postgres 和 MySQL 是一个免费的考虑。如果你不是特别在意事务完整性,MySQL 是很好的选择。直到"真空"和Postgres单词的强制链被打断,Postgres代表一个不可预知的,通常消极诡异的数据库。


59、容量设计应该按照每日峰值再上抛 20% ~ 30% 的冗余。除非你是个迁移技术热衷者。


60、尽量多读一些经济杂志。它们通常是免费的,只需你填写一些调查问卷就可以免费获得。新闻的价值是巨大的。让他们投递到你家里,工作的时候读杂志的机会趋近于零。 


61、保障安全。开发人员不应该有线上环境的权限,应该做代码复核。这是和运维之间的职责分离。运维团队中应该有人控制其他运维人员权限的权限。制定员工 手册,告知违反安全条例所带来的严重后果。从开始就要从物理的、逻辑的、功能的各个方面来保护客户的数据安全和隐私。万一有客户要和你对峙起来,你发现起 来发现自己只是靠勇气和勤奋来保护客户数据,那你就傻了。


62、控制好访问入口。首先要保证大家可以正常完成工作;其次要确保你知道他们是从哪里登录的。启用双因素身份验证方法。 


63、对于人们访问生产环境必经之路的壁垒和网关宿主,击键记录很重要。对于 Windows 可能稍微有点难度,不过有些网关可以提供自动截屏功能。


64)如果有状况的情况下,确保有冗余登录点连线到生产环境。不要期望公司的 VPN 在网络中断的时候还能连上生产环境。直接把 VPN 架设在线上环境里。


65、使用 LDAP 认证,哪怕你只有 10 台机器,通过复制 passwd 和 shadow 文件的方式来管理,你也需要 LDAP 认证。


66、不要低估在 UNIX 环境中一台 Windows Server 2003(2008)设备的作用。如果只是因为不懂 Windows,那么去学,而不是排斥它。 


67、不要在无效的无线方案上浪费大家的时间。人们都机动的,他们希望在沙发上,会议室里,门口,到处都要上网。一定要保证无线ad的可靠。


68、总有人把额外的精力和时间都投入到工作上——直接通过他们的请假单好了。而另一些人恰恰相反只把注意力放在怎么通过自己的请假单。在个人时间安排上,运维人员总是做出巨大的牺牲,他们随时准备凌晨3点爬起床快速响应排障需求。


69、通过集中式的关系数据库管理你所有的产品成果。然后通过数据复制分发到资产,人员,网络,合同等所有数据到异地。没错,要的是一个在线的实时可用的复制,而不是每天晚上备份到磁带。 


70、尽可使用自动化流程以确保安全,包括操作系统或者产品的上线,文件的分发,日志的分析等。


71、自动化操作通过运维数据库获得配置(真理来源)。


72、服务器通常有三种状态——离线,在线,产品态。在线就是说正在通过 cfengine、rsync 或者其他你在使用的工具完成配置。产品态表示已经走流量了。同时还需要一个状态,这个状态下的设备可以在不提供生产服务的情况下收集或者测试数据。


73、注重日志数据。在设备下线或者重建之前,一定要先导出日志。


74、如果规模发展太快以至于没有太多时间来做优化,那就尽力锁定一切——流程还能进行即可,就不要改变它,直到后来有了绝对必要的理由。总之,锁定默认值,等待成长到必要时再审视。


75、你永远无法避免运维工程师在你基础设施最关键的地方犯错——比如在哪台机器上不小心执行 rm -rf / 命令。


76、为团队保持好玩和有趣的气氛——如果他们不再享受他们的工作,他们就会找别的事情来消遣。要让团队有主人翁意识,运维不是哪个经理的个人任务。


77、提供 99.999% 可用性的真正价值在于让我们有能力保持灵活。这意味着当你需要的时候可以充分利用冗余。这会让物理变更、设备登入点变化、代码修改和回退等等都游刃有余。这个对于公司本身价值巨大,甚至比对客户还大。


78、如果你能做到 99.999%,给客户100% 的服务承诺。


79、不要丢掉按流程发布软件的能力。应该丢掉的是你自己回滚或者转移到旧版本代码的能力。压根就不应该“处理”这种徒劳的失败转移。当事情变得不 如人意的时候,你更应该做的是找个大玩意儿来挡住你的肥屁股。CYA = 保持敏捷 = 成功的公司。


80、在脑子里要清楚知道为什么以及这样做的为了达到的目的,为客户构建产品每一个具体步骤。不管你部署给最终用户的是什么,把这些放在最先考虑,即你所有(基础设施、流程和人员)的设计都是为了提供最好的服务和产品。


81、第一次就要做对了。很少有机会让你回去在做一遍的。重做是对公司资源的巨大浪费。要提高命中率,一次就要成功。


82、接触业内人士、盟友和类似的企业,看看他们的运维是怎么做的。很可能他们碰到了跟你一样的挑战,而解决的方法更好。不要害怕分享自己的经验和处理过程,因为别人也会回馈的。他山之石,可以攻玉!


83、招人要招那些好到可以让你担心位子不保的那样的人,招你欣赏和可以学习的榜样,招那些你愿意和他一起工作的。这感觉甚至超过你招聘一个工作考评为A的员工。


84、IT 和运维是完全不同的两个概念。一个不错的运维经理应该可以管理好企业IT,但是一个传统的 IT工程师很难有能力处理互联网运维任务。


85、当你开始一份新工作或者在每年的起始,都应该去争取预算。这不是说推车那老破车往前走,而应该是基于历史数据做出最佳推荐方案。如果你正在评估一份新工作,请确认你完完全全的知道预算以及预算的来源。同时,还应该有完善这份预算的权利。


更多相关文章阅读

一文全面了解 Redis 和 Memcached 的区别

用 Python 开发一个企业级的监控平台

用 Python 代码自动抢火车票

携程运维自动化平台,上万服务器变更也可以很轻松

智能运维就是 由 AI 代替运维人员?

看腾讯运维应对“18岁照片全民怀旧”事件的方案,你一定不后悔!

运行无间:阿里巴巴运维保障体系的一种最佳实践

芳华永在!一个老运维的20年奋斗史

饿了么异地双活数据库实战

运维版《成都》,听哭了多少人...

阿里万亿交易量级下的秒级监控

IT 运维的救赎——顺丰运维的理想践行


2天时间能够做哪些事?


2时间你可以参加运维行业风向标 GOPS2018·深圳站


19个精彩专场,涵盖 AIOps、运维自动化和 DevOps 众多技术领域


更有腾讯 SNG 团队首次系统性披露其运维体系



火热购票中......


点击阅读原文,进入大会官网

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值