运维_运维面试 - CSDN
运维 订阅
运维,这里指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。一个互联网产品的生成一般经历的过程是:产品经理、需求分析、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。运维,本质上是对网络、服务器、服务的生命周期各个阶段的运营与维护,在成本、稳定性、效率上达成一致可接受的状态。 展开全文
运维,这里指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。一个互联网产品的生成一般经历的过程是:产品经理、需求分析、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。运维,本质上是对网络、服务器、服务的生命周期各个阶段的运营与维护,在成本、稳定性、效率上达成一致可接受的状态。
信息
外文名
Operation and maintenance
运维工程师
运维从业人员
SRE
Site Reliability Engineer
中文名
运维
DBA
Database Administrator
运维平台
运维相关工作平台
运维运维的职责
对于初创公司,运维部和系统部一般是合二为一的,相关工作由同一批人负责,界限可能不是很明显。大型公司对运维工作的要求更高,需要有更精细的分工,因此机房/网络/操作系统相关的底层工作分离出来由专人负责,成为系统管理部,而上层和应用产品相关的工作则由运维负责,成为运维部。以下从互联网产品生命周期和运维涉及的技术分别来看分工较细的大型互联网公司中运维工作的职责。 [1] 
收起全文
  • 运维一般干什么?

    万次阅读 2019-04-19 02:35:44
    运维一般干什么?”这个问题居然是百度上搜索“运维”的最热门问题:对应这个问题的最佳答案如下,不知道各位运维同学是否认同?一、运维工程师的工作:保障业务长期稳定运行(如...
        

    “运维一般干什么?”这个问题居然是百度上搜索“运维”的最热门问题:


    640?wx_fmt=png


    对应这个问题的最佳答案如下,不知道各位运维同学是否认同?

     

    一、运维工程师的工作:


    1. 保障业务长期稳定运行(如网站服务器、游戏服务器等)。

    2. 保障数据安全可靠(如用户名密码、游戏数据、博客文章、交易数据等)。

    3. 随时解决报警故障。

    4. 业务程序更新。

    5. 编写一些脚本,监控或完成其他可自动完成功能。

    6. 运维架构完善,部署一些用起来更方便更可靠或性能更好的开源工具以及制定运维流程规范。

    7. 打杂,如调交换机,装系统,部署新环境等。


    运维和开发是两个截然不同的方向。如果做运维的话,有开发的底子那么转岗位也不是不可以。


    运维负责具体的产品线运维工作,同时也需要掌握开发的能力,深入业务,最了解业务的痛点和问题,同时研发/优化针对产品业务需求的平台、工具和手段,能够接触到各类优秀的系统架构并有能力做出优劣对比,同时对业务的掌控决定了相应运维工程师在业务发展中的作用。


    二、拓展资料:


    运维,这里指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。


    一个互联网产品的生成一般经历的过程是:产品经理、需求分析、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。


    运维是一个非常广泛的定义,在不同的公司不同的阶段有着不同的职责与定位,如果以operation字面的含义去理解,认为就是敲几行操作命令的工作,那就错了。 对于初创公司,运维工程师的工作可能需要从申请域名开始,购买/租用服务器,上架,调整网络设备的设置,部署操作系统和运行环境,部署代码,设计和部署监控,防止漏洞和攻击等等。

    展开全文
  • 必看,运维还要懂这么多?

    千次阅读 2018-05-28 14:30:25
    听说你精通运维?Apache、Nginx、tomcat、vmstat、iftop、awk、sed、sar、iostat、LVS、HA-proxy、MHA、Zookeeper、Zabbix、Nagios、Cacti、Prometheus、shell、python、go、rundeck、ansible、saltstack、puppet、...

    听说你精通运维?Apache、Nginx、tomcat、vmstat、iftop、awk、sed、sar、iostat、LVS、HA-proxy、MHA、Zookeeper、Zabbix、Nagios、Cacti、Prometheus、shell、python、go、rundeck、ansible、saltstack、puppet、chef、cobbler、fabric、docker、Moby, kubernetes 了解一下?

    我们这篇文章不是说运维除了懂Linux,还要懂Windows,而是涉及运维的其他方方面面。

    环境部署

    一开始这个世界是开发的,然后才是运维的。

    开发实现产品逻辑,将产品开发完成后,然后提交运维进行部署。此时允许就需要准备好部署环境,如部署在Linux服务器上,安装相应的软件,如Apache、Nginx、tomcat、JDK、PHP、MySQL等等。你不能只装了软件吧,还需要看看具体是哪个版本,java 7 和java 8 的差别还是有点的,php5和php7也有些语法不兼容。把软件都安装好了,就可以上线了?还是不行。还需要测试吧,那就还需要部署一套测试环境。有些时候,开发环境也是需要运维来部署的。

    排错和调优

    事情从来都没有一帆风顺的。

    上线没多久,服务就502了,还不被老板骂死。尽管你有一肚子的委屈,我只是个运维,代码不是我写的,为什么要我来背这锅?!委屈归委屈,服务访问不了了,就是运维的事。尽快定位问题,解决问题才是王道。怎么来定位问题呢?最简单直接的办法就是看日志,看系统日志,看软件相关的日志,结合故障现象和经验,快速的进行定位和恢复。然后就是总结经验,吸取教训,写事故报告。OK,现在你知道,需要对系统环境需要进行一定的调优操作,不再做背锅侠。

    相关技术: top, vmstat, iftop, awk, sed, sar, iostat, strace, ...

    备份

    做最好的计划,做最坏的打算。

    前不久的gitlab删库事件的教训犹在眼前,丢失了几小时的数据,虽然大部分的备份策略都失效了,但还是挽救了几小时前的一个备份,才没有造成更大的数据丢失和公司损失。我们需要对设备进行备份冗余,需要对数据库进行备份及离线备份,需要对网站静态进行备份冗余,需要对机房进行备用,能做到双活,那是更好的啦。

    相关技术: rsync, crontab, lvm快照, mysqldump, extrabackup, 完全备份, 差异备份, 增量备份, 离线异地备份, ...

    高可用和集群

    没有永垂不朽,我们不能保证硬件24小时在线,但需要保障服务24小时在线。

    出现故障后,如果做好高可用和冗余,故障自动切换,移除故障节点,那样也就保障了服务的实时在线。在老板和用户不知情的情况下,悄么的把故障处理好的,KPI算是保住了,奖金也许就会有的吧。

    相关技术: F5, Nginx, LVS, HA-proxy, MHA, Zookeeper, 各种其他分布式集群方案, ...

    监控告警

    运维工程师的第一次解放运动。

    时刻担心网站挂掉,一年365天、每周7天、每天24小时,时刻保持精神高度紧张,就算你是神仙都会撑不住的。我们需要一个机器来监督其他的机器工作,我们需要解放我们自己。当有故障发生的时候,通过短信、微信、钉钉、邮件等等通知对应的运维工程师来处理,甚至是自动切换或摘除故障节点,然后我们离线对故障节点进行问题排查。

    相关技术:Zabbix, Nagios, Cacti, Prometheus, open-falcon, Ganglia, sar, ...

    安全和审计

    狂奔在互联网的康庄大道上,不过有些人是在裸奔。

    不安全的网络环境和服务器配置,无异于在网络世界裸奔,任何人都可以窥探你的隐私。你的应用是否做了SQL防注入?你的防火墙是否开启?是否还在用root+密码的方式登录服务器?网站开启了https么?是否对系统操作进行审计?

    相关技术: iptables, firewalld, waf, auditd, 各服务的正确配置, ...

    自动化和DevOps

    运维工程师的第二次解放运动。

    偷懒是社会进步的第一动力。聪明的我们怎么会让自己一直在重复枯燥的事情上浪费时间,装系统、部署环境、发版本、批量操作,把这一切交给程序去实现吧,我们需要的是享受生活。

    相关技术: shell, python, go, rundeck, ansible, saltstack, puppet, chef, cobbler, fabric, ...

    虚拟化和云服务

    正在发生的一场运维革命。

    这场革命的发起人是买书的亚马逊,这家伙希望卖一切可以卖的东西,包括自己闲置的服务器资源。现在国内的阿里云和腾讯云也发展得如日中天,他们几乎提供了运维所需要的一切,甚至可以让一个公司不再需要运维的岗位。你需要服务器,只需要几秒钟,就可以创建一台。你需要数据库集群,只需要鼠标点击几下,就可以开通。

    相关技术:docker, Moby, kubernetes, Xen, CoreOS, Hyper-V, KVM, ...

    来源:http://os.51cto.com/art/201805/573436.htm



    文末福利 || 免费领:运维大神速成秘籍(300页干货,基础、进阶、高端,全方位linux技能整理)




    展开全文
  • 很多运维人对未来充满忧虑,不知道该怎么办。但我到是对运维行业充满信心的,因为我坚信:运维其实是架构师的前身。你别说我吹牛,我们看看运维的发展:最开始的运维算是“工业”时代。丰富的开源社区...


    很多运维人对未来充满忧虑,不知道该怎么办。但我到是对运维行业充满信心的,因为我坚信:运维其实是架构师的前身你别说我吹牛,我们看看运维的发展:

    最开始的运维算是“工业”时代。丰富的开源社区,使得开源软件在企业的应用逐步增加。这就需要大量的手工运维人员,导致运维成为低门槛的岗位。

    互联网的普及让运维迎来了“蒸汽机”时代。大数据、AI 成为业务的核心,要求运维工程师具备更高效和成熟的自动化实现能力。就像汽车淘汰马车一样,大量的运维人在这个阶段被淘汰。

    到了互联网的下半场,运维也进入了“航天”时代。降低成本、提高效率、精耕细作是企业对运维的基本要求,也涌现出了 Docker、Kubernetes、SDN 这些成熟的技术。所以运维人除了掌握运维流程,还需要对开发方面有一些自己的思考。作为工程师除了把太空船发射出去,还要考虑如何实现载人、实现回收、甚至太空站对接的事项。

    所以你可以看到,运维的发展是在不断走向架构师这个方向的,这也是我对运维行业充满信心的原因。但最大的问题在于,你能不能跟得上行业的发展,也就是你能否成为运维行业的高手,这至关重要。 

    我认识一位具有 10 多年经验的运维老兵,叫牧客曾经是阿里巴巴的运维专家,靠着自己对行业和运维的理解,一路从人肉运维、到运维专家,现在成为了一名架构师。他不仅在阿里巴巴这样的巨头担任核心的运维岗位,还在一家大型互联网公司担任过架构师,从零搭建团队和运维架构,对于如何成为运维高手这件事,他有着自己独特的观点。

    ∆ 扫码即可免费试读 / 订阅

    正好他在拉勾网的专栏「运维高手的 36 项修炼」在拉勾网上架了。他发给我看了看内容,觉得让我眼前一亮,非常想推荐给你。

    这个课程会模拟一个运维工程师的全部核心工作,也就是部署、服务运维、割接、故障排除、监控、安全防护、方案设计 这7个模块。

    从较为基础的底层能力讲起,通过 36 讲带你掌握运维高手的运维技巧。最宝贵的是,全部的内容都来源于他这十余年的运维经验和工作技巧。这个专栏,是你修炼成为运维高手的绝佳秘籍。

    牧客是谁?

    牧客,运维领域深耕 10 余年,曾就职于大型互联网公司阿里巴巴、大型国企中体彩等,先后担任运维专家、SRE 负责人、架构师等核心岗位。曾经主导开源国内第一个基于 Ansible2.4 实现的完整运维自动化项目;曾带领 SRE、运维开发、DBA 三个团队出色重构近千级别主机的运维架构。

    ∆ 扫码即可免费试读 / 订阅

    课程目录

    根据运维的核心工作,专栏分成运维、部署、割接、监控、安全、方案、趋势 7 个模块,通过理论结合实战,保证:

    • 知识点全面:7个模块涵盖运维各项知识类型;

    • 学会就能用:36项修炼,也是36个面试和工作常见问题;

    • 实战化思考:10余年运维老兵从人肉运维到架构师的独家实战经验;

    • 进阶式学习:从基础开始,搭建一套运维高手的学习路径;

    所以不论你是想系统化提升运维技能,还是想转型成为运维开发。总之,如果你想成为运维领域的高手,欢迎来和牧客一起修炼成为运维高手。 

    限时优惠①

    原价¥98

    上新限时优惠 ¥68

    (新用户首次订阅立减 ¥20)

    限时优惠②

    点击 阅读原文,加入「运维高手交流群」

    ∆ 扫码即可免费试读 / 订阅

    点击阅读原文,加入「运维高手交流群」。

    展开全文
  • 本人现在一个企业做运维经理,分享给大家自己2年时间从一个初级运维做到运维经理一些个人经验 ,让学习linux同学不在迷茫,走出困惑,找到理想一个高薪工作,改变一生
  • 了解运维工作与分类

    千次阅读 2018-06-30 12:40:27
    运维运维,这里指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。一个互联网产品的生成一般经历的过程是:产品...

    运维

    运维,这里指互联网运维,通常属于技术部门,与研发测试系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。
    一个互联网产品的生成一般经历的过程是:产品经理、需求分析、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。

    运维的职责

    对于初创公司,运维部和系统部一般是合二为一的,相关工作由同一批人负责,界限可能不是很明显。大型公司对运维工作的要求更高,需要有更精细的分工,因此机房/网络/操作系统相关的底层工作分离出来由专人负责,成为系统管理部,而上层和应用产品相关的工作则由运维负责,成为运维部。以下从互联网产品生命周期和运维涉及的技术分别来看分工较细的大型互联网公司中运维工作的职责。[1] 

    运维工程师使用的平台、工具

    运维工程师使用的运维平台和工具包括:
    • Web服务器:apache、tomcat、nginx、lighttpd
    • 监控:nagios、ganglia、cacti、zabbix
    • 自动部署:ansible、sshpt、salt
    • 配置管理:puppet、cfengine
    • 负载均衡:lvs、haproxy、nginx
    • 传输工具:scribe、flume
    • 备份工具:rsync、wget
    • 数据库:mysql、oracle、sqlserver
    • 分布式平台:hdfs、mapreduce、spark、storm、hive
    • 分布式数据库:hbase、cassandra、redis、MongoDB
    • 容器:lxc、docker
    • 虚拟化:openstack、xen、kvm
    • 安全:kerberos、selinux、acl、iptables
    • 问题追查:netstat、top、tcpdump、last
    广义上所有开源的软件都是运维工程师会使用到的平台和工具,同时也包括运维各个技术方向上自行研发的各类平台。

    产品生命周期维度


    运维的职责覆盖了产品从设计到发布、运行维护、变更升级及至下线的生命周期,各个阶段的职责包括:

    产品发布前

    这个阶段运维工程师的职责是参与设计并把有关运维准入,主要包括:
    (1) 产品的业务熟悉;
    (2) 产品架构设计的合理性评估,包括是否存在单点,是否可容错,是否有强耦合等,同时需要提供产品设计的合理性建议以使产品能够满足上线发布并稳定运行的基本要求;
    (3) 资源评估,包括所需的服务器资源、网络资源以及资源的分布等,同时把相关产品对资源预算申请的合理性,控制服务成本;
    (4) 资源就位,将申请的服务器及基础环境/域名准备就位。

    产品发布

    这个阶段运维工程师负责发布的具体工作,将具体的软件和系统/硬件资源整合形成产品并对外提供服务。
    对于已在线服务的更新也属于发布范畴,这个时候的产品发布一般要保障在线发布,在不中断对外服务的情况下完成产品的升级。对于大型复杂的变更也存在中止服务部署完成后再重新提供服务的情况,但这种情况需要运维工程师通过尽可能的技术手段来避免。

    产品运行维护

    这个阶段的主要工作包括:
    (1) 监控:对服务运行的状态进行实时的监控,随时发现服务的运行异常和资源消耗情况;输出重要的日常服务运行报表以评估服务/业务整体运行状况,发现服务隐患;
    (2) 故障处理:对服务出现的任何异常进行及时处理,尽可能避免问题的扩大化甚至中止服务。这之前运维工程师需要针对各类服务异常,如机房/网络故障、程序bug等问题制定处理的预案,问题出现时可以自动或手动执行预案达到止损的目的。除了日常小故障外,运维工程师还需要考虑产品不同程度受损情况下的灾难恢复,包括诸如地震等不可抗力导致大规模机房故障、在线产品被删除等对产品造成致命伤害的情况。
    容量管理:包括服务规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。

    产品性能/成本优化

    产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。而如何用最合理的资源(如机器、带宽等)支持产品提供高可用和高速度的用户体验,这也是运维工程师的重要职责。

    产品下线

    发展良好的互联网产品将始终在线对外提供服务,但互联网产品快速迭代,也存在相当多孵化的产品最后被淘汰的情况,这些产品都需要做下线处理,这个过程运维工程师主要做好资源回收的工作,将机器/网络等资源回收后纳入资源池中供其它服务使用。[2] 

    运维技术方向

    产品的整个生命周期里运维的职责重要而广泛,但运维工程师们的职责不仅限于这部分工作,还需要总结工作中遇到的问题,抽取出相关的技术方向、研发相关的工具和平台以支持/优化业务的发展并提高运维的效率,相关技术工作主要包括:
    • 服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障
    • 服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性
    • 服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作
    • 服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验
    • 服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量
    • 服务任务调度:服务的各种定时/非定时任务的调度触发及状态监控
    • 服务安全保障:包括服务的访问安全、防攻击、权限控制等
    • 数据传输技术:包括p2p等各类传输技术的研发应用,也远距离大数据传输等问题的解决
    • 服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务
    • 服务集群管理:包括服务的服务器管理、大规模集群管理等
    • 服务成本优化:尽可能降低服务运行使用的资源,降低服务运行成本
    • 数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。
    • 平台化的开发:类docker和google borg平台的开发管理,及服务接入技术
    • 分布式存储平台的开发优化:类google gfs等分布式存储平台的研发及服务接入
    等等,凡是关系到服务质量、效率、成本、安全等方面的工作,及涉及到的技术、组件、工具、平台都在运维的技术范畴里。做好每一个技术方向、完成相应的组件、工具、平台研发都能对履行运维职责起到积极的作用,对业务的发展发挥关键影响。[3] 

    运维需要的技能和素质

    运维以技术为基础,通过技术保障产品提供更高质量的服务。运维工作的职责及在业务中的位置决定了运维工程师需要具备更加广博的知识和深入的技术能力:
    • 扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;
    • 通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;
    • 编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;
    • 数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;
    • 丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;
    • 综合利用工具和平台的能力;
    运维工作的复杂性对这个岗位的运维工程师们的软素质也提出了要求:
    • 时间管理能力,特别是碎片化时间的处理能力;
    • 沉稳的心态,面对紧急情况时需要处变不惊;
    • 沟通能力、团队协作,运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;
    • 工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种新的工种,更需创新才能促进发展;心细,运维工程师是最高线上权限者,需要谨慎心细;
    主动性、执行力,能够主动学习国际国内的运维技术,并引入到工作中,提高运维的质量和效率;

    运维工作开展方式

    业务运维工程师的日常工作包括:
    • 监控线上的服务质量
    • 响应异常/处理突发故障
    • 在线发布/升级产品
    • 和相应产品线的研发和测试协调处理产品问题
    • 基于工作中的问题和数据分析进行抽取,将运维经验理念落地沉淀为方法论/工具/系统/平台,并制定相关的改进计划,在各个技术方向上落地实现,最终反馈回运维工作中,提高运维本身的效率和产品的价值

       运维工程师的职业发展

    运维工程师从工作方式上分为几大类:
    • 运维工程师/运维开发工程师:
    负责具体的产品线运维工作,同时也需要掌握开发的能力,深入业务,最了解业务的痛点和问题,同时研发/优化针对产品业务需求的平台、工具和手段,能够接触到各类优秀的系统架构并有能力做出优劣对比,同时对业务的掌控决定了相应运维工程师在业务发展中的作用。长远发展是成为大型系统的架构师。
    • 运维平台研发工程师:
    专门研发运维相关通用平台和技术,需要有一定的产品线运维经验或从产品线中拿到运维需求。对研发能力有较高的要求,对系统的设计有较严格的标准,并且能够理解用户需求,做出适合服务运维和满足运维工程师使用体验的运维产品,长远的发展是成为各个技术纵向领域的技术专家。
    • 数据库研发工程师/数据库工程师:
    数据库方向是运维技术中较为特殊的一个方向,由于业务的重要性通常需要专设岗位,业界在该方向也有深厚的研究和积累。主要方向有数据库内核、云数据库等,长远发展是数据库领域的技术专家,数据库架构师。
    • 运维经理:
    运维同学做事情的过程中通常需要协调多个RD和QA同学,对协调和推进能力要求比较高,对一些技术深度还不错,协调和推进能力比较高的同学非常适合转型管理职位,长远的发展和技术部门的管理职位一样目标是CTO、CEO。
    各个方向上的工程师发展到一定阶段后,没有明确的界限,需要同时具备较强的运维、架构、编程、算法等能力,是一个要求很高要求的职业。

    运维行业前景

    • 从行业角度来看,随着中国互联网的高速发展、网站规模越来越来大、架构越来越复杂,对专职网站运维工程师、网站架构师的要求会越来越急迫,特别是对有经验的优秀运维人才需求量大,而且是越老越值钱。
    • 从个人角度,运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构最了解最熟悉的人、越来越得到重视。
    • 互联网运维是一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,给运维工程师提供了一个很好的个人能力与技术的发展空间。
    • 运维工作的相关经验将会变得非常重要,而且也将成为个人的核心竞争力,优秀的运维工程师具备很好的各层面问题的解决能力及方案提供、全局思考的能力等。
    • 由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入精通、成为这方面的专家。
    • 当前国内外对运维人才的需求非常迫切,运维工程师的薪资也水涨船高,与研发、测试等技术部门持平,甚至超出。

    资深运维工程师眼中的运维

    以下是中国互联网业界部分资深运维工程师对运维的看法(涉及隐私,相关人名采用首字母缩写):
    CXY:
    运维是一个非常广泛的定义,在不同的公司不同的阶段有着不同的职责与定位,如果以operation字面的含义去理解,认为就是敲几行操作命令的工作,那就错了。 对于初创公司,运维工程师的工作可能需要从申请域名开始,购买/租用服务器,上架,调整网络设备的设置,部署操作系统和运行环境,部署代码,设计和部署监控,防止漏洞和攻击等等。对于大型的公司,对于运维工作的要求越来越高,也催生了更细化的运维分工:从大的方向,可以分为网站运维,系统运维,网络运维,数据库运维,IT运维,运维开发,运维安全等方向。
    很多非从业人员对运维的看法一般属于IT运维的一个非常小的职责:装系统^^。 一些研发工程师对运维的看法也只局限运维工作的几个点:部署, 变更, 监控,响应。
    无论做什么运维,最基本的职责都是保证业务能够稳定运行。所以必须成为业务稳定性的owner。有些人通常认为运维工程师像消防员,7*24小时响应异常,救火。但是稳定性的运维工程师和医生的职业更接近。医生也分各种科室,也有急症室,需要先判断病人的问题,对症下药。
    业务有着各种各样的需求,如果运维工程师能够满足业务需求,或者主动挖掘业务的痛点和改进方法,就能为业务实现更多的价值。
    在满足业务需求时,应该分清主次,优先面对业务快速发展非常重要的需求,例如稳定性,部署和变更效率,容量管理。稳定性不用多说,如果用户没法稳定使用你的业务,什么产品特性都没有价值。对于百度这样极速发展的互联网公司,每天都有大量的升级更新需要提供给用户,如何在异地的大集群上最快的满足产品的升级需求,同时让用户对升级过程无感知,这是我们的追求。当用户会用百度来测量网络是否可以上网时,就是对运维质量的褒奖。
    其次,可以横向看看不同业务的需求。如果能够把多个业务的需求抽象出来,把一些有通用价值的工作平台化(例如数据库,cdn,监控,流量接入和调度,大数据的存储和计算),也能在这个方向进行深入的发展。在百度这样的巨大的流量和服务器规模下,你不仅有巨大的空间和挑战,也有着充足的资源和支持,可以开发和应用业界最前沿的技术。
    有一定的积累后,可以进入到宏观和微观的两个层面,从整个公司层面考虑业务的智能部署和调度(涉及网络,硬件,系统,应用开发方式等各个要点),进一步提升效率和节省成本。
    如果能够懂业务,理解业务的模式,紧密结合业务进行优化和创新,也是运维工程师体现价值的另外一种方式。有很多产品上的创新,专利的申请,论文的发表,业务指标的提升,直接或者以合作的方式由运维工程师贡献。
    YBX:
    运维工程师相对研发人员来讲,可以全局观察所维护的计算机系统,特别是高阶运维工程师,不存在模块界限,这种独特的位置带来很多价值:
    • 知道准确的系统瓶颈点,进而知道系统准确的容量;在系统出现瓶颈前,知道如何快速提供容量。
    • 知道系统的风险点,可以协调风险点上下相关关联模块,做出冗余策略;相比集中解决单点模块稳定性,更合理。
    • 长期从事相关工作,积累较多的架构设计经验,可以指导新架构设计和审核。
    • 从公司不同业务角度看,运维可以从中抽象相同的模块,统一管理,形成有效的平台和自动化管理方法
    同样从公司不同业务角度看,可以统一调配资源,进而节省资源。
    KZ:
    • 设计并实现可以提高公司服务可用性,可扩展性,延迟和效率的软件。
    • 处理日常紧急事故,修正,替换问题组件。并设计规避问题方法。
    • 设计和实现新的超大规模分布式系统架构和标准。
    • 参与服务扩容计划和预测服务增长趋势,对软件和系统性能进行调优。
    • 提供在线咨询服务和现场解决问题服务。
    • 构建自动运维平台,解决日常问题。
    • 构建知识库,预测可能的问题。
    XX:
    运维即生产环境以及和生产环境相关的资源、服务的维护的整个过程,包括了相关的技术、流程手段,确保生产环境稳定、高效、低成本的运行。
    运维一方面为对业务功能最终负责,其价值的体现为最大化助力产品价值的发挥。这通常是通过将产品功能的运行表现提升到极致来达成的。例如搜索引擎的运维重点要保障用户在搜索时候的极致体验:稳、快、准、新、全。而一个在线聊天系统的运维应该是确保用户聊天过程的实时与顺畅。另一方面为对在线业务的成本最终负责。其价值的体现为降低服务运行成本
    运维工作的开展方式一般取决于所维护的业务特点需求,形成所需的多个主题方向进行开展。通常的解决方案中包括如下的一些主题方向:事件管理、配置管理、变更管理、容量管理等。
    运维工程师的要求特别严苛,因为运维工程师针对不同的问题,需要不断的补充扩大自己的知识和研究范畴。
    在初级阶段,优秀运维工程师会体现出格外出众的主动性和责任心,面对陌生的业务会主动学习和拓展自己对业务对认识和相应的知识范畴,以能够足够的胜任业务的独立维护。
    在逐步的发展阶段中,注重总结反省的工程师会逐渐成长为高阶运维工程师,通常他们会有比较体系化的服务运维理解。也有一部分工程师由于出色的项目管理规划能力,逐渐成为项目经理
    再进一步的发展,高阶的运维工程师对于产品的理解将非常的透彻,因而在这种情况下,高阶运维工程师甚至可以成为产品的产品经理、产品研发的咨询顾问,在产品功能的设计与开发中起到至关重要的角色。
    SJY:
    一个运维工程师所需的技术体系以其专业方向而异。但基本的计算机系统架构,操作系统,网络技术的掌握是基本要求。例如你可能需要熟练掌握linux操作系统的使用,熟练使用各种脚本工具来处理日常工作任务,精通TCP/IP协议栈以排查一个大规模网络系统中的流量异常问题等。更进一步的你需要形成一套软件可运维性方面的经验积累,以此作为后续工作的指导。
    一个运维工程师在初期阶段目的是掌握维护一套系统所需的所有软硬件知识和经验。进阶阶段是需要能够设计开发一套基础的体系软件,以支撑业务系统的稳定可靠运行,即开发服务于软件的软件,以支持更大规模的业务系统,提高运维生产力。最高阶段是反作用于软件系统的构建和运行阶段,使得系统从诞生阶段起即具有天然的可运维性,以最大化系统的生产力,同时最小化对外部支撑资源的依赖。
    ZM:
    运维工程师首先应该是软件工程师(Software Engineer),只是责任和侧重有所不同。[4] 
    运维工程师不是系统管理员。和系统管理员最大的差别是,运维工程师的工作不仅仅是配置和管理系统,而且可以运用软件开发的方法来增强系统的功能、或者对数据进行分析。
    运维工程师应该是软件工程师、系统工程师等角色的综合体,和一般软件工程师相比、应该具有更加广博的知识背景
    运维的职责在于:
    • 保证服务的稳定运行;
    • 考虑服务的可扩展性;
    • 从系统的稳定性和可运维性的角度,提出开发需求;
    • 定位系统的问题,甚至可以直接修正bug;
    • 对突然出现的问题做到快速响应和处理;
    运维的日常工作:
    • 需要对系统的需求和设计方案进行分析,思考在保证稳定性方面有哪些可以加强的地方,并和系统的研发人员进行有效沟通;
    • 使用工具、或者写程序,对运营数据进行分析;
    • 写程序以建立工具或平台,去加强系统的稳定性;
    运维工程师最重要的是会运用编程和软件的方法来解决问题。发展的道路应该和软件工程师没有很大的区别,差异只是关注点和领域方向的不同


    工作分类运维

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

    一般情况下运维团队的工作分类(见图1-1)和职责如下。

    带你体验正规的运维工作是什么的!带你体验正规的运维工作是什么的!

    图1-1 运维团队的工作分类

    系统运维

    系统运维负责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.数据库高可用和性能优化

    对数据库单点风险和故障设计相应的切换方案,降低故障对数据库服务的影响;不断对数据库整体性能进行优化,包括新存储方案引进、硬件优化、文件系统优化、数据库优化、SQL优化等,在保障成本不增加或者少量增加的情况下,数据库可以支撑更多的业务请求。

    6.自动化系统建设

    设计开发数据库自动化运维系统,包括数据库部署、自动扩容、分库分表、权限管理、备份恢复、SQL审核和上线、故障切换等功能。

    7.运维研发

    运维研发负责通用的运维平台设计和研发工作,如:资产管理、监控系统、运维平台、数据权限管理系统等。提供各种API供运维或研发人员使用,封装更高层的自动化运维系统。详细的工作职责如下所述。

    8.运维平台

    记录和管理服务及其关联关系,协助运维人员自动化、流程化地完成日常运维操作,包括机器管理、重启、改名、初始化、域名管理、流量切换和故障预案实施等。

    9.监控系统

    负责监控系统的设计、开发工作,完成公司服务器和各种网络设备的资源指标、线上业务运行指标的收集、告警、存储、分析、展示和数据挖掘等工作,持续提高告警的及时性、准确性和智能性,促进公司服务器资源的合理化调配。

    10.自动化部署系统

    参与部署自动化系统的开发,负责自动化部署系统所需要的基础数据和信息,负责权限管理、API开发、Web端开发。结合云计算,研发和提供PaaS相关高可用平台,进一步提高服务的部署速度和用户体验,提升资源利用率。

    运维安全

    运维安全负责网络、系统和业务等方面的安全加固工作,进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理。详细的工作职责如下所述。

    1.安全制度建立

    根据公司内部的具体流程,制定切实可行,且行之有效的安全制度。

    2.安全培训

    定期向员工提供具有针对性的安全培训和考核,在全公司内建立安全负责人制度。

    3.风险评估

    通过黑白盒测试和检查机制,定期产生对物理网络、服务器、业务应用、用户数据等方面的总体风险评估结果。

    4.安全建设

    根据风险评估结果,加固最薄弱的环节,包括设计安全防线、部署安全设备、及时更新补丁、防御病毒、源代码自动扫描和业务产品安全咨询等。为了降低可能泄露数据的价值,通过加密、匿名化、混淆数据,乃至定期删除等技术手段和流程来达到目的。

    5.安全合规

    为了满足例如支付牌照等合规性要求,安全团队承担着安全合规的对外接口人工作。

    6.应急响应

    建立安全报警系统,通过安全中心收集第三方发现的安全问题,组织各部门对已经发现的安全问题进行修复、影响面评估、事后安全原因追查。





    转载--https://blog.csdn.net/inter_native/article/details/78502695   、https://blog.csdn.net/bbwangj/article/details/76598756    内容经过本人修改和整合
    展开全文
  • 运维那些事

    千次阅读 2017-01-23 15:35:16
    除了找运维上线,基本运维和我没搭边。当然心中有信念,如果线上出了问题就求助运维。久而久之,感觉运维有点像7*24小时的客服,因为混迹在各个公司技术群里,所以经常听到各种事故在联系运维。 比如: XXX页面不...
  • 点击上方“民工哥技术之路”选择“置顶或星标”每天10点为你分享不一样的干货前言谈起运维工作,估计很多人会下意识的认为就是修电脑的、网管(上不去网,第一个被召唤的那种)。其...
  • 运维基本概述

    2018-11-26 15:11:56
     下面将IT运维管理基础知识必须要学习或能让你运维任务加分的技艺稍做简介。最先我们假定你是一个公司的IT运维经理。须要完成五十台以上的服务器和若干杂七杂八的配备,哪些运维人员应该必备的技术? IT运维管理...
  • 日常运维(一)

    千次阅读 2018-08-25 11:55:30
    日常运维(一) 10.1 使用w查看系统负载10.2 vmstat命令10.3 top命令10.4 sar命令10.5 nload命令10.6 监控io性能10.7 free命令10.8 ps命令10.9 查看网络状态10.10 linux下抓包10.11 Linux网络相关   10.1使用w...
  • 运维是干什么的?

    千次阅读 2018-11-27 17:54:14
    什么是运维? 按照字面意思就是运行维护。 在软件产品的整个生命周期中运维工程师都需要适时地参与并发挥不同的作用,因此运维工程师的工作内容和方向非常多。 产品发布前:负责参与并审核架构设计的合理性和可运维...
  • 运维工程师 主要是做什么的?

    万次阅读 多人点赞 2019-06-05 17:28:25
    在软件开发领域当中,前端、后端开发我们一般比较熟,但运维工程师是做什么的,很多人都不太了解。真的是只是维护工作吗?今天我们就介绍一下 运维工程师 到底是做什么呢 随时解决报警故障、业务程序更新 编写一些...
  • Vulkan教程(官方教程翻译版)

    万次阅读 2018-09-07 17:43:17
    欢迎来到Vulkan示例教程 本教程以章节的方式一步一步指导你创建一个简单的Vulkan程序。 每个教程章节都对应一个示例程序,可以阅读这个示例程序,并可在实际编码中进行测试。 教程目录 ...初始化...
  • 文章目录0.监控体系框架1.监控系统设计1.1 评估系统1.2 监控种类1.3 监控技术方案/软件选取(主观因素)1.4 监控体系的人员安排2.监控系统搭建3.数据采集编写3.1 可选用脚本作为采集途径3.2 数据采集的形式分类3.2.1...
  • windows运维实战视频从零基础讲起,做到全方位技术提高,内容包括Windows Server 2012 R2概述、安装与基本环境设置,本地用户与组账户的管理,建立Active Directory域,NTFS磁盘的安全性与管理,访问网络文件,...
  • Linux运维之道

    万次阅读 2018-09-03 20:28:33
    Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐) 丁明一 编   ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1、《Linux运维之道》从运维工作的...
  • 不懂编程的运维人员到底还能走多远? 首先,可以肯定的说,未来的IT岗位需要的是综合能力强的人员,运维、开发、数据库、网络,技术岗位对上述知识体系都要会一些,才能很好的胜任对应岗位工作。 下面已经不是...
  • IT运维服务分类目录 企业运维,至少包括如下几个大方面: 1,桌面运维(以windows为主,工资偏低,桌面运维经理可以达到8K到10K,很多人在公司里干的就是安装windows系统,windows里的QQ坏了重装下,砸个...
  • 我认识的运维工作

    万次阅读 多人点赞 2020-06-28 14:38:49
    运维这个工作对于非运维岗位的人来讲,一直都是神秘的,大家对于运维的工作内容其实并不了解,或者了解的比较片面。其实算是一种工作类别了,除去互联网软件行业的运维人员不说,一般的机关事业单位也有相应的岗位...
  • Linux运维提升之路

    千次阅读 多人点赞 2018-11-12 17:26:31
    运维的职业现状 运维的工作 运维的晋升空间 运维要掌握的必备技能 初级: 中级: 高级: 资深: 运维的时间管理 首先,在进做IT运维行业前,你一定要做好心理准备,这并不是一个轻松的工作,工作中的事情...
  • 运维运维知识体系(运维体系化成长)

    千次阅读 多人点赞 2018-10-17 20:48:22
    文章目录职能划分应用运维安全运维(安全宝)监控运维系统运维 (阿里云)运维标准化1. 物理设备方面2. 操作系统层面3. 应用服务层面工具化1. shell脚本2. 开源工具web化好处服务化(API)智能化自动化扩容(虚拟机...
1 2 3 4 5 ... 20
收藏数 336,026
精华内容 134,410
关键字:

运维