学习比较简单,这也是很有学习前途的。Linux在现在市场上是非常火的,有百分之八十五的公司都在使用Linux系统,前景非常不错,而且Linux算是IT行业之中的入门技术,对于零基础小白或者转型者都是非常友好的,学习起来相对于比较简单,薪资待遇非常不错,发展方向也是非常广阔的。Linux因其高效率、易于裁剪、应用广等优势,成为了当今中高端服务器的主要操作系统,并且处于一个不可替代的地位。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。随着Linux在中国市场迅猛发展,国内Linux人才缺口逐渐凸显。Linux人才招聘也成了当前最热门的招聘之
一。首先linux是一个非常非常大的概念。想全部吃透是不可能的。理想的说,搞懂linux,就可以做所有工作。个人更倾向于说想做什么样工作,需要学linux的哪部分。按个人经验介绍下常见的linux有哪些领域,并对应到什么工作。1)linux应用。这部分严格来说不能算是linux,只是跑在linux上的应用,比如web,网络,IT等,职业包括系统研发,后台开发,服务器性能优化,运维等;2)linux定制。这部分涉及linux版本的用户包较多,内核会有一些涉及,主要各种商业linux的订制,服务等。比如redhat之类,不少是外国公司,国内大多招现场支持等。3)linux内核开发。这部分主要是linux内核驱动的开发。几乎全部是编程工作。主要是芯片公司,以及使用芯片的产品开发公司。前者如intel,marvell,后者如中兴华为。4)android衍生品。因为android包括慢慢火爆的tizen都用的linux内核,所以理由同
3。所以手机芯片公司和手机开发公司也是linux开发者的雇主之
一。比如高通,TI等;
一、Linux运维的主要工作内容Linux运维作为众多工作中需求人数最多,薪资待遇最高的岗位,本文重点介绍Linux运维的职业,本文内容由专门研究Linux运维学习和职业发展的机构马哥教育和爱好者们联合撰写。互联网Linux运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够7×24小时为用户提供高质量的服务。运维的职责覆盖了产品从设计到发布、运行维护、变更升级及至下线的生命周期。产品的整个生命周期里运维的职责重要而广泛,但运维工程师们的职责不仅限于这部分工作,还需要总结工作中遇到的问题,抽取出相关的技术方向、研发相关的工具和平台以支持/优化业务的发展并提高运维的效率,相关技术工作主要包括:服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量服务任务调度:服务的各种定时/非定时任务的调度触发及状态监控服务安全保障:包括服务的访问安全、防攻击、权限控制等数据传输技术:包括p2p等各类传输技术的研发应用,也远距离大数据传输等问题的解决服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务服务集群管理:包括服务的服务器管理、大规模集群管理等服务成本优化:尽可能降低服务运行使用的资源,降低服务运行成本数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。平台化的开发:类docker等平台的开发管理,及服务接入技术分布式存储平台的开发优化与接入等等,凡是关系到服务质量、效率、成本、安全等方面的工作,及涉及到的技术、组件、工具、平台都在运维的技术范畴里。做好每一个技术方向、完成相应的组件、工具、平台研发都能对履行运维职责起到积极的作用,对业务的发展发挥关键影响。
二、Linux运维工作分类运维的工作方向比较多,随着业务规模的不断发展,越成熟的互联网公司,运维岗位会划分得越细。当前很多大型的互联网公司,在初创时期只有系统运维,随着模、服务质量的要求,也逐渐进行了工作细分。一般情况下运维团队的工作分类。2.1-应用运维(SRE):应用运维负责线上服务的变更、服务状态监控、服务容灾和数据备份等工作,对服务进行例行排查、故障应急处理等工作,工作职责如下:设计评审、服务管理、资源管理、例行检查、预案管理、数据备份。2.2-系统运维(SYS):负责IDC、网络、CDN和基础服务的建设(LVS、NTP、DNS);负责资产管理,服务器选型、交付和维修,工作职责如下:IDC数据中心建设、网络建设、LVS负载均衡和SNAT建设、CDN规划和建设、服务器选型、交付和维护、内核选型和OS相关维护工作、资产管理、基础服务建设。2.3-数据库运维(DBA):数据库运维负责数据存储方案设计、数据库表设计、索引设计和SQL优化,对数据库进行变更、监控、备份、高可用设计等工作,详细的工作内容如下:设计评审、容量规划、数据备份与灾备、数据库监控、数据库安全、数据库高可用和性能优化、自动化系统建设、运维研发、运维平台、监控系统、自动化部署系统。2.4-运维安全(SEC):运维安全负责网络、系统和业务等方面的安全加固工作,进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理,工作内容如下:安全制度建立、安全培训、风险评估、安全建设、安全合规、应急响应。
三、Linux运维日常使用软件和技能运维工程师使用的运维平台和工具包括:Web服务器:apache、tomcat、nginx、ligstat