软件产业是高科技领域变化最快、技术更新换代最频繁的行业之一。在技术、规范、生态不断迭代的技术演进过程中,软件开发者需要持续学习才能跟得上时代的脚步,才能更有效地利用行业创新成果满足用户需求、解决实践问题。
我们发现,近年来计算产业的算力多样化趋势成为了数字经济潮流中的一大亮点。由传统指令集主导的传统计算生态正在受到 ARM 甚至 RISCV 等后来者的冲击,越来越多的应用开始根据自身需求选择传统以外的算力平台,以达到降低采购和维护成本、提升特定场景性能、减少碳足迹、增强安全性等目标。比如,作为国内多样性算力的有力代表之一的鲲鹏也从开放走向落地,已经为各行各业的数字化变革和应用创新提供了强大、稳定的算力支持。
3 年多打磨只为帮助开发者实现“快速迁移、极简开发”
尽管浪潮涌涌,但我们不能忽视的是,“底层算力平台的多样化”让上层软件开发者不得不面临很多现实问题和挑战。一方面,企业在传统平台上往往有着庞大的代码和应用资产积累,开发者需要尽快将这些资产迁移到新平台上,迅速产生价值和生产力;另一方面,开发者也需要在陌生的平台上尝试开发原生应用,但是过去积累的经验与资源往往难以复用……这些问题给开发者们带来了较为陡峭的学习曲线。
经验丰富的软件开发人员在选择技术栈时,一项新技术的开发工具链成熟与否往往是最受关注的要素之一。功能全面、使用便捷、效率出色、生态完善的开发工具能够大大减轻开发者学习和使用新技术的心智负担,加快应用的开发速度,缩短企业的投资回报周期。
为了帮助开发者快速适应鲲鹏生态,从而更加便捷、高效地进行应用迁移和开发,2019 年 9 月华为发布了“鲲鹏开发者套件 DevKit”(下文简称“鲲鹏 DevKit”),提供迁移、开发、编译调试、测试、调优 & 诊断等覆盖全研发作业流程的工具套件,经过三年多时间的锤炼,能力已经十分完备,目前大部分解释型应用可以做到 Hour 级迁移,编译型应用能够在 Day 级完成迁移,迁移已经不再是难题;针对鲲鹏原生开发场景,鲲鹏 DevKit 也提供了丰富的能力,例如去年发布的三款场景化 SDK ,不仅能够帮助开发者快速获取特定场景下的加速库,还提供丰富的代码样例,大幅缩短应用包下载、安装、构建、执行的时间,让开发者的开发效率显著提升。
开发工具组件化、服务化,鲲鹏应用迁移和开发更便捷
当然,鲲鹏 DevKit 创新发展的脚步也从未停止——5 月 6 日,在鲲鹏开发者峰会 2023 的主题演讲《鲲鹏展翅、共筑数字根基》中,鲲鹏计算业务总裁李义宣布鲲鹏开发者套件 DevKit 23.0 版本正式发布,新版本将在 2023 年提供一系列新能力,让应用迁移和开发更便捷:
开发工具组件化——之前,开发者需要先使用鲲鹏 DevKit 进行代码的迁移适配和修改,然后手动提交适配之后的代码到开发流水线。如今,鲲鹏 DevKit 各工具插件可以像拼魔方一样按需集成到企业现有的 DevOps 开发流水线中,开发者可以每天在流水线中自动扫描、修改、提交代码,更加便捷发布鲲鹏版本。
实现了开发工具服务化——现在鲲鹏社区(hikunpeng.com)远程实验室中向开发者免费提供鲲鹏 DevKit 云开发服务,提供鲲鹏在线 IDE 开发环境,包括代码迁移、开发调试、编译、调优及诊断等功能。开发者可以一键免费申请,随时随地迁移、开发。
迁移能力增强——提供了鲲鹏亲和性检查,实现代码与鲲鹏内存模型的适配性检查与优化,以及鲲鹏加速库的可替换分析,确保迁移后的应用性能更优。
鲲鹏原生开发能力进一步增强——场景化 SDK2.0 提供更丰富的安全计算编程框架和数学库优化能力,让编码更快、性能更优;首次支持 HPC 场景 2048 个 RANK 的多线程并行调试,充分发挥鲲鹏集群算力;性能分析支持更多场景,支持云环境下多租户 Java 应用的性能优化和诊断。
本次新版本的更新中最引人注目的两大能力就是开发工具“组件化”与“服务化”,分别通过架构创新、和服务模式的升级,持续提升开发者体验,充分发挥鲲鹏算力,在下午的分论坛现场,来自华为的多位专家也进一步阐述了这两个关键能力。
工具插件“按需所取”,0 代码修改,快速接入 DevOps 流水线
企业的软件开发部门一般会有自己的开发流水线,但将鲲鹏纳入应用目标平台后,开发者往往会担忧新的平台需要一套独立的代码库和流水线,增加开发部门的负担,而开发工具组件化则能够很好的解决这一顾虑。
所谓组件化,其实就是将鲲鹏 DevKit 的各个工具插件独立解耦。开发者可以在 VSCode 等主流开发平台中按需获取自己需要的插件,包括迁移、开发、编译、调优等,并在一个鲲鹏 DevKit 入口中便捷使用上述能力,满足差异化的使用需求。此外,这些工具插件还能通过简单的配置快速接入 DevOps 开发流水线,在代码构建时,开发人员能够便捷使用迁移扫描功能,针对鲲鹏平台的代码兼容性进行分析和修改指导;在代码提交时,开发人员能够使用鲲鹏亲和分析功能及时发现代码缺陷,保障代码质量。如此一来,在不改变开发部门原有流程的情况下,开发者就能同时构建鲲鹏和传统多平台应用。
另外值得一提的是,鲲鹏 DevKit 23.0 目前已经支持代码扫描插件快速接入业界主流开发流水线 Jenkins,接下来还将支持鲲鹏亲和分析插件、鲲鹏性能分析插件等快速接入,这些插件的接入也将进一步提升企业自有流水线的开发能力。
开发工具组件化无疑是最让鲲鹏生态开发人员欣喜的创新特性,它让开发团队得以使用一直熟悉的环境来编写跨平台代码,抚平了学习曲线,也减少了企业向新平台投入的成本。与此同时,新版本提供的另一大关键创新——开发工具服务化,从另一个层面让鲲鹏生态的入门门槛进一步下降。
云开发服务“一键开通”,随时随地迁移和开发
虽然很多企业与开发者都对鲲鹏应用开发产生了浓厚的兴趣,但受限于现实条件,并不是所有团队都有条件获得鲲鹏硬件设备,这为开发者设置了很多门槛。针对这一问题,鲲鹏社区 DevKit 专区(hikunpeng.com/developer/devkit)推出了鲲鹏远程实验室,提供云开发服务、云测试服务、远程服务器,预置了 100+ 在线鲲鹏虚拟化环境,实现了开发工具服务化能力。
鲲鹏远程实验室提供三大服务:
云开发服务:提供鲲鹏 DevKit 在线 IDE 开发环境,包括代码迁移、开发调试、编译、调优及诊断等功能。云开发服务是鲲鹏 DevKit 23.0 提供的最新能力,开发者无须任何安装步骤,即可一键开通、免费试用鲲鹏 DevKit,随时随地体验鲲鹏软、硬件开发流程。
云测试服务:提供基于鲲鹏平台的兼容性测试、可靠性测试、安全测试、功能测试、性能测试服务功能,帮助开发者快速识别和定位应用程序在运行阶段的问题。
远程服务器:预装鲲鹏代码迁移工具、鲲鹏编译工具链、鲲鹏性能分析工具,动态二进制翻译工具(ExaGear)等,发者可远程 SSH 登录,灵活使用 Web 或者 IDE 开发环境。
为了方便更多开发者无门槛体验鲲鹏生态,鲲鹏远程实验室的各项服务都可以免费申请、按时段预约(1 天 /3 天 /7 天)。最新推出的云开发服务对于尚未接触过鲲鹏生态但抱有兴趣的企业与开发者尤其重要,不再需要先购置或租借鲲鹏硬件,只需通过云开发服务就能尝试鲲鹏平台的代码构建,经过试用评估之后再决定具体的投资计划,将创新风险控制在最低水平。很多个人开发者也可以通过这一服务提前学习鲲鹏应用开发,为将来的职业生涯积累经验。
总之,开发工具组件化与服务化的能力,实现了更便捷的鲲鹏应用迁移和开发。而无论是这两大能力还是 DevKit 23.0 新加入的一系列其他特性,最终愿景都是为了吸引更多开发者、企业与合作伙伴加入鲲鹏生态,为生态繁荣持续注入动能。
鲲鹏生态离不开万千伙伴的持续支持
新算力平台的崛起关键往往在于开发工具链与生态的水平,鲲鹏 DevKit 背后拥有强大的研发团队,众多专家工程师汇聚华为 30 年软硬件开发经验,构建起了鲲鹏软件技术栈。在线下,全国 20+ 鲲鹏生态创新中心随时响应重点软件项目的适配需求;在线上,鲲鹏社区专家论坛、鲲鹏小智为开发者随时提供技术答疑;与此同时,鲲鹏社区围绕开发者体验提供了大量免费的代码样例、学习视频、用户指南等资料,帮助用户快速熟悉工具的使用方法,所有这些努力,共同构筑起了从传统算力平台到鲲鹏平台的宽阔桥梁。
截止目前,鲲鹏 DevKit 已经助力 2700+ 伙伴迁移 / 开发了 8600 + 应用,超过 19 万的开发下载或者在远程实验室中体验了鲲鹏 DevKit。目前,鲲鹏已经在政府、金融、电力、运营商等多个国计民生行业得到了规模应用,也逐步成为数字基础设施算力底座的首选。
正如华为副总裁马海旭在鲲鹏开发者峰会 2023 的开场致辞中所言,近四年来,鲲鹏软件生态从“可用”走向“好用”,取得了一系列成绩,这些成果离不开广大客户伙伴的大力支持,更离不开广大开发者的辛勤努力。正是每一位开发者的每一行代码,构筑了数字转型坚实的算力根基。如今,鲲鹏 DevKit 23.0 的新特性正是对开发者努力的一种回馈,而基于这些创新,开发者将会在鲲鹏平台开创更多可能。
评论