丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
最真实的开发者用云体验
让每位学生受益于普惠算力
让创作激发创新
资深技术专家手把手带教
遇见技术追梦人
技术交流,直击现场
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
为开发者定制的Chrome浏览器插件
如果想从事运维工程师的工作,那首先先对运维工程师有一定的认知,其次对一些运维的基础无论怎样都是必须掌握的。本文介绍运维的情况和操作系统的常见知识点。
来先看运维岗位的收入情况,金鱼哥是广州人,在大广州游荡,所以以广州的数据看做一下参考:
什么是运维?
在技术人员(写代码的)之间,一致对运维有一个开玩笑的认知:运维就是修电脑的、装网线的、背锅的岗位。
IT运维管理是指为了保障企业IT系统及网络的可用性、安全性、稳定性,保障业务的连续性,通过专业技术手段,对计算机网络、应用系统、电信网络、软硬件环境及运维服务流程等进行的综合管理。
随着企业数字化转型升级进程加快,企业IT系统架构越来越复杂,软件更新迭代越来越快。企业信息化建设使得大量业务和数据需要依靠信息系统来完成,稳定可用的IT系统是企业业务发展的基础条件,IT运维管理随之成为企业信息化建设的重要环节。
近年来,因为IT系统突然出现故障导致业务瘫痪甚至造成巨额损失的现象频出不穷。而大型数据中心由于对系统、数据的高度依赖,IT风险更大,对IT运维管理的重视也就更高。
运维领域经常看到的技术及概念
1)云计算架构
云计算=公有云(阿里云、百度云、华为云)+私有云(OpenStack)+混合云
云服务器是由云服务厂商提供的性能卓越、稳定可靠、弹性扩展的IaaS(InfrastructureasaService)级别云计算服务。云服务器免去了采购IT硬件的前期准备,让企业像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。
2)DevOps运维开发工程师DevOps(Development和Operations的组合词),它是一组过程、方法与系统的统称,主要用于促进开发和运营保障团队之间的协作与沟通,从而提高应用程序和服务的交付响应速度。大概6:4=6运维:4开发(Python/Go)
DevOps把原本独立的开发和运营工作融合到一起,运营团队时刻了解开发人员的进展,并与他们形成互动,共同监控IT业务进展。在运维方面,DevOps可以打通从需求到结果运行的所有环节,以提高业务价值为目标
3)AIOps2016年,Gartner提出利用AI技术的新一代IT运维,即AIOps(智能运维),可以解决未来企业可能遭遇的因IT故障而导致的业务中断,AIOps是ITOM的升级和进步,它结合了大数据和机器算法、机器学习技术,通过海量信息的搜集和处理,发现、预测、解决故障,进一步推动了IT运维自动化,减少了人力成本。
4)CI/CDCI/CD是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD主要针对在集成新代码时所引发的问题
5)Docker容器化技术Docker是一个开源的应用容器引擎,通常包括客户端、守护进程、镜像、容器,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,再发布出去。类似于一个集装箱,可以把货物规整的摆放起来。
从最早的网管开始,九十年代初期,互联网欠发达的时候,还少有服务器的概念,电脑价格昂贵,大多数人并不具备在家上网的条件,网吧应运而生。
早期计算机没有硬盘=>软驱=>软盘,1万多块钱=8-10万
网吧的电脑、猫等设备需要进行日常维护,于是“网管”岗位应运而生,这就是早期运维的雏形。
①从行业角度来看,随着中国互联网的高速发展(BAT)、网站规模越来越来大、架构越来越复杂,对专职网站运维工程师、网站架构师的要求会越来越急迫,特别是对有经验的优秀运维人才需求量大,而且是越老越值钱。
②从个人角度,运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构最了解最熟悉的人,越来越得到重视。
④由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入精通、成为这方面的专家。
⑤当前国内外对运维人才的需求非常迫切,运维工程师的薪资也水涨船高,与研发、测试等技术部门持平,甚至超出。
铁三角=产品+研发+运维(其实还有测试)
流程走向:产品设计→项目研发→项目测试→项目上线→系统运维
研发=前端(HTML+CSS+JavaScript)+后端(Java/Python/Go)
运维:产品上线、后期的运行与维护工作都属于运维工程师范畴
产品部门(PM、UI、UE,3-5个):设计产品的需求,确定需要做的项目的功能和细节问题
研发部门(5-7个):根据产品部门/测试部门提供的项目模块需求进行编程
测试部门(2个左右即可):对于研发部门提供的代码进行运行测试,检查是否存在bug和一些需要改善的体验
运维部门(3-4个):负责项目环境部署、上线、架构的搭建等等
成熟企业中的系统环境:
开发环境:根据系统要求,设计和搭建系统环境
测试环境:搭建系统环境,实现自动化发布
准生产环境:搭建系统环境,沟通第三方厂商,自动化发布,监控
生产环境:搭建系统环境,沟通第三方厂商,自动化发布,监控,发起持续改进
上线:发布项目的过程,包含准生产上线,生产上线等。内测/公测→开服
在项目的从无到有的过程中,可以将其分为两个阶段:研发/测试阶段、生产运行阶段。
运维工作贯穿了开发,测试,生产的各个阶段,是其中重要的一环。
就是给用户提供服务的机器(电脑)。服务器可以分为四大类:塔式服务器、机式服务器、刀片服务器、柜式服务器。
标准的回答:如果从提供服务的实现角度来考虑的话的确是可以,但是如果要想稳定、高效的提供服务,则在这个角度考虑家用电脑和笔记就无法取代服务器地位。
家用台式机/笔记本从系统角度来看,一般都会使用Windows系统(易用),并不适合作为服务器来使用。
家用台式机/笔记本硬件和专门的服务器相比标准不统一。
高性能特性+标准化统一特性。
形式ipv4(常见)、ipv6(不考虑)。Ipv4形式:x.x.x.x,x有取值范围(第1位x取值1-223,从第二位开始0-255)。由于资源有限为了保证全球这么多台电脑都可以使用,ip可以分为公网/外网ip和私网/内网ip地址。
0.0.0.0,表示任意地方,anywhere…
就是在浏览器地址栏中输入的那一串字母和数字的组合,例如:www.baidu.com,这个就是域名,域名主要是方便用户记忆。
问:www.baidu.com这个域名是几级的域名?二级域名,看域名的级别只要看有几个".",日常所说的注册域名指的是注册顶级域名(一级)】
额外购买:中国万网(已经被阿里云收购),域名属于有限资源,先买先得(按年付费)
www(万维网),全世界都可以互相访问的网。
局域网/内网/私网:在某个单元内部(家庭/教室/公司)能够进行互相访问的网络,红色警戒游戏对战平台。
家用电脑组成:CPU、主板、内存条、显卡、硬盘、电源、风扇、网卡、显示器、机箱、键盘鼠标等等。
CPU是电脑的大脑,如下图所示:
CPU发展史:
32位CPU:最大的内存寻址地址2^32,大约4G的大小。
CPU很傻,只认识0和1
32位的CPU,其支持的内存最大值=2的32次方≈3.80G,大约4G的大小
64位的CPU,其支持的内存最大值=2的64次方
聊聊2的32次方怎么算?
1T=1024GB1GB=1024MB1MB=1024KB1KB=1024B
2^32B=2^32/1024/1024/1024=4GB
CPUi3、i5、i7、i9、志强系列(移动工作站或者企业级服务器),现在买计算机,看CPU还要看几代的。i5,十代U
内存也是电脑必需组件之一。
计算机是一个商铺:CPU相当于人,内存相当于仓库。商品必须上架才能显示。
硬盘的作用:存储数据。
硬盘可以分为机械硬盘、固态硬盘。
机械硬盘与固态硬盘的区别?
①速度:固态硬盘更快,不受转速影响
②安全性:机械硬盘的安全性较高,即使损坏了,也有80%以上的恢复概率
企业级固态硬盘(安全性也有所提高)
扩展:固态硬盘(价格千差万别,因为使用的芯片不一样)
QLC(很差) 一方面是速度不一样,另外一方面安全性和寿命不同 主要的作用: 自身包含了一些集成电路,负责各个不同的功能和数据通信。 主板上有很多空的插槽,插槽的作用在于扩展外部的硬件设备。 第一台计算机是1946年2月14日诞生日,第一台名称ENIAC。体积一间屋子的大小,重量高达28t。 第一代:1946–1958=>12年(电子管) 第二代:1958–1964=>6年(晶体管) 第三代:1964–1970=>6年(集成电路) 第四代:1970–至今(大规模集成电路) CPU、内存、风扇、硬盘、显示器、主板、电源、声卡、网卡、显卡、鼠标、键盘等 计算机资源分为2部分:硬件资源、软件资源 硬件:一般硬件是指计算机的物理组成,由真实(看得见,摸得着)的设备组成的 软件:软件一般是指应用程序,应用程序程序是由开发人员去按照编程语言的特定的规则去 编写的程序。除了上述的应用程序之外,操作系统也属于软件资源的范畴,它属特殊的软件。 问题:为什么在打开一个应用程序之后(吃鸡游戏),当玩家在敲击键盘和移动鼠标的时候里 面人物会有对应的行为表现呢? 答:用户敲击键盘/移动鼠标(硬件操作)→硬件的驱动(软件资源)→操作系统(软件)→硬件支持(cpu)→操作系统(软件)→驱动(显卡驱动)→显示在屏幕上(硬件) 所以由此可知,操作系统是软件资源与硬件资源之间的桥梁。 常见操作系统有:Windows、MacOS、Unix/Linux。类UNIX Windows:其是微软公司研发的收费操作系统(闭源)。 Windows系统体系分为两类:用户操作系统、Server操作系统。 用户操作系统:win95、win98、winNT、winMe、winxp、vista、win7、win8、win10。 MacOS:其是由苹果公司开发的一款收费(变相收费,买电脑送系统)操作系统。该系统从 终端角度来看分为:watchOS、IOS、MacOS。其表现突出的地方:底层优化实现的很好、安全性要更加高点(闭源)。 Linux:Linux是目前全球使用量最多的服务器操作系统(开源)。其体系很强大,其分支有很多(数不胜数),其目前主要的分支有:RedHat(红帽)、CentOS、Debian、乌班图(ubuntu) 等等。其在世界范围最大的使用分支是安卓。 闭源:不开放源代码,用户是没有办法看到软件的底层实现(闭源≠收费)。 开源:表示开放源代码(开源≠免费)。 开源OpenSource软件和源代码提供给所有人,自由分发软件和源代码,free自由,不是免费的意思能够修改和创建衍生作品 软件分类:商业:收费,源码也不公开共享:免费使用,但源码不公开自由:源代码公开 开源协议世界上的开源许可证,大概有上百种 问题:windows既然可以使用傻瓜式的方式进行操作,例如使用ctrl+c表示复制,ctrl+v表示粘贴等,为什么还需要使用/学习Linux系统? ①性能问题,Windows服务器操作系统不如Linux高; ②稳定性问题: 开源:因为开源,人人都可以看到源代码,就可以为其提供自己的补丁,补丁可以提高稳定性和安全性; ③安全性问题: Linux操作系统,相对于Windows操作系统要更加安全; ④远程管理方面: Windows不及Linux操作高效。 ⑤服务器价格昂贵的,需要对资源进行充分利用,充分把计算机资源用到项目上(访问并发、性能),而不是把资源浪费在图形化界面或者方便程度上; (Linux衍生版:Linux厂商基于Linux内核) 分支:Linux分支有很多,现在比较有名的redhat、ubuntu、debian、centos(CommunityEnterpriseOperatingSystem)、suse等等。 redhat红帽(redhat企业版、centos社区版)、ubuntu(乌班图)、debian、suse 中国Linux系统:红旗(Redflag)、麒麟、深度OS(推荐,和Windows基本一致)