如何成为一名合格的现代化物联网开发人员

如何成为一名合格的现代化物联网开发人员,第1张

一、什么是大型网站运维

首先明确一下,全文所讲的”运维“是指:大型网站运维,与其它运维的区别还是蛮大的;然后我们再对大型网站与小型网站进行范围定义,此定义主要从运维复杂性角度考虑,如网站规范、知名度、服务器量级、pv量等考虑,其它因素不是重点;因此,我们先定义服务器规模大于1000台,pv每天至少上亿(至少国内排名前10),如sina、、,renrencom等等;其它小型网站可能没有真正意义上的运维工程师,这与网站规范不够和成本因素有关,更多的是集合网络、系统、开发工作于一身的“复合性人才”,就如有些公司把一些合同采购都纳入了运维职责范围,还有如IDC网络规划也纳入运维职责。所以,非常重要一定需要明白:运维对其它关联工种必须非常了解熟悉:网络、系统、系统开发、存储,安全,DB等;我在这里所讲的运维工程师就是指专职运维工程师。

我们再来说说一般产品的“出生”流程:

1、首先公司管理层给出指导思想,PM定位市场需求(或copy成熟应用)进行调研、分析、最终给出详细设计。

2、架构师根据产品设计的需求,如pv大小预估、服务器规模、应用架构等因素完成网络规划,架构设计等(基本上对网络变动不大,除非大项目)

3、开发工程师将设计code实现出来、测试工程师对应用进行测试。

4、好,到运维工程师出马了,首先明确一点不是说前三步就与运维工作无关了,恰恰相反,前三步与运维关系很大:应用的前期架构设计、软/硬件资源评估申请采购、应用设计性能隐患及评估、IDC、服务性能安全调优、服务器系统级优化(与特定应用有关)等都需运维全程参与,并主导整个应用上线项目;运维工程师负责产品服务器上架准备工作,服务器系统安装、网络、IP、通用工具集安装。运维工程师还需要对上线的应用系统架构是否合理、是否具备可扩展性、及安全隐患等因素负责,并负责最后将产品(程序)、网络、系统三者进行拼接并最优化的组合在一起,最终完成产品上线提供用户使用,并周而复使:需求->开发(升级)->测试->上线(性能、安全问题等之前预估外的问题随之慢慢就全出来了)在这里提一点:网站开发模式与传统软件开发完全不一样,网站一天开发上线1~5个升级版本是家常便饭,用户体验为王嘛,如果某个线上问题像M$需要1年解决,用户早跑光了;应用上线后,运维工作才刚开始,具体工作可能包括:升级版本上线工作、服务监控、应用状态统计、日常服务状态巡检、突发故障处理、服务日常变更调整、集群管理、服务性能评估优化、数据库管理优化、随着应用PV增减进行应用架构的伸缩、安全、运维开发工作:

a、尽量将日常机械性手工工作通过工具实现(如服务监控、应用状态统计、服务上线等等),提高效率。

b、解决现实中服务存在的问题,如高可靠性、可扩展性问题等。

c、大规模集群管理工具的开发,如1万台机器如何在1分钟内完成密码修改、或运行指定任务?2000台服务器如何快速安装 *** 作系统?各分布式IDC、存储集群中数PT级的数据如何快速的存储、共享、分析?等一系列挑战都需运维工程师的努力。

在此说明一下其它配合工种情况,在整个项目中,前端应用对于网络/系统工程师来说是黑匣子,同时开发工程师职责只是负责完成应用的功能性开发,并对应用本身性能、安全性等应用本身负责,它不负责或关心网络/系统架构方面事宜,当然软/硬件采购人员等事业部其它同事也不会关心这些问题,各司其职,但项目的核心是运维工程师~!所有其它部门的桥梁。

上面说了很多,我想大家应该对运维有一些概念了,在此打个比方吧,如果我们是一辆高速行驶在高速公路上的汽车,那运维工程师就是司机兼维修工,这个司机不简单,有时需要在高速行驶过程中换轮胎、并根据道路情况换档位、当汽车速度越来越快,汽车本身不能满足高速度时对汽车性能调优或零件升级、高速行进中解决汽车故障及性能问题、时刻关注前方安全问题,并先知先觉的采取规避手段。这就是运维工作~!

最后说一下运维工程师的职责:”确保线上稳定“,看似简单,但实属不容易,运维工程师必须在诸多不利因素中进行权衡:新产品模式对现有架构及技术的冲击、产品高频度的升级带来的线上BUG隐患、运维自动化管理承度不高导致的人为失误、IT行业追求的高效率导致流程执行上的缺失、用户增涨带来的性能及架构上的压力、IT行业宽松的技术管理文化、创新风险、互联网安全性问题等因素,都会是网站稳定的大敌,运维工程师必须把控好这最后一关,需具体高度的责任感、原则性及协调能力,如果能做到各因素的最佳平衡,那就是一名优秀的运维工程师了。

另外在此聊点题外话,我在这里看到有很多人要sina、、,51com等聊自已的运维方面的经验,其实这对于它们有点免为其难:

a、各公司自已网络架构、规模、或多或少还算是公司的核心秘密,要保密,另外,对于大家所熟知的通用软件、架构,由于很多公司会根据自已实际业务需要,同时因为原版性能、安全性、已知bug、功能等原因,进行过二次开发(如apache,php,mysql), *** 作系统内核也会根据不同业务类型进行定制的,如某些应用属于运算型、某些是高IO型、或大存储大内存型。根据这些特点进行内核优化定制,如sina就在memcache上进行过二次开发,搞出了一个MemcacheDB,具体做得如何我们不谈,但开源了,是值得称赞的,国内公司对于开源基本上是索取,没有贡献;另外,服务器也不是大家所熟知的型号,根据业务特点,大部份都是找DELL/HP/ibm进行过定制;另外,在分布式储存方面都有自已解决方案,要不就是使用现成开源hadoop等解决方案,或自已开发。但90%都是借鉴googleGFS的思想:分布式存储、计算、大表。

c、如上面所讲,目前大型网站运维还处于幼年时期理念和经验都比较零散,没有成熟的知识体系,可能具体什么是运维,大家都要先思索一番,或压根没想过,真正讨论也只是运维工作的冰山一角,局限于具体技术细节,或某某著名网站大的框架,真正运维体系化东西没有,这也许是目前网上运维相关资料比较少的原故吧。或者也是国内运维人员比较难招,比较牛的运维工程师比较少见的原因之一吧。

二、运维工作师需要什么样的技能及素质

做为一名运维工程师需要什么样的技能及素质呢,首先说说技能吧,如大家上面所看到,运维是一个集多IT工种技能与一身的岗位,对系统->网络->存储->协议->需求->开发->测试->安全等各环节都需要了解一些,但对于某些环节需熟悉甚至精通,如系统(基本 *** 作系统的熟悉使用,nix,windows)、协议、系统开发(日常很重要的工作是自动运维化相关开发、大规模集群工具开发、管理)、通用应用(如lvs、ha、webserver、db、中间件、存储等)、网络,IDC拓朴架构;

技能方面总结以下几点:

1、开发能力,这点非常重要,因为运维工具都需要自已开发,开发语言:c/c++(必备其中之一)、perl、python、php(其中之一)、shell(awk,sed,expect等),需要有过实际开发经验,否则工作会非常痛苦。

2、通用应用方面需要了解: *** 作系统(目前国内主要是linux、bsd)、webserver相关(nginx,apahe,php,lig>

3、系统、网络、安全,存储,CDN,DB等需要相当了解,知道其相关原理。

个人素质方面:

1、沟通能力、团队协作:运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;这应该是现代企业的基本素质要求了,不多说。

2、工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种新的工种,更需创新才能促进发展;心细,运维工程师是网站admin,最高线上权限者,一不小心就会遗憾终生或打入十八层地狱。

3、主动性、执行力、精力旺盛、抗压能力强:由于IT行业的特性,变化快;往往计划赶不上变化,运维工作就更突出了,比如国内各大公司服务器往往是全国各地,哪里便宜性价比高,就那往搬,进行大规模服务迁移(牵扯的服务器成百上千台),这是一个非常头痛的问题;往往时间非常紧迫,如限1周内完成,这种情况下,运维工程师的主动性及执行力就有很高的要求了:计划、方案、服务无缝迁移、机器搬迁上架、环境准备、安全评估、性能评估、基建、各关联部门扯皮,7X24小紧急事故响应等。

4、其它就是一些基本素质了:头脑要灵光、逻辑思维能力强、为人谦虚稳重、亲和力、乐于助人、有大局观。

5、最后一点,做网站运维需要有探索创新精神,通过创新型思维解决现实中的问题,因为这是一个处于幼年的职业(国外也一样,但比国内起步早点),没有成熟体系或方法论可以借鉴,只能靠大家自已摸索努力。

三、怎样才算是一个合格的运维工程师

1、保证服务达到要求的线上标准,如999%;保证线上稳定,这是运维工程师的基本责职所在。

2、不断的提升应用的可靠性与健壮性、性能优化、安全提升;这方面非常考验主动性、和创新思维。

3、网站各层面监控、统计的覆盖度,软件、硬件、运行状态,能监控的都需要监控统计,避免监控死角、并能实时了解应用的运转情况。

4、通过创新思维解决运维效率问题;目前各公司大部份运维主要工作还是依赖人工 *** 作干预,需要尽可能的解放双手。

5、运维知识的积累与沉淀、文档的完备性,运维是一个经验性非常强的岗位,好的经验与陷阱都需积累下来,避免重复性范错。

6、计划性和执行力;工作有计划,计划后想法设法达到目标,不找借口。

以上只是技术上的一些层面,当然个人意识也是很重要的。

四、运维职业的迷惘、现状与发展前景

运维岗位不像其它岗位,如研发工程师、测试工程师等,有非常明确的职责定位及职业规划,比较有职业认同感与成就感;而运维工作可能给人的感觉是哪方面都了解一些,但又都比上专职工程师更精通、感觉平时被关注度比较低(除非线上出现故障),慢慢的大家就会迷惘,对职业发展产生困惑,为什么会有这种现象呢?除了职业本身特点外,主要还是因为对运维了解不深入、做得不深入导致;其实这个问题其它岗位也会出现,但我发现运维更典型,更容易出现这个问题;

针对这个问题我谈一下网站运维的现状及发展前景(也在思考中,可能不太深入全面,也请大家斧正补充)

运维现状:

2、技术层次比较低;主要处于技术探索、积累阶段,没有型成体系化的理念、技术。

3、体力劳动偏大;这个问题主要与第二点有关系,很多事情还是依靠人力进行,没有完成好的提练,对于大规模集群没有成熟的自动化管理方法,在此说明一下,大规模集群与运维工作是息息相关的如果只是百十来台机器,那就没有运维太大的生存空间了。

4、优秀运维人才的极度缺乏;目前各大公司基本上都靠自已培养,这个现状导致行业内运维人才的流动性非常低,非常多好的技术都局限在各大公司内部,如google50万台机器科学的管理,或者国内互联公司top10的一些运维经验,这些经验是非常有价值的东西并决定了一个公司的核心竞争力;这些问题进而导致业内先进运维技术的流通、贯通、与借签,并最终将限制了运维发展。

5、很多优秀的运维经验都掌握在大公司手中;这不在于公司的技术实力,而在于大公司的技术规模、海量PV、硬件规模足够大,如可怕的流量、51com海量数据~~~~这些因素决定了他们遇到的问题都是其它中/小公司还没有遇到的,或即将遇到。但大公司可能已有很好的解决方案或系统。

发展前景:

1、从行业角度来看,随着中国互联网的高速发展(目前中国网民已跃升为全球第一)、网站规模越来越来大、架构越来越复杂;对专职网站运维工程师、网站架构师的要求会越来越急迫,特别是对有经验的优秀运维人才需求量大,而且是越老越值钱;目前国内基本上都是选择毕业生培养(限于大公司),培养成本高,而且没有经验人才加入会导致公司技术更新缓慢、影响公司的技术发展;当然,毕业生也有好处:白纸一张,可塑性强,比较认同并容易融入企业文化。

2、从个人角度,运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构最了解最熟悉的人、越来越得到重视。

3、网站运维将成为一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,给大家提供一个很好的个人能力与技术广度的发展空间。

4、运维工作的相关经验将会变得非常重要,而且也将成为个人的核心竞争力,具备很好的各层面问题的解决能力及方案提供、全局思考能力等。

5、特长发控和兴趣的培养;由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入精通、成为这方面的专家。

6、如果真要以后不想做运维了,转到其它岗位也比较容易,不会有太大的局限性。当然了,你得真正用心去做。

7、技术发展方向、网站/系统架构师。

计算机/通信类学科是物联网领域中的关键学科,也是发展最为迅速、技术含量最高和社会最热门的专业之一。技术应用涉及物联网的各个领域,主要从事物联网通信系统与网络的理论、技术及应用的研究。在这次企业提供的31个职位中,计算机/通信类职位共有18个,占总职位位数的581%,人才需求数更是占总需求数的673%,其中主要分为计算机软件、计算机硬件、网络及通信类四大职位需求。
网络类职位的网页设计师、PHP网络工程师、协议研发工程师也是招聘的热点,其主要职责为负责分站架构、网页设计及数据库结构设计;大型网络应用程序开发,交换机、防火墙的网络设备的设置与管理;计算机网络协议的研发,GSM/CDMA无线协议的开发等。通信类职位则以应用类人才的需求为主,包括通信工程师、传感器系统工程师、高级产品经理,职位要求为有Zigbee或者CDMA/GPRS/TD-SCDMA等开发经验;产品规划和运作的决策、组织和预见能力;有丰富传感器系统设计经验等。
应用物理的测控技术、光学精密测量、遥感遥测、纳米技术及光学工程,应用数学的计算数学、组合数学等专业在物联网中的计算机科学、图像处理、图像与模式识别、可视化、系统优化与布局优化、模糊优化等领域中都有着重要的应用。

物联网(英文:Internet of Things,缩写:IoT)起源于传媒领域,是信息科技产业的第三次革命。物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。
在物联网应用中有两项关键技术,分别是传感器技术和嵌入式技术。
目前,教育部审批设置的高等学校战略性新兴产业本科专业中有"物联网工程"、"传感网技术"和"智能电网信息工程"三个与物联网技术相关的专业。此三个专业从2011年才开始首次招生,首届毕业生于2015年毕业,但整体人数较少,所以,无法从往年的就业率来判断未来的就业情况,但可从行业的整体发展趋势和人才市场的需求等方面了解该专业未来的就业形势。
作为国家倡导的新兴战略性产业,物联网备受各界重视,并成为就业前景广阔的热门领域,使得物联网成为各家高校争相申请的一个新专业,主要就业于与物联网相关的企业、行业,从事物联网的通信架构、网络协议和标准、无线传感器、信息安全等的设计、开发、管理与维护,也可在高校或科研机构从事科研和教学工作。
中科院院士、华东师大软件学院院长何积丰表示,未来的物联网技术要得到发展,需要在信息收集、改进、芯片推广、程序算法设计等方面有所突破,而做到这些的关键是如何培养人才。柏斯维也指出,从整体来看,物联网行业是非常需要人才。

本人从事物联网专业多年,分享下自己的认识,希望能给你一些帮助。
物联网其实是互联网的一个延伸,互联网的终端是计算机(PC、服务器),我们运行的所有程序,无非都是计算机和网络中的数据处理和数据传输,除了计算机外,没有涉及任何其他的终端(硬件)。
物联网的本质还是互联网,只不过终端不再是计算机(PC、服务器),而是嵌入式计算机系统及其配套的传感器。这是计算机科技发展的必然结果,为人类服务的计算机呈现出各种形态,如穿戴设备、环境监控设备、虚拟现实设备等等。只要有硬件或产品连上网,发生数据交互,就叫物联网。
不过物联网的概念目前被炒到过热。鄙人大概十年前开始学习嵌入式,那个时候还没物联网、智能硬件这么高大上的字眼。相信很多前辈那时跟我一样,学的是单片机编程,大家都用“单片机”来概括这个行业。大概2012年左右,很多热钱从房市涌出,投入资本市场。正是这个时候,一大波高大上词汇来袭。服务器技术叫“云”,单片机叫“智能硬件”,网络单片机应用叫“物联网”,车载单片机应用叫“车联网”
不过受限于技术上的瓶颈,物联网的发展,其实无法像当初互联网那样爆发。或者换通俗一点的说法,大家有没有发现很多物联网的应用,其实是锦上添花的东西,需求性并没有那么强,这也就是为什么很多智能硬件卖得并不是很好的根本原因;正是因为需求性原因,所以商业上也不会出现滴滴打车那样的持续性投入,又一定钳制了技术的进一步发展。
到今年,这一波的投资热潮冷却了很多,但是在这波浪潮里,我们的社会还是发生了很多变化。首先是关注物联网的人越来越多,从业者也越来越多。而且很多大学也开设了相关课程,政府也出台了行业鼓励政策。前面我们说过物联网的概念被炒得有点过热,所以在物联网的大群体里,有两类人最为迷茫。其一就是专注物联网的创业者,其二就是物联网专业的学生。鄙人也曾经属于第一类人。
物联网的技术前景是广阔的,近些年上市的一些空气净化器产品,穿戴设备,家庭环境监控设备,在过去是不曾有的,在目前的消费背景下,正服务着大众。未来还会有更多的新式设备出现,这些正是物联网技术发展的必然结果,所以投身于物联网的技术研发,是很有前景的一件事。
然而物联网的商业前景却是复杂的,特别是对于创业者而言,这不是一个好消息。既然创业,目的肯定是赚钱,然而放眼人类社会,最赚钱的事情,其实归类起来就那么几样。首先是资源、再就是获取资源的工具,以及信息。每个企业,想要活得好,目标只有一个,就是垄断。然而社会上的大部分资源,都是垄断在大企业手里,小企业参与的,往往是跟民生有关的门槛低的行业,竞争激烈,赚钱辛苦。回到计算机行业,虽然计算机行业开放程度很高,然而垄断的存在并不亚于其他行业。英特尔、ARM等公司,基本垄断了处理器行业。微软、Google(Android)、苹果垄断了 *** 作系统。物联网是新兴市场,虽然目前容量不大,但各家各户都盯着,对于创业者而言,无法创造垄断,很难存活。创业者大部分都是小公司,你无论多么牛逼的技术,一旦有市场,大公司都可以迅速投入数倍于你的资金,在非常短的时间内模仿你,超过你,压垮你。你是小公司,宣传推广,也不可能投入像大公司那样的资金及影响力,所以产品再好,也不一定卖得好,这是每个技术型创业者,不得不面对的事实。
正是因为上述压力,很多创业者非常迷茫。本人过去四年间一直从事物联网行业,因此结识了很多同行,其中大部分都是创业者。这些创业者非常勤奋,对自己的想法充满热情,也往往敢于坚持。然而这些并没有什么用,大部分创业者,都没有走到今天,因为投资人的钱总是会烧完的。
我觉得想走向成功,物联网行业的创业者应该处理好两个问题。首先,应该认识到,计算机行业想突破垄断,对于大企业而言,是技术积累。然而对于个人或小团队而言,唯一的方法是缩小用户群体。就是我们应该专注于一个领域一项技术去解决一个问题。如果你说你的客户是大众每一个人,那你的东西基本一个都卖不出去。但是如果你的客户是“捷达轿车车主”+“装过电子导航系统”,那你的东西会比较好卖。缩小用户群体的好处,是大企业不会来跟你抢饭吃,而你又非常容易精准的找到你的客户并说服他们买你的东西。其次,个人或小团队,不应该有任何一刻在亏本,否则你终会难以坚持。最好的状态,应该是大家都有正职工作(收入),但是比较闲,一起来维护一款小产品,这样的情形,往往容易成功(最后团队或项目被大公司收购,实现财务自由,或职位上升)。

(1)面向物联网行业,从事物联网的通信架构、网络协议、信息安全等的设计、开发、管理与维护。
(2)主要面向岗位包括:物联网系统设计架构师、物联网系统管理员、网络应用系统管理员、物联网应用系统开发工程师等核心职业岗位以及物联网设备技术支持与营销等相关职业岗位。目前通信网络发展中就业前景看好。

物联网可以做什么工作

如果你是物联网工程相关专业的,那么首先恭喜你,你的行业现在在全世界都是很热门的,它几乎涵盖的所有的行业,并且找工作的方向也有很多,简而言之就是前途一片光明。

在这里我对物联网工程专业的同学们将来工作涉及的行业和工作的方向两个方面给大家说明一下,也是为了方便大家选择更加擅长的方向。

首先来说物联网到底能做什么,简单点说,物联网就是利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式连在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。

物联网是互联网的延伸,它包括互联网及互联网上所有的资源,兼容互联网所有的应用,但物联网中所有的元素(所有的设备、资源及通信等)都是个性化和私有化。

所以可以这么说,只要是跟智能挂钩、互联网挂钩的产物都跟物联网有关系。

这张图给大家给大家列举了物联网涉及的行业和具体可以做的事情,相信大家也看到了,几乎涉及各行各业,这也是物联网行业的优势。

拿个最简单的例子,最近一直很热门的智能家居,智能医疗,智能电网,智能物流,智能工业和云计算等等,学这个专业都有机会接触到这样的工作内容。现在大家应该都能发现“智能”完全就是发展的一个大趋向,如果从事与之相关的工作,是很吃香的。

接下来再考虑工作的方向,物联网相关的行业主要有两大工作方向,软件方向和硬件方向。

软件方向一般主要就是跟前端挂钩,比如写应用程序app、网页、微信小程序等等,所涉及的语言也有很多,可以使用C语言、C++语言、JAVA、HTML5、Python等等,相关工程师称之为C语言工程师、C++工程师、java工程师等等,然后更加具体的行业,比如跟硬件挂钩会涉及使用linux *** 作系统,所以有linux工程师,如果涉及网络,就有网络工程师、网络安全工程师,专门负责前端开发,称之为前端工程师,这些都是跟软件层次也就是应用层相关的工作。

接下来再给大家介绍一下硬件相关的工作,硬件平台一般分为裸板开发和系统开发,如果是裸板开发,意味着就是不使用 *** 作系统,比如纯硬件工程师,需要画电路图、画板子等等,比如常用的 *** 作STM32开发板,这样的工作行业就是硬件工程师,还有跟系统打交道的,最牛掰的当然就是驱动工程师,一旦涉及系统,就得需要使用驱动来控制外设,所以驱动工程师也是现在很热门的行业,当然有一定的难度,既然跟硬件挂钩,所以有延伸除嵌入式软件工程师,主要是软硬件相结合进行开发。

所以,如果你是物联网工程毕业的同学,通过今天给大家的分享,一定不要迷茫选择什么行业,因为你基本都可以做,所以你的任务就是要把所学内容学明白,只要学明白,不是你找工作,而是工作找你。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/12973991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存