运维
运维
受人之托 忠人之事
唔~,要接触运维了,虽然开发的同时负责运维,但想认真做好每一份工作,所以看了很多资料了解总结试图理解,网上资料眼花缭乱的看完之后其实还是懵懵的,想真正理解这份工作一定会是在工作之后吧,但是将看到的资料整理总结之后还是有必要成文记录一下的。
运维是什么呢?首先,运维本身的工作是做好业务运维架构,保证业务安全和稳定运行,让业务在运维层面不要出现问题。是护士,又是医生,需要照顾好所有的服务器和业务,又需要在发生疑难病症时,能快速定位问题,并且药到病除。研发创造价值,运维避免风险,与开发人员一起配合,尽可能的给用户优质的体验。其实运维的技术含量并不比研发低,要保证系统的稳定性、网络协议、操作系统、开发流程规范等都需要有一定的了解,并且可以开发自己的运维平台来简化工作。运维相关的技术太多了,从网络、主机、存储,再到操作系统、中间件、数据库、虚拟化,再到自动化运维,云平台、docker太多太多,发展到最后无非运维在技术方面无非分两种,一种是一英寸深一英尺宽,另一种则相反。而不同阶段、类型、体量的互联网公司的运维模式是不一样的,需要的工程师技能也是不一样的。
自己能做的就是学习,学习专业技能,学习如何沟通,学习通用技能(如英语能力、文档能力)。提高专业能力,才能实现运维平台,解决遇到的问题。提高沟通能力,并且不要放弃任何学习和练手的机会,如果同一份工作,手动解决和通过编写自动化脚本所需时间相差不多,那一定要选择用脚本来实现,多动脑子少动手。
1、运维的职责
①负责一定产品集的运维,工作内容包括应用系统的发布、部署、变更、监控、事件处理、优化以及系统架构设计调优、提供运维报告等;
②服务器的配置,维护,监控,调优,故障排除等
③ 大用户量下高性能服务器系统部署方案的制定及实施
④保障服务器与数据库安全,检查并消除安全漏洞
⑤数据备份、数据监控、应急响应、故障排除、编写数据分析报告等
⑥系统及常见服务的安装配置,熟悉常见的负载均衡实现方案
⑦熟练排查运维过程中出现的服务故障、系统故障、网络故障
2、运维的要求
①熟悉各种网络协议
②理解各种系统服务
③各种备份和还原的办法
④了解程序架构、协同测试工作
⑤熟悉开发语言,运维工具需要自己开发
⑥英语、善于沟通、有责任心、细心、有组织能力、敏感的风险意识、抗压
3.运维的学习发展历程(https://zhuanlan.zhihu.com/p/20227654 这里面介绍的很多东西都没有接触过,目前根本看不懂 == )
入门技能:
①了解服务器基本型号
②熟练掌握使用系统安装
基本技能:
①熟练掌握服务器配置、添加用户等基本操作
②了解Nginx、SSH等常用服务
③了解数据库基本操作
④熟悉至少一种后端语言(大部分DevOps都是用Python)
进阶技能:
①熟练使用Cobbler等工具实现自动网络安装
②熟练使用Puppet、Saltstack、Ansible等批量管理工具统一服务器基本配置
③掌握Tornado或者Django等Web框架
④了解API规范(RESTful规范)等
⑤熟练使用前端库以及框架,如:jQuery、Highchart、AngularJS、ReactJS等
⑥了解设计理念,尊重设计规范,如Material UI、Bootstrap
⑦定制服务器的规格以及系统标准(系统版本、分区、预装软件等)
高级技能
①熟练掌握系统sysctl中常用参数的定义以及影响
②熟练掌握iptables的配置
③熟练掌握/proc以及/sys目录下各个目录以及文件的含义
④通过经验的积累,逐步培养出遇到bug快速定位问题的能力
4.熟悉Html、Css、Javascript前端语言
最后放两张我在招聘平台上面随机看见的运维的岗位职责的截图(仅作为学习方向的参考资料)
负载均衡:https://www.baidu.com/baidu?wd=%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1&tn=monline_dg&ie=utf-8