2018 Google i/O大会Android技术总结
523
2022-05-30
通常,我们眼中的软件开发是这个样子的……
工作高端、大气、上档次,这是一件化腐朽为神奇的事儿,更是一股充满创造的力量……
然而在程序猿们的眼中,软件开发竟然是……
好不容易才搭建好一个开发环境,费了九牛二虎之力,悲催的是竟然无法使用,第一步都如此不顺,上线更是遥遥无期……
团队同事临时被抽调出差,不巧,他写的代码出现bug,我竟然无权限修改,内心的崩溃在风中凌乱……
提升软件质量靠代码,这事儿没错,但交叉看谁有时间?找大拿?更没工夫……这事儿简直太累了……
新旧代码交替繁乱,质量效果各不相同,频繁修补之后,本地记录早已“千疮百孔”,自己看着都头痛……
尽管这些问题还不算是软件开发过程中出现的全部障碍,此外还有业务沟通、工程交互、部署测试等说不完的困难……但却是开发者们真实且经常遭遇的“神坑”,难道没有办法解决吗?
恒少,一位来自华为云的技术专家,也是我这篇科技圈时髦文体《XXX时间,我跟XX聊了聊》文章的主人公。他听完我的吐槽,并没有立即推荐各种高效的解决方案,而是给我讲述了他与软件开发以及华为的“情缘”。
恒少认真地说:“软件开发一直都是我特别喜欢的工作,工科类的学生似乎都很喜欢动手创造新事物这种感觉,软件开发正好符合这一点。”
传说中的恒少
据他介绍,如今在华为云,软件开发服务(DevCloud)已经将数万研发人员、三十年积淀的研发工具、经验开放到公有云上,以项目管理、代码托管、代码检查、CloudIDE等九大服务为基础,提供了IOT、Web开发等众多解决方案。
“就像你刚才提到的代码问题,其实在华为云软件开发中就有相应的检查服务,DevCloud提供了1288条规则来保障软件质量,未来还会持续注入先进技术确保云端代码检查规则实时更新。”恒少表示。
更重要的一点,他强调,华为云软件开发服务不单单只是发现问题,主要还是着眼于解决。提供的软件流水线可以随意编排代码检查、测试、部署和子流水线等服务,通过可视化编排和一键式部署,确实将软件上线周期缩短50%,尤其对中小企业帮助很大。
如今,恒少的工作内容主要基于华为云,所以他比任何人都清楚、都了解。
掐指一算今年正是他在华为一线奋战的第十三个年头,听完讲述,我深深感觉到,恒少这段精彩又充满挑战的经历,真的可以称作华为30年研发沉淀的缩影。
慕名进华为,近距离感受开发者文化
如果详细展开这个故事,时间还要追溯到2005年,那时的恒少刚刚走出大学的校园,从本科学习自动控制专业到研究生继续攻读系统工程,最后怀揣着“软件开发”的初心走入华为这个大家庭。
谈及当时走进华为的选择,恒少很实在。
“那时候学校中很多前辈都出自华为,更重要的是华为很重视我们这种类型的毕业生,毕竟是第一份工作,太有吸引力了!”他表示。
企业的软件开发面向行业交付,要求质量、进度;而学校中的软件科研项目更偏向于技术的探索,尽管在视野上得到了创新,但这种偏差让却没少让恒少“吃苦头”,将知识转化为产品,还得好用,这事儿说来容易做起难。
十几年前,华为主要还是做电信类产品,恒少作为一名初来乍到的程序员,就参与了刚刚立项不久的产品软件开发。
但由于电信类产品都是基于协议的,正巧经手的产品其国际协议又刚刚发布不久。将厚厚的一沓协议转变为可稳定运行的产品以及解决方案,这个难度可想而知。
作为一个新人,代码才略懂,就直接去做产品调试以及协议接口等工作。恒少表示,至今都记得,在嘈杂的机房中看着一堆堆error的协议消息,背后是周边产品焦急等待的同事这样一个场景……
初来的开发人员面对像恒少一样的窘境,难免会措手不及。
但庆幸的是,华为凭借自身多年的培养体系积累,可以为开发者人员们提供大量有价值的资料并引导学习;甚至还设置专门的导师制度,手把手帮助解决业务问题、熟悉团队运作等,这种大而细致的开发者文化让恒少至今都记忆犹新。
“作为开发人员,从技术角度看,华为是先进的。但对开发者来说更重要的一点,在华为可以将自己所学,无论是编程还是代码,实实在在融入软件中,让需要的人使用,这是我们特别希望的一种方式。”恒少补充道。
如今恒少将工作内容转向势头正旺的华为云业务,他深深感受到,华为发力云计算业务之后,对开发者的引力越发强大。
30年的积累、9万多用户……除了继承企业优良的开发者文化,更多还让人们意识到华为云巨大的成长空间以及良性的创造氛围,对于开发者们来说,华为过去或许很“传统”,但现在却很“互联网”。
华为:冷静对待热点、较真产品质量
谈及华为云服务,优先级的产品质量、被视为头条的用户体验、持续提升的研发效能、予以坚持的战略投入……这些特性都会一一蹦出脑海。
但在30多年的产品研发中,华为并不是一开始就对这些先知先觉,而是历经波折才更加意识到质量、效能、用户体验的极度重要性,对此恒少深有体会,可以说在华为的工作经历教会了开发人员对产品质量始终保持敬畏之心。
从传统IT到企业云服务,用户至上的信条被传承,但对技术方向的敏锐捕捉,华为却始终目光如炬,在“变与不变”中谋求进一步的发展。
在采访中,和恒少探讨“企业追逐技术热点”的问题,他表示,在企业追逐风口的过程中,华为最大的不同就是不盲目,这种冷静客观的态度被称为“拧麻花”。
“在华为,长期的研究与短期的产品开发与交互会形成一种部署,绝对不会一味研究新技术而忽视了产品的走向,上新就要对相应的产品发生帮助,毕竟单纯研究新技术还是比较容易的事儿,而且更重要一点,华为追新也是循序渐进的,例如上云。”恒少强调。
说到“上云”的历程,据了解,2008年左右,华为几乎与业界同步开始引入敏捷,并随后进行了从上至下的敏捷转型,希望以更敏捷的研发来应对日益短周期的市场交付,这个时间恒少也开始接触敏捷。
总体来说,向敏捷的转型,华为面临了诸多挑战。很长一段时间,恒少也在思考,敏捷这件事儿与提升研发效能、优化产品质量和用户体验等,是否可以画个等号呢?就算推行了敏捷开发,似乎端到端的生命周期依旧很长,又该如何是好?
对此,恒少有自己的一套理论,以前的华为产品主要面向运营商,SDD的流程不知不觉已经运转了十几年;但部署进入云计算领域后,之前的开发模式、市场交互模式等与之前完全不同,这个时候引入一个基于云服务的新流程是非常有必要的,所以敏捷势在必行。
在这个理念的指导下,恒少与同事们开始推动敏捷逐渐从小团队走向整个产品。
先进的方法、理念和实践的落地最终还是需要端到端的研发工具支持,所以恒少与同事们也同步启动了ALM(Application Lifecycle Management),整合并演进一批已有的研发工具,形成覆盖从需求到最终交付上线的软件全生命周期管理系统,达成从嵌入式软件到应用软件、云服务,并与芯片、硬件的生命周期管理形成整体解决方案,以“技术工程师”的角度协同软硬件团队一起发展。
通常来说,我们知道的敏捷开发需要经过准备、计划、开发以及反馈四个阶段。与传统的敏捷模式不同,华为的新型模式会通过云端自动化的持续交付流水线来完成构建以及测试的工作,无论是接口还是可靠性,同时还可将Ops端手工操作的时间减少80%,团队可以充分聚焦于业务分析、开发交付及运营上,质量与效率可得到双保证。
踏足云计算,循序渐进、不忘初心
经过前期的积淀,华为于2016年正式进入云计算领域,敏捷只是“第一站”,DevOps作为云服务与生俱来的研发模式和流程,也开始被恒少以及同事们提上日程。
随着华为云服务技术的逐渐成熟,其ICT研发实验室的服务化率先取得成功。客户很多时候通过Internet就可以访问遍布全国各地华为研究所的云化实验室资源,从基站到路由器,乃至终端设备。
恒少表示,不但可以远程体验,还能将原先必须在客户侧搭建设备才能验证的测试放在实验室执行,大大缩短了客户需求的验证时间。
谈及DevOps部署的经验,恒少觉得,最重要还是不要盲目追赶热点,毕竟DevOps的“上马”是需要一定基础的。
通常来说,企业的属性为自运营,例如云服务的方式通过SaaS来提供,这样来看,企业就可以拥有属于自己的DevOps团队,Ops团队,然后融合使用DevOps方法。相比之下,很多企业经营外包业务,做好软件后交付给企业级用户,然后自行在中心机房中部署,软件的运维属于用户方,企业只是负责Dev,如果盲目去做DevOps,结果必然失败,认清自己的商业与交互模式对DevOps很重要。
“另外,企业管理层是否支持更广层面的DevOps推广也很关键。当然,这些条件通通具备后,定期针对DevOps研发细致总结并同时更新工具也很必要。毕竟流程方法的实践最终还是通过工具来体现,文档是没有办法让大家高效使用的。”恒少补充道。
其实以恒少为代表的华为人所做的一切,都是在思考如何从软件全生命周期的角度出发提升效能并保证质量。
如今云厂商“琳琅满目”,回到华为云的软件开发服务,恒少对记者说:“我们的软件开发服务,很重要的一个特点就是提供的工具很多,尽管业界的工具也不少。这些工具沉淀了华为多年的研发实践经验,哪怕是如何规划、满足需求等细枝末节都包含其中,模板真实存在并可以供客户直接使用的,这种突出的转化效率是特征,更是优势。”
华为云软件开发服务秉承了多年来华为内部“端到端”的理念,尽管不可避免的是某种特性或者功能上确有短板,但端到端的整合让用户再也无须考虑与工具之间的集成。简单来说,开通云服务就可使用,无论是接口对接、工具适配、还是上线部署与反馈,都是便捷又实在的事儿。
“还有更重要的一点,也是华为云一直强调的口号,我们提供的DevOps工具链会管理用户的需求、代码,却真的看不到用户的信息,不碰数据是华为云软件开发服务安全的首要保证,另外不断更新的理念与方法也让我们持续保持创新的动力。”他进一步说。
在采访的最后,恒少提到了即将开幕的华为全联接大会。
他表示,华为从运营商设备、终端设备一路走来,如今又做起了云服务,形成了一套“云-管-端”的解决方案模式,对开发者而言,这可以说是业内最完整的解决方案了,从云端到管道,到边缘,再到手机端,是一个完整又丰富的生态。不管你从事底层的驱动开发、还是软件开发,抑或是云服务软件开发……都可以从华为全联接大会上学到很多东西,找到自己的兴趣点。
10月10日-10月12日,HUAWEI CONNECT 2018将以“+智能,见未来”为主题,携手来自全球的ICT产业领袖、行业先锋、生态伙伴、商界智囊,共同探讨如何利用智能技术把握未来行业新机遇,共襄数字转型,共创智能未来。
届时,大会将首发华为AI战略和全栈全场景的解决方案,并携合作伙伴分享AI、云、大数据、5G、IoT、视频等在各行业的创新与实践。突破业界历史记录,2018华为全联接大会将上演近千场峰会和论坛,和超过三万平米的展示区,必将再次带给大家更多的惊喜与震撼。
恒少个人主页
HUAWEI CONNECT 软件开发平台 DevCloud
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。