运维的技能与素质要求
运维以技术为基础,经过技术保障产品提供更高质量的服务。运维工做的职责及在业务中的位置决定了运维工程师须要具有更加广博的知识和深刻的技术能力:
-
扎实的计算机基础知识,包括计算机系统架构,操做系统,网络技术等;
-
通用应用方面须要了解操做系统、网络、安全,存储,CDN,DB等,知道其相关原理;
-
编程能力,小到运维工具的开发大到大型运维系统/平台的开发都须要有良好的编程能力;
-
数据分析能力:可以整理、分析系统运行的各项数据,从中发现问题及找到解决方向;
-
丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;
-
综合利用工具和平台的能力;
运维工做的复杂性对这个岗位的运维工程师们的软素质也提出了要求:
主动性、执行力,可以主动学习国际国内的运维技术,并引入到工做中,提升运维的质量和效率;
平台工具
-
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
广义上全部开源的软件都是运维工程师会使用到的平台和工具,同时也包括运维各个技术方向上自行研发的各种平台。