运维简介

什么是运维?

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

运维的职责
对于初创公司,运维部和系统部一般是合二为一的,相关工作由同一批人负责,界限可能不是很明显。大型公司对运维工作的要求更高,需要有更精细的分工,因此机房/网络/操作系统相关的底层工作分离出来由专人负责,成为系统管理部,而上层和应用产品相关的工作则由运维负责,成为运维部。以下从互联网产品生命周期和运维涉及的技术分别来看分工较细的大型互联网公司中运维工作的职责。
运维技术方向
产品的整个生命周期里运维的职责重要而广泛,但运维工程师们的职责不仅限于这部分工作,还需要总结工作 中遇到的问题,抽取出相关的技术方向、研发相关的工具和平台以支持/优化业务的发展并提高运维的效率,相关技术工作主要包括:
服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障
服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性
服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作
服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验
服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量
服务任务调度:服务的各种定时/非定时任务的调度触发及状态监控
服务安全保障:包括服务的访问安全、防攻击、权限控制等
数据传输技术:包括p2p等各类传输技术的研发应用,也远距离大数据传输等问题的解决
服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务
服务集群管理:包括服务的服务器管理、大规模集群管理等
服务成本优化:尽可能降低服务运行使用的资源,降低服务运行成本
数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。
平台化的开发:类docker和google borg平台的开发管理,及服务接入技术
分布式存储平台的开发优化:类google gfs等分布式存储平台的研发及服务接入

平台工具
运维工程师使用的运维平台和工具包括:

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
广义上所有开源的软件都是运维工程师会使用到的平台和工具,同时也包括运维各个技术方向上自行研发的各类平台。

折叠

猜你喜欢

转载自blog.csdn.net/weixin_43762057/article/details/84329694