QCon2019上海,看华为云的可信软件工程如何应对复杂挑战
10 月 17 日,由 InfoQ 主办的全球顶级技术盛会——QCon 2019上海站暨全球软件开发者大会于宝华万豪酒店开幕,华为云应用平台服务副总经理、首席云产品专家汪维敏作为“技术裂变中的可信开发”专题的出品人,携多位技术布道师及资深技术专家亮相 QCon,为技术负责人、架构师、开发工程师等研发人群带来最新鲜的技术分享,展现华为云最前沿的趋势洞见和最具价值的应用实践。
说到可信软件开发这个话题,今年1月2日,任正非签发的2019年第001号文件,就把网络安全和隐私保护作为公司的最高纲领,成为华为公司的全局战略。华为将初始投入20亿美元,计划用5年时间,在ICT基础设施领域实现为客户打造可信的高质量产品的目标。这种将“可信开发”上升到公司战略高度的做法,让我们对 QCon 上海,华为云《技术裂变中的可信软件开发》专场分享充满期待,看看华为云如何遵循可信软件开发理念以及在可信开发上积累的最佳实践。
代码托管领域的可信开发设计
华为内部 Git 协作遇到的挑战来自多个方面。华为内部代码平台规模庞大,代码仓库数 60 万+、注册用户数 21.5 万、源代码总行数 1100 亿+、每天提交次数 9 万+……项目规模超乎想象,授权细,项目仓库多并且耦合紧密,特性分支多,且团队跨网络分区,在内部代码托管处理上,充满挑战。
同时经典分布式工作流带来的一些问题,包括多仓库关联、派生仓库/分支同步复杂、仓库繁多,fork 失控、磁盘消耗太快等问题也需要解决。
为了解决这样的问题,华为云 DevCloud 团队在架构层面、功能性层面、用户体验层面做了很多工作,其中,难度最大,影响也最为深远的,就是 OMEGA。OMEGA 是一种集中式仓库管理模式,在这种模式下,不需要再 fork 仓库,使用 manifest 文件来描述仓库的关系,子仓库可以做到快速更新。
OMEGA 解决了大部分的问题,但在推广使用的过程中还遇到了一些挑战,包括仓库产生大量小 pack 文件,清理时内存耗尽、仓库引用会偶发丢失最新的 commit 节点等,华为云也在寻找方案解决这些问题。
(华为云DevCloud iSource 代码平台专家孙超)
如何保证可信呢?华为云DevCloud iSource 代码平台专家孙超提出在规模团队,在面临众多仓库,要提升开发效率的时候,要做到:
仓库关系配置化: manifest 替代 submodule
统一管控仓库: 权限,规则等,由管理员统一配置
确定代码来源: manifest 内容之外的仓库,不参与版本发布
保存构建现场: manifest 快照记录构建当时使用的仓库列表与节点号
在此基础上,保证代码检查/CI 结果/二进制版本记录,能够回溯到每一个仓库的 commit 点。
同时在 QCon 上海,华为云也发布了关于 OMEGA 的开源计划,华为云表示 2019 年底将上线 DevCloud 产品 CodeHub 代码平台,在2020 年做到开源。
微服务应用平台的探索与实践
技术发展之迅速让产品更新迭代越来越快,如何快速响应市场的需求是企业立于不败之地的关键,传统的单体应用架构大量的耦合代码让模块间的界限越来越模糊,严重影响产品的功能和性能,这个时候微服务架构开始发挥它的作用,微服务架构通过将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。它更简单、更轻量级,基于微服务架构,开发人员可以对不同业务进行独立开发、部署、测试等动作。
(华为云应用管理与运维平台负责人、高级技术专家李勇军)
华为云应用管理与运维平台负责人、高级技术专家李勇军分享道,华为云应用管理与运维平台 ServiceStage 为企业提供微服务、Web、移动和函数应用、DevOps 全栈四大解决方案,可实现业务敏捷 DevOps、微服务治理与业务代码分离,帮助企业开发者聚焦业务逻辑,快速开发、构建、部署、上线和运维。
微服务 DevOps 基于 ServiceStage 流水线实现应用全流程“自助式”开发、集成、验证与上线,微服务框架提供 ServiceComb、Spring Cloud 和 Service Mesh 多种解决方案,降低企业迁移成本,支持Java、Go、PHP、Ruby等多种开发语言。而同时在整个开源生态中,ServiceComb还作为首个 Apache 微服务顶级项目,提供融合开源生态的一站式微服务解决方案。
ServiceStage 是开放的,它支持主流开源框架和源码仓库,开发体验不变,全流程可扩展;它是全栈的,包含咨询、框架、平台、工具、生态等产品和服务;它是成熟的,有着华为全面云化成功经验。
鲲鹏凌云,践行行业应用创新升级
立足政府产业云、企业行业云和人才培养云,携手开发者共赢前行、打造鲲鹏生态。
华为云基于自主设计制造的鲲鹏架构核心芯片,提供鲲鹏 ECS、鲲鹏 BMS、鲲鹏 CCE、鲲鹏 CCI等 69 款鲲鹏云服务和鲲鹏专属云、鲲鹏 HPC、鲲鹏大数据、鲲鹏企业应用、鲲鹏原生应用等 20+解决方案,面向政府、 金融 、大企业、 互联网 等全行业多场景,为开发者开辟了一条多元化架构发展之路。华为云鲲鹏云服务和解决方案具备全栈生态:依托鲲鹏社区中多业务场景主流组件的最佳实践和镜像包,为开发者提供技术共享与交流的平台;与多个开源和国产操作系统、数据库、中间件等系统软件完成适配和兼容性认证;与 ISV 伙伴共同打造面向行业的鲲鹏解决方案,服务于最终用户。
鲲鹏专业服务主要面向企业业务升级、鲲鹏产业云、全栈国产化方案、鲲鹏云服务技术培训等服务场景,为客户提供专业的业务系统鲲鹏云化服务,包括移植咨询、方案设计、应用改造支持、测试验证、移植实施、售后保障等服务,全面助力企业鲲鹏生态发展,增强业务解决方案创新,为企业培养专业技术团队和人才。
基于可信理论指导,结合 DevOps 思想实现过程可信和结果可信,可信软件工程能力的服务化。通过软硬件可信结合的方式,真正实现可信的基础服务。帮助开发者面向业务需求构建软件工程的服务能力,使可信融入全流程,支撑业务高效运行。
(华为云鲲鹏云服务与解决方案总经理高雪松博士)
华为云鲲鹏云服务与解决方案总经理高雪松博士表示:“今天只是刚刚开始,面向更多行业开发者,未来华为云会提供更多鲲鹏云服务和解决方案,推出更有特点的迁移实施方案。鲲鹏产业在云上能够快速聚集资源,让更多的开发者加入鲲鹏阵营,聚星火燎原之势快速构建能力,推动整个产业快速发展。让“一”个华为云鲲鹏云服务平台,承载“一”万种移植应用和解决方案,面向“一”千亿的鲲鹏市场,书写开发者“一”场精彩人生。”
构建可信、共享、安全的 区块链 应用
AI 和 5G 时代的到来,带来新的技术裂变,2018 年开始,区块链加速在行业落地,场景从金融向众多行业发展,华为云区块链平台构建于 Docker 和 Kubernetes 之上,具备极高的可靠性和扩展性,具备成员动态加入、节点弹性伸缩、灵活部署、互联互通的特点,与其他云服务完全打通,无数据膨胀和性能等问题。
(华为云区块链高级产品经理王磊)
华为云区块链高级产品经理王磊认为,基于华为云的区块链服务 BCS 可构建全球区块链业务网络,实现数据可信共享和交换。通过分布式账本实时共享最新数据,通过数据探针和智能合约监管目录和数据,提升业务效率,利用区块链数据不可篡改的特点,结合智能合约约束各方行为,达到提升管控力的作用。
在物流场景中,常常遇到多方物流信息不一致,实时数据同步周期长等问题;现有系统无法有效提升签收单、贷款、结算等金融活动效率问题;货物丢失时追踪难度大、定责难、成本高的问题;数据散落各方,行业监管、审计困难等问题,都导致整个物流效率低下。
运用华为云区块链服务,多方分布式记账,确保合同、订单、物流信息等真实可靠、不可篡改,为行业纠纷提供有效的证据链条,同时打破厂家、仓储、物流和客户的信息孤岛,将货物的产、销、运输、购多方整合。厂家和客户的信息和交流重新建立,厂家可根据实时数据分析,对仓储和物流厂家进行信用管理,构建新的物流生态。从而重建信息交流,降低运营成本,提升运营效率。
在医疗健康领域,其实一直存在个人健康数据分散导致无法为用户提供有效价值、个人健康数据隐私保护能力差、无法复用医疗数据资产等问题,面对这样的数据价值流失,华为云区块链应用可以帮助搭建可信环境,构建个人电子病历,更好地保障个人健康隐私,让就医记录数据有效利用,实现高效就医。
华为云区块链平台提供了跨链能力,提供智能合约安全检测服务,识别合约隐患和漏洞,通过静态分析和形式化验证等技术相结合,构建高可信智能合约。华为云基于 Sharding 技术构建 Fabric 网络架构,支持用户自定义分片,保证 Sharding 扩展能力对二次开发者完全透明,从而提升 BCS 服务吞吐率。
总结语
本次在 QCon2019 上海,“技术裂变中的可信开发”专场,通过对 OMEGA、微服务、鲲鹏、区块链等技术的了解,我们可以看到华为云在开发领域的积累与沉淀,期待华为云在可信开发理念的指导下,把更多优秀的技术推向市场,为企业和开发者提供可信的完备的工具链、能力及平台。本次 QCon上海,华为云亦发布了鲲鹏开发工程师技能图谱,在 GitHub 上面采用开源的模式进行升级和维护,欢迎开发者了解及贡献鲲鹏。
2020年华为开发者大会将于明年2月11-12日在深圳举办。作为华为面向开发者群体的最顶级盛会,将全面展示华为在云计算、人工智能、5G、IoT等多个领域,特别是智能计算双引擎鲲鹏和昇腾的最新创新与最佳实践,为开发者提供最想要的技术干货分享、最前沿的技术洞察、最有价值的学习认证、最开放的交流平台和最好玩的互动活动,敬请期待!