摘要:在QCon全球软件开发大会上,华为云开发者生态总监张全文作为“云原生应用开发实践”专题出品人,携手华为云四位资深技术专家带来精彩分享。
作为当下技术领域最火热的技术趋势之一,云原生正在从根本上改变企业应用设计、开发、交付与运维的方式。云原生与 AI、区块链、5G 等前沿技术结合,能够为企业数字化转型过程中面对的市场多变环境与需求提供解决方案,并显著降低企业应用的开发门槛,为更多创新场景持续输出价值。
为了帮助企业更快找到云原生应用开发的入门路径,轻松跨过新技术、新模式的采用门槛,华为云作为领先的云服务提供商,致力于成为最佳应用构建平台,提供云原生应用开发的生态环境。近日,由InfoQ 主办的全球*技术盛会——QCon全球软件开发大会 2020深圳站正式开启,华为云开发者生态总监张全文作为“云原生应用开发实践”专题出品人,携手华为云四位资深技术专家带来精彩分享。本场专题涵盖企业微服务开发、云原生应用开发与最佳实践、区块链应用开发等内容,为与会者深度解析了云原生2.0时代,企业下一代应用开发模式的要点与秘诀。
企业微服务应用开发思考与实践
专题的第一场分享来自华为云微服务产品经理丛琳琳带来的企业微服务应用开发的相关思考。
谈论云原生的主题,绕不开的就是云原生在实践中的框架。前不久,华为云发布了云原生产业白皮书,并提出云原生 2.0全景图。在华为云看来,云原生 2.0 是企业智能升级的新阶段,如果说云原生 1.0 是“ON Cloud”,那么云原生 2.0 就是“IN Cloud”。第一代云原生只是将传统业务搬迁上云,第二代云原生,企业云化从“ON Cloud”走向“IN Cloud“,生于云、长于云且立而不破。云原生 2.0 能够真正走进千家万户,在无数传统行业发挥价值,这也是符合新基建背景下的企业需求的。
云原生 2.0 时代,企业希望将应用快速上云,并灵活应对业务和用户环境,这就需要通过灵活的微服务架构来承载业务和应用。微服务低耦合、高内聚的特性非常适合将复杂业务拆解为许多小型模块,方便开发团队快速开发、快速响应。然而,微服务应用开发也存在着一系列固有问题,只有解决了这些问题,才能充分利用微服务的优势,达到企业开发转型的目标。
对于开发人员来说,首先要注意的是微服务开发并非银弹,对于具体的业务来说,首先要判断业务本身适合单体还是微服务,不能一概而论。尤其是本来就紧密耦合的服务,以及存在循环依赖的服务都不应该拆分。原有业务拆分成微服务时也要根据应用场景和业务特性选择合适的拆分策略。微服务拆分时往往还需要设计数据库拆分策略,后期的管理运维工作都要寻找对应的支持工具。
为了适应微服务开发体系,组织的人员架构和流程也要做相应的调整。微服务开发团队适合小而精的模式,通过“服务契约”来实现团队间的高效协作。应用上线应采取灰度发布模式,而微服务的治理则要做到以业务场景为基准。
最后,丛老师为大家讲述了华为手机终端、同济大学抢课系统和坤德岩土数字化转型几个案例。在这些案例中,微服务体系资源利用率高、可扩展能力强、成本低廉的优势得到了比较好的体现。
云原生应用开发的大道与小术
云原生2.0时代,企业开发人员需要面对众多技术与模式的转变,微服务开发只是其中之一。华为云高级产品经理赵彦深入探讨了云原生应用开发者需要面对的挑战与诉求,结合华为云CloudIDE服务基于云原生2.0的技术与实践,分享了开发者如何适应和突破。
赵老师为云原生开发总结了四个关键字:“道、法、术、器”,“道”就是云原生开发理念,“法”即开发方法,“术”则为开发技术,而“器”是实际应用交付需要的工具。
云原生开发的核心理念就是提升质量效率,这需要在项目启动、中间交付和上线发布环节都做到高效灵活。为了达成这样的目标,华为云CloudIDE,面向云原生的轻量级WebIDE 开发平台打通云原生应用的开发和运行态,帮助开发者解决实践中遇到的困难。
- 第一条是 API 契约:华为云本质上为开发人员提供了一个开发平台,通过开放 API 向合作伙伴开放业务能力。开发人员能够通过 API 集成方案快速创建开发场景,并在平台内完成交付与部署工作,全程都不需要离开浏览器页面,从而显著提升了效率。
- 第二条是插件:插件是华为云开发平台的扩展契合点,为开发场景提供各种各样的能力,而无需开发人员投入大量资源去专门制作功能。
- 第三条是架构。华为云基于云端 CCE 容器服务、存储服务等,将所有能力整合成同一套框架,根据不同业务场景特征从后端拉取对应的镜像,整合合适的插件、模板等,再推送给用户。这样一来,同一套架构就可以适应各类场景,帮助开发者提升特定场景中的开发效率。
同时,华为云CloudIDE也提供了以WeLink为基础的移动轻应用前后端云上同步交付、通过分布式云调试器CloudDebugger在多微服务复杂环境中动态追踪排错等极具竞争力的技术。这些技术与华为云服务结合,共同形成了CloudIDE的整体服务架构:最底层是华为的基础软硬件设施;第二层是开发者能够使用的能力,包括编码、调试、部署、业务适配等;第三层则是解决方案的场景适配和合作伙伴的生态工具包。整套架构基于华为云原生 2.0 理念,基于华为计算、存储、中间件、人工智能等能力打造和实现,方便集成且易于扩展。
赵老师特别介绍了华为云 CloudIDE 为鲲鹏生态赋能的实践案例。为了推动传统 x86 应用向鲲鹏计算框架移植,华为云提供了海量工具和一套基于鲲鹏 IDE 的开发环境,并通过插件、API 来实现性能优化和计算平台对接,使用户可以很简单地完成鲲鹏应用移植工作。类似的,在量子计算、教育培训、人工智能等众多领域都可以利用华为云的方案进行应用开发和生态建设。这些全新平台的崛起也体现了云原生开发真正的魅力和价值。
云原生应用与传统应用共存的最佳实践
华为数字化转型实践见证了自身从“非云原生企业”逐步成为“新云原生企业”的发展历程。即便掌握了云原生应用开发的能力,华为自身在云原生落地过程中也遇到了诸多挑战,华为云应用平台领域集成总监黄靖凯分享云原生应用与传统应用共存的实践。
在云原生落地过程中,企业往往面临以下困扰:
一、企业业务场景非常复杂,在信息化到数字化的过程中产生众多“信息孤岛”;
二、企业新旧系统替换无法一蹴而就,云原生应用实际落地周期漫长;
三、物理数据无法高效接入数字系统和大数据平台。
总体而言,应用数据全面联接是企业数字化转型最艰巨的任务,也是云原生从理论到落地过程中需要跨越的一大鸿沟。跨越鸿沟需要桥梁,而华为云为它搭起的桥梁名为 ROMA Connect。
ROMA Connect 源自华为10年+数字化转型实践,聚焦应用和数据的全面联接,它打破了企业使用云原生应用的时间、空间和开放性瓶颈,主要包含几大关键技术:
- API 网关实现跨云集成。例如,应用数据可以通过 API 在不同云端流转处理,甚至实现跨Region的传输与编排。
- FDI 实现异构数据间跨网集成同步。各类数据源可以统一获取、集成分析和同步,方便多类型数据源的协同工作。
- MQS 实现应用就近接入,消费端决定路由策略。当业务需要各类能力时,可以直接访问距离最近的服务平台。
- Link 实现设备间数据集成,解决OT数据与IT数据的融合需求,打破传统物理世界存在的信息孤岛。
华为云原生实践的核心是立而不破,新增能力生于云、长于云,把AI、大数据、边缘计算、视频等新生能力用于企业,同时也需要继承和发展既有能力,并与新生能力立而不破、有机协同。如实践中的华为云与国内某个机场合作建立了“一张脸出行”的系统,大大提升了旅客的安检效率,高峰等待时间整体节省了15分钟。辅以旅客画像,进一步改善出行体验。这一案例也验证了云原生 2.0 时代,ROMA Connect系统足以承担云原生应用与传统应用、业务应用与业务数据之间高效联接的重任。
高效区块链应用开发实践
区块链是下一代 IT 技术发展趋势中的重要的基础技术。区块链解决了多节点互信难题,可将人类从制度信任带入了机器信任时代。区块链技术的落地并不是“单打独斗”的,而是需要多方协作,汇聚从采集,分析,存储等技术。在华为云看来,区块链服务平台是支持产业发展的基础,区块链本身可以结合物联网等技术支持可信设备认证等工作,进而为上层业务带来更多价值。
华为云区块链高级产品经理王磊在本次论坛最后的分享环节,讲述了华为云基于云原生技术构建的区块链开发平台的应用实践。
华为云提供了区块链服务平台本质上是一种 BaaS(区块链即服务),基于该平台企业不仅可以快速构建可信区块链联盟网络,而且可以利用平台组件层积木式的搭建上层业务应用,包括解决数据可信共享,数据可信计算,多方可信协同等业务诉求。
开发者在华为云BCS开发区块链应用时,并不需要关心底层复杂的数据格式、框架协议、源码编译等细节,可以快速完成环境搭建,开发人员可以聚焦在上层应用的研发中。在BCS的帮助下,原本需要十几天的底层环境工作可以减少到几分钟。
在开发态,平台提供了集成式的云 IDE 环境,可以在云端快速实现合约的编写、调试、验证、安装部署等工作。区块链网络和应用进去运维态后,BCS还可以提供了多维度的监控和日志能力,帮助开发人员快速检查各组件运行状况。在出现安全问题时,平台可以及时发送报警告知用户;遇到性能等运维问题时,用户也能通过监控和日志组合迅速定位故障点。BCS为区块链网络和应用提供了全生命周期管理和支持。
目前,华为供应链和北京经信局等各领域客户,都已经利用华为云区块链平台成功研发了区块链应用,并取得了令人满意的效果。未来不同的业务场景还会对区块链技术提出更高的要求,尤其在性能和安全方面,华为云即将推出 BaaS 2.0 云服务,性能可提升至5wTPS、在隐私保护、安全和易用性方面会进一步提升,同时通过跨链技术支持更大的扩展性。
云原生2.0时代,华为云与开发者共成长
华为云基于多年在技术社区的贡献,在容器、微服务、DevOps等技术领域持续创新,结合大量自身业务改造及服务企业级客户的实践积累,华为云将重点打造“创原会”等云原生交流平台,持续开源社区贡献,向开发者提供应用使能,AI使能,数据使能三大技术使能服务,使其轻松应对未来云时代的挑战,助力开发者在云原生2.0时代快速进化,持续成长。