运维,本质上是对网络、服务器、服务的生命周期各个阶段的运营与维护,在成本、稳定性、效率上达成一致可接受的状态。一个互联网产品的生成一般经历的过程是:需求分析、产品设计、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。一个流行的网络应用,在服务端通常少则需要几十上百的硬件服务器,多则成千上万几十万的硬件服务器,这些服务器的应用程序部署(CICD持续集成持续发布)、日常维护、监控,如果没有专业运维团队和运维系统,那是相当不靠谱的。运维的职责覆盖了产品从设计到发布、运行维护、变更升级及至下线的生命周期,同时需要总结工作中遇到的问题,抽取出相关的技术方向、研发相关的工具和平台以支持/优化业务的发展并提高运维的效率。
初中级运维的日常涉及工作:
评估产品需求及发展需求,设计系统架构。
选择 IDC 公司、云服务商和云产品、CDN 等IT服务。
采购服务器、安装系统、配置服务、服务器 IDC 上架。
安装调试网络、优化系统及服务,部署各种服务并确保安稳运行。
上线代码、配合研发搭建环境、调试、测试代码。
监控硬件、软件及各种业务应用。
配置和收集各种系统日志,根据日志信息和报警信息优化系统和服务。
解决日常问题,如硬件(服务器、交换机、硬件、网络)、软件(网络服务、中间件)、各类业务服务故障。
编写自动化脚本(shell,python),自动化部署服务。
高级运维主要以运维开发工作为主,运维开发就是开发能够提高运维工作效率的软件系统,一个套运维系统也是分前端和后端的。运维服务体系建设离不开运维自动化, 运维自动化离不开运维开发, 很多人都说运维开发是程序员来做, 而不是运维工程师。运维开发通常需要找对运维相关技术理解的程序员或运维工程师来做。高级运维涉及的工作:
监控带宽、流量、并发、业务接口等关键资源及访问信息的变化趋势。
根据相应趋势变化不断演进和优化网站架构。
设计各类解决方案,解决公司业务发展中遇到的技术瓶颈。
编写各种自动化脚本(shell,python),自动化部署优化服务。
开发自动化部署和管理平台(CMDB),实现平台化运维。
制定运维流程、规范、制度,并有序推进。
研究先进运维理念、模式,确保业务持续稳定、有序。
在云计算未商用之前,运维属于传统运维时代,大量的人力投入带动整个业务驱动。云计算商用成熟之后,要求运维人员不仅仅要关注系统层的技术, 还要增加对云产品的了解和对程序代码的调优/持续交付/容器化等基础架构方面的技能提升,同时还需要关注整个业务/应用/服务的生命周期管理。 对传统运维带来了巨大压力,迫使传统运维投入更多精力跟上时代的变化。
IT运维在规模型企业必不可少,在互联网企业更是需要庞大的运维团队确保各个系统7*24小时安稳运行,因此运维人员通常是要值夜班,甚至需要随时随地都能解决相关问题的。
=======================================================
做为一名运维工程师需要什么样的技能及素质呢?运维是一个集多IT工种技能于一身的岗位,对硬件设施->系统->网络 ->存储->协议->需求->开发->测试->安全等各环节都需要了解一些。
硬件设施包括:服务器、PC、各种可接入网络或计算机的外围设备、路由器、交换机、防火墙等,凡是IT相关的设备,都需要了解相关的原理,熟悉相关的应用和故障排查。
对Unix、Linux、Windows等常用操作系统需要精通级的掌握,熟练使用各种命令、Shell,熟练搭建各种运行环境和基础服务。
精通计算机网络、TCP/IP协议,熟练搭建网络服务,熟练配置各种路由器、交换机、防火墙、虚拟网络、软件定义网络等。
对存储技术和原理有深入的理解,熟悉磁盘、磁盘阵列RAID、网络附加存储NAS、直连存储DAS、存储区域网络SAN相关原理的基础上,能够熟练使用并解决相关问题。
熟悉常用数据库MySQL、Oracle、MongoDB、Redis等SQL/NoSQL原理、应用和维护。
具备信息安全、加密解密、黑客攻防相关理论常识和实战技能。
具备电气、电工电子、弱电工程相关的规范和常识,具备这些常识才能确保物理设备、设施的安全可用。
对软件工程,需求->开发->测试->部署等各环节工作有一定了解,能够主动做好相关的配套支持。
对云计算、容器、虚拟化相关技术和原理有相关常识,熟练搭建和应用各种云服务、云产品(AWS、阿里云、Azure等)。
对于高级运维、运维开发,还需要具备开发能力,这点非常重要,因为运维工具都需要自已开发,开发语言:perl、python、php(其中之一)、shell(awk,sed,expect….等),需要有过实际项目开发经验,否则工作会非常痛苦。
运维开发主要使用Python和PHP,其它语言也都可以实现,只是在运维开发方面不是很流行。运维开发用到的数据库除了Redis、MySQL和MongoDB这三种,通常还需要一种时序数据库。 时序数据是基于时间的一系列的数据。在有时间的坐标中将这些数据点连成线,往过去看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警。时序数据库就是存放时序数据的数据库,并且需要支持时序数据的快速写入、持久化、多纬度的聚合查询等基本功能。常见的时序数据库有OpenTSDB、Druid、InfluxDB以及Beringei等。 运维开发除了语言和数据库之外,运维还需要精通各种服务器操作系统如CentOS、Unix、WINDOWS Server等,可以说高级运维、运维开发属于IT全能。
运维工作涉及的面非常广阔,不像开发人员涉及的面那么单一,因此除了技能要求之外,还需要有过硬的个人素质:
沟通能力、团队协作:运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;这对IT运维人员尤为重要,也是能否做好运维工作的关键素质。
工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种复杂的工种,没有成熟体系或方法论可以借鉴,只能靠大家自已摸索努力。;心细,运维工程师拥有最高的系统权限,一不小心就会遗憾终生或打入十八层地狱。
身板儿好、抗压能力强:由于IT行业的特性,变化快、时间紧、任务急;运维工作往往计划赶不上变化,这种情况下,运维工程师的主动性及执行力就有很高的要求:计划、方案、服务无缝迁移、机器搬迁上架、环境准备、安全评估、性能评估、基建、各关联部门扯皮推诿,7X24小紧急事故响应等。
头脑要灵光、逻辑思维能力强、为人谦虚稳重、有亲和力、乐于助人、有大局观。
怎么样?没吓着你吧,运维是一个综合性质的岗位,要求就是这么高。
=======================================================
IT运维对技能和个人素质的要求那么高,那前景如何呢?运维是需求量最大的IT职业,不管是传统企业还是互联网、高科技类企业,都有可能需要运维岗,大型互联网企业的运维团队规模甚至达到成千上万人。运维岗位也最有可能晋升到管理层,因为运维岗位的综合素质相对较好,机会也相对更多。
运维工作,很多人不愿意干,是因为工作比较辛苦,尤其是互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保互联网业务能够 7×24 小时为用户提供高质量的服务。加班、通宵达旦、连续好几天通宵达旦都是经常的事情。正所谓吃得了苦中苦,方为人上人。正因为很多人不愿意吃这份苦,因此,运维职业存在奋斗者逆袭的机会。
初级运维的要求和工作强度都不高,薪酬一般低于开发人员,一线城市的初级运维薪酬在一万元左右。中高级运维人员的薪酬跟中高级开发人员的薪酬相当,通常在两万元以上,但中高级运维人员的职业晋升通道要比开发人员要广阔的多,很多企业的中高层、CTO都是运维岗提拔或转型上去的。
标签:运维,前景