一章一节:运维的概念以及运维发展前景

核心提示学习运维之前我们要先了解什么是运维、运维的发展前景、运维的职责是什么、以及我们在公司所在的位置。一、什么是运维:1、介绍 运维(Operation and maintenance)一般是指对大型组织已经建立好的网络软硬件的维护,其中传

学习运维之前我们要先了解什么是运维、运维的发展前景、运维的职责是什么、以及我们在公司所在的位置。什么是运维:介绍运维(Operation and maintenance)一般是指对大型组织已经建立好的网络软硬件的维护,其中传统的运维是指信息技术运维(IT运维)。

IT运维管理指单位 IT 部门采用相关的方法、手段、技术、制度、流程和文档 等,对IT 运行环境(如软硬件环境、网络环境等)、IT 业务系统和 IT 运维人员进行的综合管理。

运维的扩展随着信息化进程的推进,运维管理将覆盖对整个组织运行,进行支持的管理信息系统涵盖的所有内容,除了传统的IT运维,还拓展了业务运维和日常管理运维。其参与的对象也从IT部门和人员,拓展到组织的管理层和各部门,及其相关的业务骨干。运维的最终结果是对软件运行中各种性能的维护。

总结`运维`通俗的理解即为`运行和维护`,来保证系统和网站的正常运行,维护它们的安全。

保证`7×24小时`的正常运行,数据的稳定、不丢失,并持续进行系统及网站的优化。运维工程师从工作方式上分为几大类:运维工程师/运维开发工程师:负责具体的产品线运维工作,同时也需要掌握一定开发的能力,深入业务,最了解业务的痛点和问题,同时研发/优化针对产品业务需求的平台、工具和手段,能够接触到各类优秀的系统架构并有能力做出优劣对比,同时对业务的掌控决定了相应运维工程师在业务发展中的作用。长远发展是成为大型系统的架构师。

运维平台研发工程师:专门研发运维相关通用平台和技术,需要有一定的产品线运维经验或从产品线中拿到运维需求。对研发能力有较高的要求,对系统的设计有较严格的标准,并且能够理解用户需求,做出适合服务运维和满足运维工程师使用体验的运维产品,长远的发展是成为各个技术纵向领域的技术专家。

数据库研发工程师/数据库工程师:数据库方向是运维技术中较为特殊的一个方向,由于业务的重要性通常需要专设岗位,业界在该方向也有深厚的研究和积累。

主要方向有数据库内核、云数据库等,长远发展是数据库领域的技术专家,数据库架构师。k8s运维工程师随着容器化时代的到来,新兴的一个方向。是在普通运维上的通过容器编排来实现各个业务的部署。

这需要对集群规划部署有着深刻的了解,有着严格的标准,你可能需要掌握公司所有使用到的代码,比如代码是如何进行编译的、如何正确发布、如何修改代码配置文件等。长远发展可成为k8s架构师、k8s领域技术专家5,运维经理:运维同学做事情的过程中通常需要协调多个RD和QA同学,对协调和推进能力要求比较高,对一些技术深度还不错,协调和推进能力比较高的同学非常适合转型管理职位,长远的发展和技术部门的管理职位一样目标是CTO、CEO。

各个方向上的工程师发展到一定阶段后,没有明确的界限,需要同时具备较强的运维、架构、编程、算法等能力,是一个要求很高要求的职业。
运维的工作职责保证企业业务、服务稳定365×7×24小时不间断常见问题及运维角度解决思路
用户玩游戏登不上去、浏览网页无法访问怎么办?
运维需要保证服务器和运行的服务全年不宕机,这就需要做好监控和告警!
业务跑在什么上面?
网站服务器一般是apache,nginx,tomcat等。

但是真正跑通流程还需要Mysql数据库来存储用户密码及其它。很多程序都要php的解析,所以LNMP、LAMP环境部署是必须掌握的技能。

业务出了问题怎么及时知道
这就需要监控告警软件来邮件、短信、电话、微信等来通知你,常用的有zabbix、prometheus等。报警发邮件,也得一个邮件程序呀,sendmail或postfix。

在家里收到报警,但服务器是内网IP,怎么也得解决问题吧
服务器集群运行都是在内网环境运行的。在公司搭建openvpn或pptp或openswan,在家里通过VPN拨入内网。或者在公司留台电脑作为外网公司内网的跳板机,24小时解决问题。提升用户体验,高性能
越来越多的用户来访问我们的网站,一台web服务器抗不住了怎么办
那就需要多台web服务器来负担,但多台服务器之间怎么进行负载均衡呢,这就需要用到nginx反向代理或LVS+keepalived或haproxy+heartbeat了。

用户注册发表的文章与评论太多,一台数据库抗不住了怎么办
数据库压力分为读和写,如果写抗不住,需要进行分表分库到多个服务器上。如果是读压力不够了,可以使用mysql-proxy读写分离,来分担读的压力。更简单方便的方法,把数据库里的内容放到内存上,这就用上memcache或redis了。

N多用户上传下载文件,磁盘抗不住了怎么办
把多块磁盘做成raid,或者使用分布式存储文件系统如MFS,GlusterFS来提高磁盘的读写能力。
网站上好多图片,总有用户反应网站加载太慢,怎么办
这时可以把网站上的图片通过squid或varnish缓存到网站前端,尽可能的增加访问速度,当然,最好是购买商业的CDN加速。
各大运营商之间的带宽好像很小,跨运营商访问速度慢怎么解决?
这时可以使用bind自建一个DNS服务器,把网站的DNS记录指向自建DNS服务器上,配置好解析规则,以后联通IP解析到联通网站上,电信IP解析到电信网站上,体验就会好很多啦。

保证数据安全可靠

有时需要手动改数据库内容
所以要会基本的Mysql数据库增删查改命令。
万一数据库服务器硬件坏了怎么办
需要有个备库以备不时之需,所以需要Mysql主从复制,搭建数据库集群。
数据库要还原怎么办
所以需要backup定期全备Mysql数据,以便还原使用。如果要还原到指定时间点,还要学会Mysql增量备份与恢复。

如果是用户上传的图片或文件服务器坏了怎么办
定时备份可能还不够,需要使用sersync来实时备份。以便任一时刻主服务器坏掉,也能保障所有图片有备份可以用来恢复。
小心黑客,要增加服务器安全性
ssh轻易不能让外人访问,那么就设置只允许公司的IP或跳板机IP访问,这些都通过iptables来控制。

搭建堡垒机对账号进行管理和权限分配。保证自动化部署

公司新买100台服务器,公司竟然就1个移动U盘或光驱,一台台装系统得到什么时候
kickstart、cobbler网络远程自动安装系统。
每次装完机要优化很多内容,什么文件描述符、端口、软件安装啊,批量把新代码发布到线上服务器,怎么办
赶紧学会shell,将解放非常多的工作量。一键优化!使用saltstack或puppet或ansible吧,绝对爽歪歪。

系统装完后登陆要输入密码,这么多台啊
使用expect吧,自动读取提示来输入密码,并执行命
集群规模慢慢变大,资源不好分配,虚拟化弊端日益暴露,管理难度大,集群弹性伸缩问题等工作量巨大。
搭建kubernetes集群,既能节省资源,又方便管理。一些自动化问题有良好的解决方案。

公司业务更新快,业务种类多,每天不是在更新就是准备更新的路上。
搭建jenkins,将更新需要的步骤都写到jenkins里面。通过jenkins实现持续集成。

 
友情链接