運維的技能與素質要求
運維以技術爲基礎,經過技術保障產品提供更高質量的服務。運維工做的職責及在業務中的位置決定了運維工程師須要具有更加廣博的知識和深刻的技術能力:
-
紮實的計算機基礎知識,包括計算機系統架構,操做系統,網絡技術等;
-
通用應用方面須要瞭解操做系統、網絡、安全,存儲,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
廣義上全部開源的軟件都是運維工程師會使用到的平臺和工具,同時也包括運維各個技術方向上自行研發的各種平臺。