在数字化进程不断加快的今天,企业面对的是一个复杂的环境,交付要更快、架构要更灵活、人员还要更精简。如果没有一套完整的方法论和工具链,这些很难全部做到。
在上云的过程中,部分问题可以得到解决,但要想做到真正的降本增效,还要从人员、方法、工具、平台等方面进行变革。这一过程中也有很多经验、平台可以直接借鉴。
11 月 18 日,华为云的多位技术专家走进南宁,在新一期的 DevRun 开发者沙龙上分享了他们在帮助企业进行数字化转型过程中沉淀的经验和技术。
值得一提的是,本次 DevRun 开发者沙龙还邀请到南宁市大数据发展局副局长张春为活动致辞,她表示,为了增加南宁的信息化人才吸引力,为本地企业输送高质量人才,2019 年 7 月,南宁市人民政府与华为共同成立了华为(南宁)软件开发云创新中心,引进了华为软件开发云平台。一方面,华为软开云服务为本地企业开发者带来了高效实用的开发工具、先进的软件开发理念,为南宁软件产业发展了注入动力;另一方面,华为软件开发人才培养云资源为高校培养了更多人才,训练学生掌握了企业级软件开发流程,提高了软件开发技能,减少了当地企业的新人培养成本。
用敏捷 DevOps 解决研发问题的最佳姿势
我们经常听说某公司几天或几周就上线了一款新的应用,而他们之所以能做到这一点,很多都离不开一种叫做「DevOps」的开发方式。
在传统的开发方式中,很多组织将开发和系统管理划分成不同的部门。开发部门的驱动力通常是「频繁交付新特性」,而运营部门则更关注 IT 服务的可靠性和 IT 成本投入的效率。两者目标的不匹配,就在开发与运营部门之间造成了鸿沟,从而减慢了 IT 交付业务价值的速度。DevOps 的出现改变了这一局面。
DevOps 由 Development 和 Operations 组合而成,它是企业内开发、技术运营和质量保障工作的融合,用于促进开发、技术运营和质保部门之间的沟通、协作与整合。DevOps 的出现很大程度上解决了开发和运维之间的管理混乱问题。
在数字化时代,企业都期望 DevOps 能够带来更高效的交付效率,提升客户满意度,但成功实践 DevOps 依然是一个难题。《中国 DevOps 现状调查报告(2020 年)》分析了中国企业 DevOps 的成熟度情况,发现处于初始级和基础级的企业依然超过六成;仅有 0.85% 的企业处于卓越级,能够做到 DevOps 全流程的数据化、智能化与持续改进。
那么,企业在转向 DevOps 的过程中究竟存在哪些难点,如何克服这些难点?在 11 月 18 日的 DevRun 开发者沙龙上,华为云 DevCloud 首席技术布道师徐毅进行了详细分析。
徐毅指出,要想向最终用户持续、快速地交付价值,企业需要从多个方面入手,全方位地提升 DevOps 能力。
首先,最为基础的是人与组织。在提升 DevOps 能力的过程中,企业要进行组织转型及人员技能提升,使得组织结构与业务特点和竞争环境相吻合,选择最合适的组织结构。
其次,企业需要从工程方法、最佳实践、生态与工具平台等 4 个因素进行 DevOps 变革。其中,工程方法是确保过程有序的关键;借鉴别人的最佳实践可以快速提升效果;生态指的是人与人之间的协作;而强大的工具平台则是工程方法、最佳实践的有效载体。对于 DevOps 来讲,离开工具平台谈 DevOps 变革是非常奢侈的。
除此之外,徐毅还指出了变革过程中的一些具体方法,如:从项目型走向产品型,考虑设立产品经理制,建立基于产品的价值交付型组织结构;训练出有规矩、讲纪律、有战斗力、能自管理的团队;将需求故事化,基于用户场景、信息共享、减少误解;基于代码分支模式进行协作,自动化构建部署流水线;借助业界的先进工具和实践快速提升基本能力等。
然而,对于企业来说,即使知道了这些模式,DevOps 能力的提升也很难一蹴而就。这是因为,业界的先进工具和实践都需要学习才能掌握,而且学习曲线是非常陡峭的。
为了帮助企业克服这一难题,华为云开发了 DevCloud 敏捷与 DevOps 专家服务,从人与组织、工程方法、工具平台、最佳实践等方面以咨询、辅导、培训、认证与评估等方式使能企业云化与数字化转型。
华为云 DevCloud 是业界首家打通研发态、运行态和运维态的 DevOps 平台。它实现了端到端 DevOps 的全覆盖。30 年研发实践积累提炼而成的华为云 HE2E 实施框架从理论上覆盖了「规划与设计、计划与跟踪、迭代开发、持续交付」4 大关键领域,使得华为云 DevCloud 支持从需求、设计、开发、构建、测试、部署、运维、反馈再回到需求,形成完整闭环,串联起了端到端一站式开发的方法论和工具链。
在 IDC 2019 年发布的《IDC MarketScape:中国 DevOps 云服务市场 2019 厂商评估》报告中,华为云 DevCloud 位居 Leaders 象限,在国内厂商中能力和市场份额两大维度均排名第一,全面领跑 DevOps 云服务市场。
低代码玩转应用开发
随着人工智能、物联网、区块链等领域飞速发展,传统行业在向互联网化转型的过程中,对软件技术的要求越来越高,软件实现越来越复杂,软件构建技术难度以指数级增长。这导致企业业务应用平台建设投资大、0-1 构建难、1-N 复制难等问题。与此同时,市场对于应用开发的需求也在与日俱增。全球知名 IT 研究与顾问咨询公司 Gartner 预计,2021 年,市场的应用开发需求将 5 倍于 IT 公司的产能。
与之相矛盾的是,软件开发效率却难以像摩尔定律一样快速提升。开发者被繁重、重复的代码绊住了手脚,非开发人员被挡在开发工具、平台的高门槛之外。此外,现实中的诸多不确定因素也让软件开发成果与工作量投入不成正比,包括人员之间的沟通协作、业务的灵活多变、业务与技术之间的鸿沟、软件工程师技能差异等。
在这一背景下,低代码开发以其可视化、快速便捷、结构化的形式特征成为软件开发的新趋势。近年来,国内外科技巨头纷纷加入了低代码开发平台的赛道,华为也不例外,他们开发的应用魔方 AppCube 低代码平台致力于让上述不确定因子变为确定性因子,这是软件开发效率改进一直努力的方向。
在本次开发者沙龙中,华为云应用平台 AppCube 运营经理刘国军详细解读了 AppCube 的关键能力和优势。
AppCube 是一个「平台 + 资产 + 生态」的低代码云化应用开发与运行平台。顾名思义,它就像一个魔方,可以让你通过任意组合,排列各种模块化元素,创建功能各异的应用。
作为一个 aPaaS 平台,AppCube 具有如下优点:
1.极大地降低了构建门槛,允许业务开发者、业务管理员等多种角色以低代码 / 零代码的形式参与到开发过程中。
2.加速了业务敏捷创新,利用丰富的组件与模板、积木式页面构建、简单易用的数据建模、灵活可视的服务 / 流程编排助力企业应用敏捷开发。
3.围绕行业场景,有针对性地沉淀与提供标准化开发能力。
4.缩减了企业 IT 与大型应用构建成本。
AppCube 的最终目标是成为满足多场景、多角色参与、深积累的平台,从而不断帮助行业客户与伙伴解决业务及工程痛点。
微服务架构带来的新问题怎么破
随着业务的发展,企业的团队规模往往越来越大,业务逻辑也越发复杂,但交付周期却越来越短。在传统的单体架构下,企业很难做到代码的重用、共享和跨团队合作,研发、测试、部署、维护的成本居高不下。而且,传统单体架构的可伸缩性、可靠性都很差,往往牵一发而动全身。这些弊端严重制约了业务的快速创新和敏捷交付。
SOA 架构的出现缓解了这些问题,但在互联网化的交互模式下,它也面临新的挑战,如在流量突发高峰时段不能及时调整,无法适应流量难以预知的互联网新常态。在此基础上,「微服务架构」的概念应运而生。
微服务旨在通过将功能分解到各个离散的服务中来实现对解决方案的解耦。它实现了各微服务独立自制和自动弹性伸缩,避免牵一发而动全身。此外,它还支持独立部署和 DevOps 服务快速上线。这些优点使其大大缩短了业务上线周期(可按天 / 周进行升级发布),提高了可扩展性。
但需要指出的是,微服务也不是「银弹」,会带来一些新的问题,如:微服务业务如何拆分?如何基于微服务框架高效开发和上线?在不可预期的流量下如何保证业务高可靠运行?
在本次的 DevRun 开发者沙龙活动中,华为云应用平台微服务产品经理丛琳琳分享了华为云微服务架构针对上述问题的解决方案。
华为云微服务架构的技术沉淀可以分为环境管理、服务注册发现、服务契约、负载均衡、灰度发布、限流、熔断和容错等几个方面,而这些都可以在华为云微服务引擎(CSE)和华为云 ServiceStage 平台中找到。
华为云微服务引擎的微服务开发框架打包了微服务注册、发现、通信和治理等基础能力,支持 REST 和 RPC 协议;微服务治理中心提供了微服务负载均衡、限流、降级、熔断、容错等治理能力;微服务灰度发布支持按权重和接口参数(例如用户群组或用户所属区域等等)定义微服务灰度发布规则等。而华为云的 ServiceStage 应用托管和微服务管理平台则可以帮助企业简化部署、监控、运维和治理等应用生命周期管理工作,面向企业提供微服务、移动和 Web 类应用开发的全栈解决方案。
华为云的微服务技术在传统企业上云的过程中发挥了重要作用。以坤德岩土为例,这家公司在数字化转型过程中面临微服务转化难的问题,华为云通过 ServicStage 平台和 DevOps 标准化、应用架构标准化、交付环境标准化提供了应用开发、整合、发布、监控及运维等一站式解决方案,快速完成了坤德业务系统微服务化架构的改造。
此外,华为云的微服务引擎也在使能数字政府、智慧园区、金融、工业云、新零售、制造能源等多个行业。
本次 DevRun 开发者沙龙的活动现场还请来了华为(南宁)软件开发云创新中心总经理欧桂坤和南宁云宝智城数据服务有限责任公司副总经理吴芸。
欧桂坤介绍了华为(南宁)软件开发云创新中心如何以华为云 DevCloud 为基础提供先进的产学研教学平台、软件集成开发平台和软件孵化创新平台。在南宁本地,华为云已经帮助 157 家企业、6 所高校上云。企业上云项目数高达一千多个,使用华为云 DevCloud 的开发人员达三千多人,总计提交代码两万多次,高校使用华为云DevCloud 创建在线课程 20 余门。
吴芸则介绍了南宁云宝智城如何围绕「数字产业化、产业数字化」的发展目标培育优质「上云」企业,推动当地经济高质量发展。她表示,为了更好地服务南宁市本地企业,云宝智城申请成为了华为云精英服务商,借助华为在 5G、人工智能、云计算、大数据、物联网、智慧城市等技术领域的领先优势,依托于精英服务商的特权为企业、高校、科研机构等提供上云服务。
活动最后,现场专家还带领开发者就「基于微服务搭建天气预报应用实践」这一主题进行了实战演练。
DevRun 开发者沙龙是一个分享知识和解决方案的平台。在未来的日子里,华为云的技术团队还将继续深入全国各地,为各地开发者搭建一个与华为云技术专家交流的平台,共建亲密互动的开发者生态。