运维工程师需要学习哪些课程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维工程师需要学习哪些课程相关的知识,希望对你有一定的参考价值。

linux最先要学的是Linux基础知识,学完基础知识才算入门,之后还要学习综合架构、Shell编程、数据库、云计算以及网络安全方面的知识,以下是linux基础部分要学习的内容:
1. 计算机硬件、组成原理、操作系统基础、Linux起源、核心介绍及Linux安装实战入门
2. Xshell远程网络连接Linux、基础优化、远程连接网络基础、Xshell连接故障排错、核心基础命令讲解
3. Linux系统核心通配符体系、三剑客(grep,sed,awk)核心正则表达式精讲及企业级案例实战模拟精讲
4. Bash核心符号、快捷键、通配符详解
5. Linux目录、FHS\挂载、文件属性、核心目录精讲
6. Linux文件及目录管理核心知识和命令精讲(第二关)
7. Linux企业级基础优化(工作中可直接使用
8. Linux文件及目录权限精讲及多个企业案例模拟
9. Linux重要核心命令回顾与深入精讲(第三关)
参考技术A

一、Linux 基础部分

1、基础理论知识

2、基础命令(系统命令、目录管理、用户管理、文件权限、磁盘管理、资源查看等等常见操作)

3、文本高效处理(vi、vim、awk、grep、find、sed等)

4、bash shell脚本(可以边工作边学习,使用shell编写简单的代替重复性操作的脚本)

5. 进程调度,内存管理,文件系统,外设管理等,要熟练使用相关工具,如top iotop iftop iostat vmstat ss等,并且最好了解其原理

二、网络管理、进程管理

1、TCP/IP协议、DNS服务、CDN原理、iproute常见的网络客户端工具(ping、wget、ftp)

2、crontab计划任务

3、ps、top、htop、vmstat、lsof等命令

4. tcp,http,https,udp等

5. 最好能做到精通,4层,7层的网络流量分析技能要熟练掌握。

6. 内部路由协议,边际路由,交换原理,域名解析,ipv6相关知识

三. 数据库部分

mysql各个版本之间的关系和特性

MySQL的安装及增删改查

MySQL的存储引擎

MySQL的优化

MySQL日常使用及运维,包含备份及故障排查

四. 常用开源组件

LAMP和LNMP的架构

tomcat的使用及优化

nginx的使用场景及优化

apache的使用场景及优化

其他服务: dhcp,nfs,rsync,dns,等等

一句话概括: mysql,redis,kafka,etcd,zk,influxdb,promethues,zabbix,graphana,ansible…

五. shell脚本

使用shell脚本实现各种服务的自动化部署

使用shell脚本实现监控系统及应用自动化

使用shell脚本实现各类巡检,故障排查自动化

六. 安全

iptables四表(fiter、mangle、nat、raw)五链(prerouting、iput、forward、output、postrouting)、基本匹配

iptable规则保存重载生效

常用加密算法,web安全,网络安全

渗透的常用手段,以及反制手段,sql注入,xss,ddos,cc

跳板机jumpserver

七. 监控和日志收集

日志收集ELK,EFK

zabbix,prometheus

八. 自动化工具

1、常见自动化运维方案:puppet、ansible、salt、fabric

2、ansible安装基础使用

3、持续集成:jekins+gitlab实现ci/cd流水线

4. python 自动化

5. go语言二次开发

九. 容器化和虚拟化技术

docker ,k8s,openstack, kvm,vmware的使用

容器编排的技术

十. devops 编译,加速,测试环境,研发自动化

云计算需要学习哪些课程?

Linux云计算其实就是Linux运维,只不过被机构这样叫,感觉高大上一点。
1. Linux运维岗位分类?
□硬件运维:硬件维护,如服务器、交换机、路由器、存储、负载均衡等设备。
□网络运维:网络设备维护:交换机、路由器以及办公局域网的维护。
□系统运维:基础设施的维护,侧重于系统和应用,也会涉及硬件网络。
□应用运维(SRE):企业业务研发环境、测试环境、线上环境等的维护和故障处理。
□监控运维:整个业务系统所有服务器集群的业务的监控和报警。
□数据库运维: 负责数据存储方案设计、数据库表设计、索引设计和SQL优化
□安全运维:安全扫描、渗透测试,安全工具、安全事件应急处理等。
□运维开发:开发运维工具和运维平台,以及自动化、智能化运维。
运维工程师还包括一些低端的岗位,例如:网络管理员、监控运维、IDC运维,值班运维,这些岗位是没前途的岗位,需要尽快提高改进。
上述分类都可能是Linux云计算就业后的工作岗位,不同的机构侧重点不同,比如老男孩教育Linux云计算课程侧重,应用运维(SRE)、数据库DBA运维、安全运维、运维开发。
1) Linux运维岗位及工作内容
互联网Linux运维工程师是一个融合多学科(网络、系统、开发、数据库、安全、存储等)的综合性技术岗位,甚至还需要沟通、为人处世、培训、销售、管理等非技术能力,这给运维工程师提供了一个广阔的发展空间。
2) Linux运维工程师岗位职责
一般从企业入门到中级Linux运维工程师的工作大致有:挑选IDC机房及带宽、购买物理服务器或云服务、购买及使用CDN服务、搭建部署程序开发及用户的访问系统环境(例如:网站运行环境)、对数据进行备份及恢复、处理网站运行中的各种故障(例如:硬件故障、软件故障、服务故障、数据损坏及丢失等)、对网站的故障进行监控、解决网站运行的潜在安全问题、开发自动化脚本程序提高工作效率、规划网站架构、程序发布流程和规范,制定运维工作制度和规范、配合开发人员部署及调试产品研发需要的测试环境、代码发布等工作需求,公司如果较小可能还会兼职网管、网络工程师、数据库管理员、安全工程师、技术支持等职责。
涉及到的Linux平台上的运维工具有:Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,,K8S,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础等,除此之外还可能涉及到交换机、路由器、存储、安全、开发等知识。
运维工程师还包括一些低端的岗位,例:网络管理员、监控运维、IDC运维,值班运维
职业发展方向:Linux运维工程师、系统架构师、数据库工程师、运维开发工程师、系统网络安全工程师、运维经理、运维总监
3) Linux中级运维工程师应用软件阶段。
Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础
4)Linux运维架构师岗位职责
运维架构师是运维工程师的高级阶段,并没有明确的岗位界限区分,运维架构师一般来说是除了对运维工程师应用的开源工具熟练掌握之外,更多的是用思想来运维了,即DevOps的落地,各种企业运行过程中的解决方案提出和执行,例如:根据公司的现状可以设计各类运维解决方案的能力:
1、自动化代码上线(SVN/GIT+Jenkins+MVN)解决方案;
2、云计算部署架构及Docker微服务架构方案;
3、服务自动化扩容方案(KVM/OpenStack/Docker+Ansible+Zabbix);
4、10万并发的网站架构、秒杀系统的架构及解决发你个案;
5、多IDC机房互联方案、全网数据备份解决方案、账号统一认证方案;
6、数据库、存储及各重要服务节点的集群和高可用方案。
7、各网络服务的极端优化方案、服务解耦/拆分。
8、运维流程、制度、规范等的建设和推行。
9、沟通能力、培训能力、项目管理、业务需求分析及落地执行力等。
这里仅举几个例子,实际工作中会有更多,运维架构师的工作,其实就是解决企业中的用户访问量不断增大带来的痛点,最终达到高效、优质的为客户提供网站及业务服务。
总的来说:Linux运维架构师更多的是根据企业日益增长的访问量需求,利用若干运维工具组合加上经验思想,形成解决业务需求方案的阶段,当然也不排除对运维工具进行二次开发以及可视化展示运维数据的阶段(开发软件平台),这个阶段涉及的工具会非常多,几乎市面好用的开源工具都在备选之列,在一线城市互联网公司的薪资范围15000-50000/月。
职业方向:高级数据库工程师、运维开发工程师、运维经理、运维总监、技术总监
运维架构师:将多个工具组合,加上思想经验,形成方案,用思想和经验赚钱的阶段。
技术的提升仅是量的积累,思想的提升才是质的飞跃!——老男孩
5)数据库运维工程师
众所周知,数据几乎是所有企业的生命线,所以数据库工程师的地位和薪水一般会比普通运维工程师高一些,主要工作内容就是保证数据库数据的安全以及高效地为用户提供各种服务。工作内容主要有:数据库环境搭建、数据库优化、数据库
参考技术A

云计算学习课程大纲

1.Linux云计算网络管理实战

2.Linux系统管理及服务配置实战

3.Linux Shell自动化运维编程实战

4.开源数据库SQL/NOSQL运维实战

5.大型网站高并发架构及自动化运维项目

6.网站安全渗透测试及性能调优项目实战

7.公有云运维技术项目实战

8.企业私有云架构及运维实战

学云计算可从事的职业

1、云系统管理员:配置和维护的系统,包括基本的云平台,解决出现的问题,并计划未来云的能力要求。

2、云计算工程师:负责云计算和数据中心项目交付计划和技术方案的制定,负责云基础架构、上云数据迁移、云容灾备份以及云可靠性、安全性等的规划设计及实施工作。

3、云计算开发工程师:负责设计和开发面向云服务的分布式软件。

4、云计算架构师:领导云计算项目的开发和部署,确保系统的可扩展性、可靠性、安全性、可维护性,并在预算内达到业务和IT业绩表现要求。

5、运维工程师:负责云计算项目实施和运维,做好网络存储、数据库、备份、恢复、同步等相关工作。

参考技术B 需要先掌握住C语言、电路原理、模拟电子技术、数字逻辑、数值分析、计算机组成原理、离散数学、数据结构、操作系统、计算机网络、计算机系统结构、数据库系统、高级语言程序设计、多媒体技术、软件工程、软件项目管理、软件测试技术、信息安全技术。 参考技术C 云计算架构学习课程大纲如下: 基础篇 1. Linux 系统管理实战 2. Shell 编程开发实战 3. Docker 容器引擎应用 4. Jenkins 构建CI/CD 5. Ansible 自动化运维 进阶篇 6. LVS 高负载均衡架构 7. MySQL关系型数据库架构 8. Redis 分布式缓存架构 9. MongoDB 分布式文件存储架构 10. Kafka 分布式消息队列架构 高级篇 11. ElasticSearch 大数据存储架构 12. Kubernetes 容器管理架构 13. Istio 微服务治理架构 14. Linux 系统安全架构 15. Golang 云原生态开发 参考技术D 计算机基础课程、编程等方面都需要。

以上是关于运维工程师需要学习哪些课程的主要内容,如果未能解决你的问题,请参考以下文章

Linux运维工程师​‌‌一般要求掌握哪些知识?

linux运维工程师都需要具备哪些技能

运维需要学啥?

运维工程师需要啥技术

运维工程师需要学啥

运维工程师必须掌握的基础技能都有哪些?