首页 > 其他分享 >做运维的感悟

做运维的感悟

时间:2024-06-22 18:57:55浏览次数:26  
标签:感悟 服务 运维 数据库 做运维 业务 服务器 优化

服务来说

1.对服务版本选择,要和开发沟通,如果开发用的php语言,那就问他写的代码是哪个版本的,不同版本可能不兼容一些语法,会导致出错 要选择稳定版,太新的可能会导致一些bug,从而崩溃或服务出错。选择新版本唯一的目的应该是需要新的功能,否则老的版本最稳定 服务部署后要进行简单测试,让服务可以照常运行才可以,不能装完就算了。对于java这种替换版本,1.7升级到1.8可能导致某些依赖1.7的JDK,这都要去考虑清楚。 当服务运行后要注意他的启动用户是什么,可能用户不对造成无法读取文件。比如nginx启动时www用户,他就没法读取/data里找html发送给用户。 数据库如果要和库,要考虑是否有表名字重复。如果公用一个redis进行缓存,要考虑写入的数据是否冲突。 2.根据业务进行结构分析,是使用nginx还是apache,选择前填写调研文档,进行测试,写测试文档和部署,使用文档 3.根据业务量进行机器的数量选择还有配置选择,最好将配置做成套餐,比如将tomcat机器,每个都是8核16G内存,硬盘100基础,这个作为一个套餐来创建虚拟机或者云机器选购。 4.根据需求进行主从,或者负载均衡选择,可能还要选择备份容灾,cdn等等 5.对服务的日志进行分析,比如ip来源地址,pv,uv 6.对服务和系统进行优化,优化前和优化后差别很大,性能可以差一倍。 7.安全防护,不只有ddos,还有登陆问题。多关注软件可能暴露的一些安全问题,或者linux本身的系统问题 说不定谋个nginx版本突然说有问题,你还没关注到,那就很容易被黑掉 8.网络问题,很多时候都是这样,某个地方访问慢,但其他人访问不慢,很头疼,需要抓包再逐步排查 9.性能问题,可能最初还好。随着压力来临,数据库可能有慢查询,需要进行排查和解决。网站可能有部分用户访问不了,或者访问缓慢,都需要去排查 这块是最难得,需要各方面知识,如果遇到突然访问不了,那就回想之前做了哪些操作,再针对性排查 10.关注版本问题,像nginx1.9将支持tcp的4层代理,而不仅仅是之前的7层了,这样性能会提高很多,对公司业务很有帮助 11.优化,不仅是系统的内核方面优化,还有服务的配置文件优化,这点需要长久深刻的理解才行。默认的都是最标准的,但是可以根据情况舍弃一部分的东西,来加强另一部分,达到适合业务。 比如nginx做反向代理,可以优化内核参数,快速释放链接,超时时间配置短一些,这样可以处理更高的并发。但是如果提供php等服务的话,就要配置长一些,来达到稳定的效果 12.要考虑整体结构情况。比如nginx做负载均衡,可能抗压能力很出色,但是后面的数据库只有3台,导致数据库带宽被打满,也会造成访问不了的问题

发布来说

1.如何发布,是手动还是自动,如果机器多了,需要jenkins之类进行自动发布 2.容灾问题,代码如果发布失败,需要迅速回滚,不影响问题,发布的时候也不要所有节点一起发布,挨个节点发布 3.还要对老的代码进行备份,防止未来可能突然发生的问题,需要回滚

整体来说

1.运维并不是成天都是忙着去排错,大部分时间都是空闲的,这时候就需要自制力去学习东西了 2.运维的价值=你节约的成本 x 你的意识 x 你的觉悟 运维并不能直接搞出价值,但是可以优化,调整结构来省钱,不出事就是最好的价值。同时分析日志能创造隐形的价值给公司。 3.优化现有的方式,公司在成长中,肯定会有很多隐患,比如最初是用一个脚本来批量操作10-20台机器,后面公司扩充有100台机器,就要用ansible来批量操作了。这些都需要自动化,后面还要自动发布,压力大来自动扩容,报警cpu不够自动调节缓解当前机器压力等待 4.服务也不是照着百度吧配置文件放上即可,像负载均衡,可能调度算法填写的不对,造成一台压力大,一台压力小。还可能服务占用一个cpu压力大,其他都闲着,这些都是不行的。 5.文档要多写,比如资产文档,那些机器的配置,还有密码表,服务连接文档,部署文档,维护文档都要写,文档的作用一个是自己用,另一个是等你离职或者新员工加入,他们可以快速来维护。 6.部署一个新服务,必须要测试过后才上线,而测试不是安装即可,需要找数据进行深度测试,模拟线上环境。 7.谨慎甚微,任何操作琢磨几遍再打,不要随意就打了,比如重启线上nignx用reload,否则当前业务中断了。 8.监控很重要,可以查看流量,某些服务使用内存是否超标,没有监控出了事都不知道,监控不仅要监控服务的端口防止挂掉,还要他深度的使用,比如mysql的慢查询,命中率,主从状态等等。 9.体系,运维最好制定一些发布流程,虚拟机申请流程,巡检流程等等。巡检也是很重要的,云服务器也要定时看看是否磁盘满了,是否要续费等等。否则哪天出问题,问题就大了。 10.对业务进行机器规划,当压力大时扩容,不大时逐步关闭 11.测试也很重要,一个服务从多方面进行测试,比如nginx从静态页面,动态页面,提交数据,模拟多个在线用户登录访问等等。 12.修改文件前必须备份,方便回滚,操作日志最好有审计 (1)提前积累技术,可能明白了谋个东西,优化后让服务器性能提高2个点 (2)提前预防问题,防范于未然 (3)想多些可能性,当前结构可能稳当,但必定不是最好的

 

运维组织结构
简介

运维的工作方向比较多,随着业务规模的不断发展,越成熟的互联网公司,运维岗位会划分得越细。当前很多大型的互联网公司,在初创时期只有系统运维,随着业务规模、服务质量的要求,也逐渐进行了工作细分。一般情况下运维团队的工作分类和职责如下。

 

系统运维

系统运维负责IDC、网络、CDN和基础服务的建设(LVS、NTP、DNS);负责资产管理,服务器选型、交付和维修。详细的工作职责如下: (1)IDC数据中心建设 收集业务需求,预估未来数据中心的发展规模,从骨干网的分布,数据中心建筑,以及Internet接入、网络攻击防御能力、扩容能力、空间预留、外接专线能力、现场服务支撑能力等多个方面评估选型数据中心。负责数据中心的建设、现场维护工作。 (2)网络建设 设计及规划生产网络架构,这里面包括:数据中心网络架构、传输网架构、CDN网络架构等,以及网络调优等日常运维工作。 (3)LVS负载均衡和SNAT建设 LVS是整个站点架构中的流量入口,根据网络规模和业务需求,构建负载均衡集群;完成网络与业务服务器的衔接,提供高性能、高可用的负载调度能力,以及统一的网络层防攻击能力;SNAT集中提供数据中心的公网访问服务,通过集群化部署,保证出网服务的高性能与高可用。 (4)CDN规划和建设 CDN工作划分为第三方和自建两部分。建立第三方CDN的选型和调度控制;根据业务发展趋势,规划CDN新节点建设布局;完善CDN业务及监控,保障CDN系统稳定、高效运行;分析业务加速频道的文件特性和数量,制定最优的加速策略和资源匹配;负责用户劫持等CDN日常故障排查工作。 (5)服务器选型、交付和维护 负责服务器的测试选型,包含服务器整机、部件的基础性测试和业务测试,降低整机功率,提升机架部署密度等。结合对公司业务的了解,推广新硬件、新方案减少业务的服务器投入规模。负责服务器硬件故障的诊断定位,服务器硬件监控、健康检查工具的开发和维护。 (6)OS、内核选型和OS相关维护工作 负责整体平台的OS选型、定制和内核优化,以及Patch的更新和内部版本发布;建立基础的YUM包管理和分发中心,提供常用包版本库;跟进日常各类OS相关故障;针对不同的业务类型,提供定向的优化支持。 (7)资产管理 记录和管理运维相关的基础物理信息,包括数据中心、网络、机柜、服务器、ACL、IP等各种资源信息,制定有效的流程,确保信息的准确性;开放API接口,为自动化运维提供数据支持。 (8)基础服务建设 业务对DNS、NTP、SYSLOG等基础服务的依赖非常高,需要设计高可用架构避免单点,提供稳定的基础服务。

 

应用运维

应用运维负责线上服务的变更、服务状态监控、服务容灾和数据备份等工作,对服务进行例行排查、故障应急处理等工作。详细的工作职责如下所述。 (1)设计评审 在产品研发阶段,参与产品设计评审,从运维的角度提出评审意见,使服务满足运维准入的高可用要求。 (2)服务管理 负责制定线上业务升级变更及回滚方案,并进行变更实施。掌握所负责的服务及服务间关联关系、服务依赖的各种资源。能够发现服务上的缺陷,及时通报并推进解决。制定服务稳定性指标及准入标准,同时不断完善和优化程序和系统的功能、效率,提高运行质量。完善监控内容,提高报警准确度。在线上服务出现故障时,第一时间响应,对已知线上故障能按流程进行通报并按预案执行,未知故障组织相关人员联合排障。 (3)资源管理 对各服务的服务器资产进行管理,梳理服务器资源状况、数据中心分布情况、网络专线及带宽情况,能够合理使用服务器资源,根据不同服务的需求,分配不同配置的服务器,确保服务器资源的充分利用。 (4)例行检查 制定服务例行排查点,并不断完善。根据制定的服务排查点,对服务进行定期检查。对排查过程中发现的问题,及时进行追查,排除可能存在的隐患。 (5)预案管理 确定服务所需的各项监控、系统指标的阈值或临界点,以及出现该情况后的处理预案。建立和更新服务预案文档,并根据日常故障情况不断补充完善,提高预案完备性。能够制定和评审各类预案,周期性进行预案演练,确保预案的可执行性。 (6)数据备份 制定数据备份策略,按规范进行数据备份工作。保证数据备份的可用性和完整性,定期开展数据恢复性测试。

数据库运维

数据库运维负责数据存储方案设计、数据库表设计、索引设计和SQL优化,对数据库进行变更、监控、备份、高可用设计等工作。详细的工作职责如下所述。 (1)设计评审 在产品研发初始阶段,参与设计方案评审,从DBA的角度提出数据存储方案、库表设计方案、SQL开发标准、索引设计方案等,使服务满足数据库使用的高可用、高性能要求。 (2)容量规划 掌握所负责服务的数据库的容量上限,清楚地了解当前瓶颈点,当服务还未到达容量上限时,及时进行优化、分拆或者扩容。 (3)数据备份与灾备 制定数据备份与灾备策略,定期完成数据恢复性测试,保证数据备份的可用性和完整性。 (4)数据库监控 完善数据库存活和性能监控,及时了解数据库运行状态及故障。 (5)数据库安全 建设数据库账号体系,严格控制账号权限与开放范围,降低误操作和数据泄露的风险;加强离线备份数据的管理,降低数据泄露的风险。 (6)数据库高可用和性能优化 对数据库单点风险和故障设计相应的切换方案,降低故障对数据库服务的影响;不断对数据库整体性能进行优化,包括新存储方案引进、硬件优化、文件系统优化、数据库优化、SQL优化等,在保障成本不增加或者少量增加的情况下,数据库可以支撑更多的业务请求。 (7)自动化系统建设 设计开发数据库自动化运维系统,包括数据库部署、自动扩容、分库分表、权限管理、备份恢复、SQL审核和上线、故障切换等功能。

运维研发

运维研发负责通用的运维平台设计和研发工作,如:资产管理、监控系统、运维平台、数据权限管理系统等。提供各种API供运维或研发人员使用,封装更高层的自动化运维系统。详细的工作职责如下所述。 (1)运维平台 记录和管理服务及其关联关系,协助运维人员自动化、流程化地完成日常运维操作,包括机器管理、重启、改名、初始化、域名管理、流量切换和故障预案实施等。 (2)监控系统 负责监控系统的设计、开发工作,完成公司服务器和各种网络设备的资源指标、线上业务运行指标的收集、告警、存储、分析、展示和数据挖掘等工作,持续提高告警的及时性、准确性和智能性,促进公司服务器资源的合理化调配。 (3)自动化部署系统 参与部署自动化系统的开发,负责自动化部署系统所需要的基础数据和信息,负责权限管理、API开发、Web端开发。结合云计算,研发和提供PaaS相关高可用平台,进一步提高服务的部署速度和用户体验,提升资源利用率。

运维安全

运维安全负责网络、系统和业务等方面的安全加固工作,进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理。详细的工作职责如下所述。 (1)安全制度建立 根据公司内部的具体流程,制定切实可行,且行之有效的安全制度。 (2)安全培训 定期向员工提供具有针对性的安全培训和考核,在全公司内建立安全负责人制度。 (3)风险评估 通过黑白盒测试和检查机制,定期产生对物理网络、服务器、业务应用、用户数据等方面的总体风险评估结果。 (4)安全建设 根据风险评估结果,加固最薄弱的环节,包括设计安全防线、部署安全设备、及时更新补丁、防御病毒、源代码自动扫描和业务产品安全咨询等。为了降低可能泄露数据的价值,通过加密、匿名化、混淆数据,乃至定期删除等技术手段和流程来达到目的。 (5)安全合规 为了满足例如支付牌照等合规性要求,安全团队承担着安全合规的对外接口人工作。 (6)应急响应 建立安全报警系统,通过安全中心收集第三方发现的安全问题,组织各部门对已经发现的安全问题进行修复、影响面评估、事后安全原因追查。

 

 

 

 

标签:感悟,服务,运维,数据库,做运维,业务,服务器,优化
From: https://blog.csdn.net/weixin_45422672/article/details/139849165

相关文章

  • 程序员最应该在30岁之前明白的道理,来自一位33岁码农的顶级感悟!
    从去年开始,互联网就业状况恶劣,从业人员悲观情绪开始蔓延,好多同行都表示被降薪甚至裁员,正在找工作的也表示boss刷烂了都是已读不回。网上的信息真真假假大家自己甄别,我说说自己的一些现状跟观察,希望对大家有参考意义。我目前在广州一家一百多人的小公司,属于交通行业中的软件......
  • 几个公司wiki知识库调研和感悟
    @目录需求背景具体实现经验&吐槽小结需求背景公司准备做一个知识库,我这边调研了几个项目,如下第一个是我们耳熟能详的confluence,但是好想要收费,先搁置第二个是mindoc,是一个小型的开源项目,可以docker跑项目,上传文件直接映射到本地,使可以用mysql,有点简陋但也基本够用(可......
  • 海奥华预言 -- 感悟
    人是由不同的物质组成,物质是由原子组成,最终导致是由不同的原子组成;这些原子只所以能组成人这个实体物质,是因为原子之间不互相排斥,就是说氢原子、氧原子、碳原子、铁原子、镁原子不互相排斥的情况下,组成了人;若它们之间互相排斥那么人类就会分解、失控,就会产生原子大战,最终导致肿......
  • 2024年面试感悟
    24年从中软(荣耀)项目组离职了,中途休息了一个月,然后才开始找工作; 当前已经在无锡入职,且对新公司业务也很感兴趣。 下面说说我面试前后的一些感受和想法(想到哪里写到哪里,随笔): 当前行情: 1、工作岗位少 2、要求相比于前几年,更高了,内卷更严重; 3、对学历(本科)、专业(计算......
  • python多进程感悟
    对于大量的测试数据,使用多进程时(例如8个进程),最好使用queue来消费数据,不要将测试数据分为8个list,分别送入不同的进程中,因为这样可以避免极端情况出现。例如,每个测试数据处理起来耗时不一样,你刚好把耗时比较长的数据分了同一个list,就会导致其他的进程也会一直等待该进程的完成。......
  • [实验感悟] 系列(1) 野外实验要遵循的几个原则
    关键词:野外实验、学生、遥感实验、种苗表型作者:ludwig1860日期:2024.5.15印象中有2年多没有亲自带学生野外实验了,甚至之前从来没有带学生进行过一次完整地、系统地、历经实验设计-方案制定-仪器准备-方法学习-细致考虑-野外实践-数据整理-数据处理整套流程的实验......
  • 【转】一线开发大头兵对于工作的感悟分享
    合集-Java后端(11) 1.【解决方案】如何使用HttpAPI代替OpenFeign进行远程服务调用01-222.【深度思考】一线开发大头兵对于工作的感悟分享01-293.【进阶篇】Java实际开发中积累的几个小技巧(一)02-044.【设计模式】分享Java开发中常用到的设计模式(一)2023-08-095.【......
  • 科学研究感悟
    封面科研能力包含:实验实施,理论推导,编程能力,论文写作,英语能力,论文排版,仿真模拟科研PPT的制作PPT制作要点主线明确,前后要连贯,要有设计感,重点突出内容要简洁,不可跳讲,逻辑要强,概念准确1min研究背景,1min框架,3min直接切题,工作量突出PPT制作感悟做ppt就是讲一个故事,讲......
  • 40岁女人人生感悟的句子
    【40岁女人人生感悟的句子】每个40岁的女人都有自己的人生感悟,经历了青春的风华,步入成熟的年纪,她们已经拥有了足够的人生经验和智慧。在这个年龄段,很多女性开始思考生活的意义,反思过去的选择,展望未来的可能。以下是一些40岁女人人生感悟的句子,或许能给你一些启发。"人生最重要......
  • 人生感悟
    财富是对认知的补偿非努力的奖赏1永远是1,2可以是不同的,2可以升3,3升无穷,无论是企业还是朝代充满了兴衰,所以要有2的观念。新的意义在于人的生命是有限的,死神永恒,传承的意义不是硬性继承的,而是差异性继承,批判性继承,否则就没有进步。诸葛亮明明知道天下必然是曹操的,为什么还要出......