运维工作梳理
一、linux运维的主要工作内容
1、什么是linux运维
-
运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常。
-
在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术。
-
运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等。
运维分类:
1)开发运维:是给应用运维开发运维工具和运维平台的
2)应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查
3)系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等
2、基础运维常见工作内容
-
服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障
-
服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性
-
服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作
-
服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验
-
服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量
-
服务安全保障:包括服务的访问安全、防攻击、权限控制等
-
服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务
-
服务集群管理:包括服务的服务器管理、大规模集群管理等
-
服务成本优化:尽可能降低服务运行使用的资源,降低服务运行成本
-
数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。
-
平台化的开发:类docker等平台的开发管理,及服务接入技术
二、Linux运维工作发展过程
三、Linux运维日常使用软件和技能
1、运维工程师使用的运维平台和工具
-
Web服务器:apache、tomcat、nginx
-
监控:prometheus、zabbix、openfalcon、nagios、cacti
-
自动部署:ansible、saltstack、puttet
-
负载均衡:keepalive、lvs、haproxy、nginx
-
备份工具:rsync、wget
-
问题追查:netstat、top、tcpdump、last
-
容器:docker、k8s、docker-compose、swarm
-
安全:kerberos、selinux、acl、iptables
-
虚拟化:openstack、xen、kvm
2、运维工程师要掌握的技能
-
扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;
-
通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;
-
编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;
-
数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;
-
丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;