订阅移动开发RSS CSDN首页> 移动开发

移动互联网架构师的修炼之道

发表于2011-11-04 13:37| 次阅读| 来源CSDN| 0 条评论| 作者张志平

摘要:【CSDN现场报道】以移动大变局下的抉择为主题,本年度最受瞩目的移动开发者盛会2011中国移动开发者大会今日在北京国家会议中心隆重开幕。此次大会由CSDN和创新工场联合主办,来自移动领域国内外知名的运营商、平台商、互联网企业、手机终端厂商、应用开发者和投资者等汇聚一堂,探讨移动互联网的...

【CSDN现场报道】以“移动大变局下的抉择”为主题,本年度最受瞩目的移动开发者盛会——“2011中国移动开发者大会”今日在北京国家会议中心隆重开幕。此次大会由CSDN和创新工场联合主办,来自移动领域国内外知名的运营商、平台商、互联网企业、手机终端厂商、应用开发者和投资者等汇聚一堂,探讨移动互联网的发展趋势,共论移动应用大变局下的抉择。

移动互联网发展的大时代,技术人员怎样才能站在浪潮之巅,抓住时代的机遇,成就自己的移动架构师职业生涯?在11月4日下午隆重召开的2011中国移动开发者大会上,盛大开放平台副总监郑伟将与您分享未来移动的大趋势,从而引领您成就移动互联网时代的架构师职业生涯。

盛大开放平台副总监 郑伟

大家好,今天我讲的主题是移动互联网战略架构师修炼之道。为什么要讲这个题目呢?在这样的形势下对于从事互联网的基础需求非常大,移动互联网在国内兴起,可以说是从近两三年开始,国内的移动互联网资深技术人员并不多,所以说我今天想讲一讲这个题目,主要想讲一讲作为一个从事移动互联网的技术人员,应该在移动互联网蓬勃发展的大时代下,如何走一条技术路线。

    这组图大家都看过,是摩根士丹利一个分析师做的,技术一般以十年为一个单元,从六十年代大型机开始扩大到七十年代的小型机,八十年代的微机,会兴起新一轮的技术革命,每一轮技术革命会有一批新兴公司兴起。九十年代进入互联网时代,随着国外的雅虎、国内的新浪、搜狐,百度都是在九十年代兴起的。到了二十一世纪的头十年已经到了移动互联网发展的新时代。

    移动互联网最早是2001年提出一个3G的移动互联网,标志着移动互联网的开始。国内大概2003年开始进入了移动互联网时代,但是那时候主要是SP时代,SP在今天来看是传统业务,但是在当时看像如今的移动互联网一样,所以当时会做WEB网站的人像现在会做Android、iPhone一样,都是非常抢手的人。iPhone出现之后,移动互联网进入了真正发展的时刻。

    讲一讲移动互联网发展的大时代,技术人员应该走的路线。技术人员可以走很多路线,技术路线、管理路线、其他的路线,这里以自己亲身的体会,讲一讲身为技术人员,如何在技术路线上走。一般来说分几个层次,初级程序员、高级程序员、架构师、首席架构师。但是不同公司有不同的叫法,像盛大是工程师、研究员、科学家这样的级别,但是其实意思差不多了。主要分为四个层次。一般公司有首席技术官,就是CTO,但没有首席架构师的概念,但是首席架构师在大公司里是非常必要的。在微软里比尔盖茨就是首席架构师的概念。

    为什么分四个层次呢?初级技术员是可以把基本工作完成的层次,比如说能够完成一些基础功能,如果基础功能都完成不了,程序员都算不上,只能回学校再学习了。高级程序员不仅能够完成功能,并且还能很好完成功能,变得有扩展性。架构师已经不局限在某些功能上了,他是在某些框架上有大的构建、在架构上做这方面的事。首席架构师做一些前瞻性的方向,决定整个公司未来几年主导的技术发展方向。大家知道技术和社会发展紧密结合的,技术不能超越社会发展的,所以当一个社会的发生一定变革,技术也会做革新。很多做技术的人会走入一个误区,为了技术而做技术,忽略了社会需求,这是首席架构师需要做的事。为公司未来几年技术方向做一定的判断和布局。

    在移动互联网下面,技术人员应该是怎么样的走法呢?大家知道移动互联网仍然是四个层次,初级程序员、程序员、架构师、首席架构师。但是区别和一般的技术路线是非常不一样的。一般的技术路线是把一个架构师把系统做大做全做稳定。移动互联网的架构师要求做精,把整个系统做得比较精、比较巧,这个大家非常理解,由移动互联网一些特性决定的,中国的移动互联网应该是带宽比较紧张、移动设备计算能力比较弱,再加上现在的一些社会的碎片化,每一个厂商、每一个学校都会有不同要求,对架构师提出很大的挑战。而在传统的开发过程中,对于架构师不需要考虑太多的跨平台、跨设备、跨系统的要求。

    举一个比较简单的例子,我之前在甲骨文工作的时候,我们做一个系统,代码有六百万个,比操作系统代码还要庞大很多的系统。这样的系统所支持的平台无非是三个window、linux,而在移动互联网就不一样,大概需要支持各种各样的平台,对架构师要求非常高。

    在移动互联网格局限制下,对移动互联网架构师要求非常高。他要做精,对于高级程序员来说,举一个最简单的例子,对初级程序员,在Android、iPhone上把最简单的功能开发出来,这是初级程序员。高级程序员完成这些功能之外,还能把效果实现得比较绚,在Android上翻页的效果,有各种各样好看的动画,还有对于整个系统的内存,对于程序的大小、联网的次数、联网的流量、大小都有一定考虑,能够实现这些方面,能够把整个程序做得比较精巧一些,让流量比较小一些,这是一个高级程序员。

    而对于架构师来说所要做的是处理横跨多个平台的架构设计,也就是说能够很好处理社会碎片化。现在移动互联网最大的问题就是设备碎片化,每个平台还有各种各样的分辨率,你怎么样去处理各种各样平台?如何在各种各样平台处理各种分辨率?以及各种分辨率下处理各种机型,以及各种机型下处理各种渠道。

    而对于移动互联网首席架构师来说,对于今天这个时代有一定技术前瞻性,技术是为整个社会服务的,不能够超越社会需求,所以会为未来几年,尤其现在这个时代,很多移动互联网技术趋势,很多移动互联网的业务框架不太明确的时候,提出有未来几年优势的技术潮流和技术架构的设计,这是作用移动互联网公司首席架构师应该做的事。作为一个首席架构师需要做的是业界达人,去了解现在业界需要对技术有什么样的需求。要经常出席和同行的沟通、交流,交流业界的技术趋势。

    因为在这里,我想和大家分享我所认为未来几年移动互联网的趋势。个人认为移动互联网在未来几年第一个比较大的趋势是各种无线传感器、无线芯片带来的用户体验的革新。对这个已经清楚了,像大家在很早的时候用的机器都是黑白的,随着设备发展过渡到彩屏、然后过渡到各种无线传感器,有WIFI等等。每一个传感器都会带来新的产业链,新GPS,在手机上的引入会带来新的产业。国内有一百多家专门做LBS的团队。

    再比如WIFI,个人认为2011年中国移动互联网元年,是移动互联网大发展元年是今年开始,各大公司成立移动互联网事业部,各个创业团队兴起,同时2011年还有另外一个事,就是WIFI元年,随着3G某种意义来说现状不是非常理想,会建立各种各样的弥补状况去弥补3G的不足,会带来新的产业兴起。比如像我们盛大做一些项目,我觉得应该会给大家带来一些非常好的体验。在这里不公开了。在一两年之后,大家应该会看到更多的,关于无线传输器、各种WIFI的出现。

    第三是拍照,现在很多了。NFC也是下一个热点,移动支付对互联网发展有没有比较大的技术?除此之外还有越来越的无线传感器、无线芯片,将来会越来越多集合在设备里,给产业界带来各种新的业务形态的产生。这是个人认为的第一个技术趋势。

    第二我认为未来几年就是智能终端发展,大家觉得这些已经成为现实了,实际上并不是这样的,现在智能终端发展远远不够,现在大家都知道已经有手机了,有PAD,今年年底、明年年初在谷歌、苹果都会推出自己的互联网电视。现在国内也有很多公司做这种东西。我想这也是最近一个比较热的方向。我觉得这些终端设备还不够,将来还有各种各样的终端出现,最终极的方式是各种终端出现在我们生活里。比如说机器人,集成各种设备在自己的身上为我们提供各种服务,这是下一个会大力发展的移动终端。

    这个背景图就是今年谷歌互联网电视的图片。是和索尼合作的。

    第三种是随着芯片从上游厂商开始做芯片,中游厂商做终端,第三个是平台厂商,他在移动互联网生产链也是非常重要的,随着无线的发展,我相信移动平台会有各种各样的大发展,我觉得它绝对不仅限于这几个,现在各大公司都作做自己的操作系统,像阿里云、百度的操作系统,腾讯也都在做自己的操作系统。还有专门做这种平台的,像点心等等。为什么要做这个?因为未来移动互联网肯定是各种产业链环节整合的过程,并不是单单吃透生产链中的一环就能一统天下。

    所以做移动平台是一个最好的、整合上游芯片厂商、无线终端,以及下游的无线应用、无限平台最好的方式。所以大家都会做操作系统,为什么现在各大公司都在做无线操作系统的应用。将来肯定不局限于这个,肯定有更多无线平台出现,因为终端发展会导致对无线的利用。

    现在比如机器人,正大的电纸书,用操作系统寻求各种各样的终端。

    对于产业链另外一块就是运营商,也会有一个技术上的革新,因为随着移动互联网兴起,越来越多人摆脱了传统运营商对大家的约束,主要是发短信、打电话,这种业务会越来越少。所以我预计将来运营商一定是新型的移动互联网公司,现有的资源型的服务商肯定会做一些技术上的革新,满足业务的需求。比如各大运营商现在做了非常重要的一些技术,还有即将要上的4G。

    另外一个核心是对于下游,在座的都是下游的应用开发商,有这么几个趋势需要注意:像人机交互革新。很早的时候是键盘,现在发展到彩屏触摸屏,现在已经有了语音输入系统。将来肯定不局限于语音输入。还有更多人机交互,比如可以和人的眼睛交互的感官通知,已经有很多研究院在做这个事了。我相信每一个人机交互都会带来业界的新业务的兴起。

    另外随着各种终端的兴起,这些终端需要各种各样的联网,联网不局限于终端,针对移动运营商、和移动运营商来做媒介的联网,需要端与端直接沟通与互联,这是现在非常热的概念。也就是物联网,这也是下一个比较热的趋势。比如像蓝牙、红外。所以我觉得下一步是这种端与端,能够把各种设备整合,比如汽车、飞机、电脑、手机、家电整合在一起的,这是下一步的趋势。

    另外对于下游APP开发商来讲,什么叫APP化呢?传统互联网是以客户端出现的,慢慢过渡到WEB,我相信在移动互联网也是这样的趋势,现在有很多APP应用的产生,慢慢会过渡到WEB化的出现。我相信APP还是有一定生存空间。因为需要计算能力、从对用户流量敏感性来讲,APP是有极大的需求。

    另外是商用平台,现在做移动互联网最大的问题就是社会碎片化,中国现在社会碎片化尤其严重,比国外复杂很多,尤其是各种各样的山寨机,因为大家都知道如果想有一个在现在的情况下做移动互联网开发的情况下,要有比较大的用户基数,一定要兼顾塞班平台,兼顾山寨机,因为毕竟占相当一部分市场份额。

    所以我相信对统一跨平台开放资格会越来越多。这也是为什么各大公司去做自己平台的云。这种开放平台并不是传统的,是一个统一的,能够横跨多个体系结构,横跨多个操作系统的平台。我觉得这样的东西是下面在做的东西。

    下一个是云计算和云存储,因为移动设备精巧小的要求,导致很多数据放在云端,未来随着移动互联网发展云也会蓬勃发展。所以现在很多公司做云、做网盘,很多做移动存储,但是也有很多公司在做移动云计算。风投也已经在投资了。

    下一个是,对于现在做移动互联网的门户来说,首先面临的问题是做一个选择,什么选择呢?我们要做互联网的移动版还是移动的互联网版。后者是移动情况下的,真正结合移动特性的互联网应用。但是我们相信未来几年,肯定是一种两者结合的方式,传统互联网公司会把内容做平移,把展现做平移,以这样的方式做各种各样的无线应用,未来主流技术趋势是要做内容的平移,但是在展现上要做移动化,结合移动的特性,结合各种各样无线传感器。传统互联网的技术也需要做出革新,比如说Video如何做展现,也是现在很多公司正在做的事。比如很多移动互联网做媒体播放器,我个人认为我所见过的移动互联网播放器,来自于云端是全面方式,但是移动平台这种播放器的特点,因为移动平台对视频压缩比和传统的不一样,如果传统媒体格式去优化的话,会超越整个手机的性能,有非常大的影响。

    未来几年有一些适合移动互联网、新的压缩标准、压缩格式的出现。

    第十是安全,随着移动互联网的发展,下一个技术的趋势就是如何做安全。现在移动互联网还没有更好的做安全的产品,现在对安全的需求不是太大。移动互联网是跟人们生活,比传统互联网更加私密化的平台。会侵犯到你的隐私,会获取你的短信、联系人,等等非常隐私的东西,同时方便窃取你的资产。传统互联网没有的,会对你进行更多的骚扰,有可能病毒在移动互联网发很多垃圾短信。下一个需要解决的就是安全。

    我这里有一个图大家可以看看,蓝色的部分代表了比较安全的、现有的比较安全的业务。用量最大的是手机报,排名第二是手机游戏,第三个是看视频。炒股排在第五,电子邮箱、即时通讯等等往下排,红色是一些不安全的业务,游戏是非常不安全的,存在着显著隐患的业务。手机炒股是存在隐患的业务,像手机号码也是存在显著的业务。未来几年移动会有比较大的发展。

    这就是我认为移动互联网的技术趋势。接下来再回到刚才的主题,如何做移动互联网的架构师。大家知道一个软件开发经过很长的链,这个链的每一个环节都非常重要,首先是产品经理进行产品设计,然后有UE、交互工程师做各种交互设计、各种视觉设计,然后再交给研发工程师做研发,做完研发之后有各种测试,然后是各种运营、维护,维护整个业务、做业务的监控报警。还有下一个BD,做渠道推广,业务置换、流量互换,资源整合,下面是销售,销售之后是技术知识。所以任何一个比较大的公司,都是这样的流程。

    架构师是在什么环节之上呢?首先要跟PM打交道、和产品经理打交道,要了解整个需求。然后跟UE打交道,了解UE设计的视觉效果、交互效果能不能实现。然后跟QA打交道,看如何测试,然后跟运维打交道,把价构如何维护。要和BD打交道,了解渠道有什么特性和要求,做各种各样设计,做好整个架构设计适应各种渠道。同时跟技术支持团队打交道,为技术支持团队提供疑难问题解答。身为一个互联网架构师基本上要跟每一个环节都打通。

    首先作为一个移动互联网架构师,第一点要了解需求,首先一个公司做一个产品,这个产品需要多大的用量,需要多大的市场份额,因为架构师要选取那些平台去做,还是要做山寨的、MTK等等,不同需求导致了不同平台选择。

    其次是是否盈利,因为大家觉得盈利和价格没有关系,不是这样的,因为不同平台选择决定了能不能够一个好的UP值,好的UP值会决定产品的盈利。架构师也需要了解这些。比如他需要有什么样的体验,比如我需要比较好的体验、我们只能选择比较高的平台。我们需要覆盖多少运营商的网络,在中国现在的情况有很多运营商网络,移动有两种,联通有六种,电信有六种,加上将来的3G、4G网络,会导致各种网络情况下,特性是不同。不同运营商对架构设置也非常重要,还需要上线,因为不同上线有不同的技术架构。有可能产生比较开放平台,还有架构是自己做一些。

    所以首先要了解需求,对移动互联网非常重要。

    第二是了解需求之后要设计架构,首先考虑我要去支持那些操作系统平台,这些平台已经有版本,每个平台有每个分辨率,分辨率主要机型是什么,还有渠道的要求,需要做哪些机型适配。然后是有多少人力,这些人力该设计什么价位在现有人力下满足。其次在现有人力情况下如何做iPhone平台、Android平台。然后是做代码维护性。

    第三是带领团队实现架构。要根据团队人员能力的高低实现工作任务分配,然后考虑整个模块相互依赖性,做好整个时间的分配。第三要做好时间风险控制。第四配合测试运维做各种各样相关架构部署,还要配合渠道做适配。

    下来讲讲如何做移动互联网架构师,我认为应该有九个特性,首先一定要是一个卓越的程序员;其次有一定的抽象能力,能够把各种各样平台的东西抽象出来;第三有一定技术前瞻性;第四能够找到问题本质所在,能够处理核心问题;第四多领域知识,要了解系统、了解整个产品,了解整个渠道、运维、测试;第五有一定沟通能力,因为架构师担负一定管理职责,因为任何架构不是完美的,都是一种平衡的结果;第六要有一定管控能力。还要有一定艺术气质。

    下面是如何做一个移动互联网架构师,不细讲,通过学习、实践、思考加上一定经验,以及一定理解。个人认为,架构师比拼的不是技术能力,而是境界,同一境界之上才是能力、多领域知识、艺术气质。

更多精彩请关注:移动开发者大会直播

0
0
移动互联网架构师的修炼之道