数字中台是基于云原生、大数据和人工智能等新技术打造的共享服务平台,是数字新基建的新形态。数据中台包括业务中台和数据中台双中台,基于双中台的数字中台建设,对企业IT规划提出了更高的架构设计要求、技术要求以及系统特性要求。为了更好的支撑数字中台建设,需要搭建与之匹配的技术平台,从而更好的支撑长期发展。
自2016年开始就致力于数字中台的云徙科技认为,支撑数字中台的技术平台是基于云原生架构体系打造、服务企业数字化中台建设的全景化平台底座,而服务于数字中台的技术平台还提供了更广的功能,包括研发服务、前端技术体系以及网关、多云适配、混合云管理和开放平台等,涉及多个领域的技术能力和工具集,最终目的是为企业数字化转型提效赋能。
今年以来陆续获选进入2020中国科创企业百强榜、毕马威中国零售消费科技50强、阿里云新零售合作伙伴计划核心伙伴等的云徙科技,已经推出了完整的面向大型企业的“数舰”中台产品矩阵,底层则是历经四代迭代的技术平台。云徙科技首席架构师陈新宇强调业界对于技术平台有着不同的观点,技术平台不是技术中台,技术平台的范畴比技术中台更广、含义更深远。
当前,业界对于数字中台的观点比较混乱,特别对于支撑数字中台的底层技术平台,也有称之为技术中台。云徙科技通过自己4年多的实践,认为技术平台是一个平台体系,支撑了业务中台、数据中台以及上层业务系统与应用的开发、运行,是整套数字中台体系完整运行的工具和环境。技术平台提供工具集,可覆盖敏捷开发测试DevOps流水线,也包含了大前端产品,还为双中台和应用系统提供良好的运行环境和监控管理模块。
具体来看,技术平台为企业数字中台提供了7大价值:体系化工具链、全角色协同开发、需求全生命周期跟踪、低代码开发、全平台构建、完整应用生态以及多维度数据度量。
首先,在体系化工具链方面,技术平台是数字中台的底座,向上支持业务中台和数据中台以及数据化的业务运营,更支持丰富的前端应用。技术平台在数字中台最底层打造体系化的工具链,把研发、生产等环节所需的工具全部串联在一起,避免割裂式的研发流程,让整个数字中台的建设规划形成一个有机整体,成为研发的高速通路。基于这样思路构建的技术平台,可以让研发团队各角色都能快速找到所需的工具并降低使用门槛。
其次,全角色的协同研发。数字中台建设需要一个技术研发团队共同配合、推动协同,其中包含多种角色人员——经理、业务架构师、后端开发、前端开发、大数据开发、APP开发人员等,每一种角色都有自己所关注的领域以及适合的工具,通过统一的技术平台让所有人员在一个平台上协同操作,并允许所有人都能够协同察看整体工作内容和任务进程,从而有效提高协作效率、降低管理成本、优化业务流程,促进数字中台建设。
第三是需求的生命周期跟踪。对于数字中台建设来说,需要从多方面了解需求,到底哪些是真实合理的需求、在每个阶段的实现进展如何、最终是否实现以及由哪个功能承载等,都需要跟踪跟进。由于技术平台的规划和建设十分宏大,可以将宏观的设计分解为微观的需求,通过跟踪和回溯了解需求的真实状态、开展与完结时间点、最终验收时间点等,通过链路进一步提升业务的可建性,确保合理并且正确的需求在技术中台建设中以敏捷方式快速落地。
第四,因为业务的不断变更和创新,推动了对低代码开发的需求。传统的开发方式需要开发人员编写大量代码,导致开发周期长、容易产生重复代码、难以保证软件质量、开发效率较低,因此带来低代码开发方式的兴起。这就要求技术平台引入数据驱动式开发,将代码开发转换为创造性的设计,类似于搭积木拼装,可以大幅提高整体开发效率。
第五,支持全平台构建,方便不同技术栈开发人员使用。因为在数字中台的建设过程中,研发团队所采用的技术百花齐放,因此需要一个技术平台打通不同的架构,包括不同编程语言、底层平台和技术栈,实现统一的持续构建和支持更加丰富的应用构建模式,解决企业多团队、多技术栈以及多种复杂技术场景的归一问题,降低多个平台研发、调试的成本。
第六,完整的应用生态。技术平台需要提供以应用为核心的视角,围绕应用拓展整体功能,包括应用的分类管理、形态管理、生命周期管理等。例如,应用形态包括传统的主机模式以及后来的JAVA框架等,随着互联网和云原生技术的不断发展,Docker等应用形态也有多种选择,技术平台要支持多种运行方式的管理,让企业数字中台建设和数字化转型平滑完成技术过渡。
最后,技术平台产生了大量数据,包括开发过程、测试过程、运行状态等。有了数据的支撑,研发过程就可以不断的优化、提效并且追溯,软件整体架构设计也更灵活、更健壮。数据报表也可从不同维度展现整个研发的过程和结果,为后续决策提供指导。
当前,技术平台并没有统一的标准,数字中台的建设可以选择各种技术构建能力中心和中台体系。这就需要根据企业的业务属性要求,特别是行业特定的要求,判断选取不同的技术栈、软件系统和规范标准,建设相应的技术平台。
技术平台涉及的范围较广,既可以看作是工具集也可以看作是整体技术解决方案。技术平台更强调的是资源整合和能力沉淀,目的是提升整个数字中台建设效率。技术平台需要根据数字中台建设的要求,选择具体的技术并且提供相应的技术赋能。同时技术平台的整体建设,也需要组织架构调整配合,例如敏捷管理就需要企业进行敏捷文化转型、构建敏捷小组等,否则对技术平台的支撑就薄弱很多。
企业在建设技术平台时,需要选取相应的工具和平台并串联在一起,而底层可选择的技术工具非常多,每一个点上都有很多工具可选,如何将独立的小系统、小平台、小工具整合串联在一起,是技术平台的重大挑战。这就需要根据数字中台或者具体应用场景来选择具备共性属性的工具,再将这些工具结合起来,然后根据业务中台或者数据中台的建设需求并结合现有的行业经验和行业实践,确认企业的技术平台架构。
技术平台的规划和建设,实际上是需要在数据中台建设初期就要考虑清楚,从而更好地助力整个传统企业数字化转型、提升生产效率。
技术平台的设计原则:第一是通用性。一个具备市场竞争力和可持续发展的技术平台,其架构应该是稳健或者短期内不进行重大变更,能够很好的支撑业务发展,也不会随着业务需求变更而发生大的变动。对于数字中台和技术平台服务商来说,由于需要服务各行各业的数字化转型,每个行业都是自己独特的专业性,因此技术平台作为辅助数字化转型中台系统的体系化工具平台,需要从各行各业中提取出研发的共性,同时吸纳个性化需要。
通用性指的是能够适配或者覆盖全景的研发技术场景,支撑更广泛的业务使用场景,包括通用的代码侧管控、分支标准、代码提交、CICD、测试业务等。当然也可以吸纳一些特性,比如某些行业对安全审计的要求特别高,而这个特性对于整个平台的功能构成来说也非常重要,因此也可以建设到技术平台中。
第二是先进性。先进性就是采用较为先进和流行的软件工程方法,选择能够满足支撑业务需求且较为流行的技术体系。先进且流行的技术,通常也是经过一段时间和多方检验,能够很好的支撑业务不断发展。例如当下采用的云原生架构体系,可以很好的提高资源利用率,并且能够促进运行其上的中台和不同系统的融合,提高整体软件的研发效能。目前的双中台建设,与之整体配套的技术平台相对落后,技术平台理念跟不上业务系统的架构和设计,无法与业务更好的配合,导致后期业务或应用系统扩展时,遇到更多的麻烦和问题。
第三是可扩展性。市场千变万化,企业业务也会随着时代的发展变得越来越复杂,技术平台也需要不断的进步和扩展,适应业务创新和快速变更,因此可扩展性非常重要。可扩展性指的是整个平台的技术架构相对稳定,平台应用之间低耦合和高内聚,可以对平台本身的需求进行快速的响应。
第四是易用性。例如现在流行的微服务分布式架构,涉及的面比较广、涉及的技术也非常多,那么平台操作是否好用、方便、简单,是否具备友好的指引等,都需要大量的总结,特别是可视化界面更直观、形象地展现具体工作模块,提供通俗易懂的操作步骤指引,这都是易用性的良好表现。站在不同使用者的角度,考虑整个技术平台建设需求以及设计平台功能,需要以用户为中心并且不断收集反馈,这样才能构建出具备高易用性的技术平台。
从2016年成立至今,云徙科技走过了4年,目前其技术平台可以支持业务透明地使用不同的微服务技术,业务与技术充分结耦,支持整套开源技术方案。
云徙科技的技术平台经历了4代迭代更新:微服务方面,从2016年支持阿里HSF到2018年的Dubbo和Spring Cloud再到2019年全面支持Istio、K8S和ServiceComb等微服务技术;部署环境方面,从2016年的阿里EDAS和Docker环境到2018年的AWS和K8S环境再到2019年华为云和微软智能云Azure;如今,全面进入FaaS时代。
在技术平台的技术栈方面,无论是开源还商业技术工具与平台,云徙科技都提供相应的支持。大前端体系目前采用的React体系、后端为Spring Cloud,网关为Spring Cloud Gateway和Sentinel,通信协议支持Dubbo、HSF和REST,服务注册发现支持K8S Service、Nacos和ACM,服务治理支持Istio、ServiceComb和EDAS,消息队列支持RocketMQ、RabbitMQ、Kafka和ActiveMQ,数据库支持PostgreSQL、MySQL、DRDS、MyCat,NewSQL支持PloarDB,存储支持Hive、HBase、HDFS、RDS和ADB,镜像仓库支持Harbor以及K8生态的ChartMuseum等。可以说,云徙科技技术平台的技术栈,囊括了目前开源主流和商业技术体系以及虚拟化与云服务。
云徙科技的技术平台架构分为底层的多云适配器,包括微服务适配器、中间件适配器和大数据适配器;中间层的研发服务平台,包括研发协作平台、低代码开发平台、移动开发平台、数据开发平台和运维监控平台,当然这是从功能逻辑上划分为五大平台,实际上为一个统一的研发服务平台;最上层是网关层。
在中间件适配方面,云徙科技技术平台通过适配层以隔离具体能力提供者和业务代码,便于技术升级、根据需要选用具体提供者以及便于搭建开发、测试、预发和生产等不同环境,底层支持阿里云、华为云、AWS、Azure等不同公有云厂商提供的中间件产品以及众多开源中间件。在网关层,云徙科技技术平台提供了丰富的API Gateway封装,包括了认证鉴权、安全防护、流量管控、路由服务、API全生命周期、协议转换等通用的网关类功能,也提供了自定义组件、服务编排、集群和多节点等以及监控中心和API集市等扩展功能。由于网关作为中台和外界连通的门户,很好地解决了调用、路由、协议适配、统一接入的问题,云徙科技将对外控制由网络层转化为应用层,减少了变更流程和成本。
大前端方面,云徙科技目前采用React体系打造统一的技术栈,包括适配PC端、小程序、APP等以及iOS、安卓操作系统等,都是用统一的前端体系打造。云徙科技技术平台的大前端体系还提供组件、模块、站点等三种抽象形式,帮助企业快速实现和灵活组合业务:通过前端组件化将共性业务抽象为组件;在组件化的基础上利用现有模块快速创建应用;以及在现有模块聚合应用的基础上快速聚合出站点。
云徙科技的研发协作平台,包括底层的资源管理即私有云、公有云、混合云等基础资源管理以及镜像管理、对象存储和代码仓库等;中间是研发协作管理层,包括敏捷管理、开发管理、测试管理、部署管理、监控运营等,例如敏捷管理包括需求管理、任务管理、会议管理等;最上层为统一的平台管理层,涉及到组织管理、统一登录、权限/角色管理、消息管理、钉钉和微信等第三方对接管理。在低代码开发方面,云徙科技提供了基于React/Vue的Project Maker和Page Maker、针对API的API Maker、针对脚本的Script Maker等。而在自动化测试和移动开发方面,云徙科技也都提供了相应的支持。
在数据开发平台方面,云徙科技也提供了相当丰富的组件与功能:在引擎层,支持MapReduce、Tez和Spark等批量计算引擎,HBase、 Elasticsearch、TiDB、Impala等异构数据库引擎,Spark Streaming、Flink和Storm等流式计算引擎,Spark MLlib、XGboost和Mahout等机器学习引擎;组合接入层提供租户隔离、资源管控、权限隔离、负载均衡、统一函数、统一变量和统一资源文件;数据研发门户则提供数据开发IDE和流程编辑等平式数据开发、数据可视化、数据资产管理等丰富的工具与组件。
云徙科技技术平台的运维监管,也集成了开源的Prometheus、Grafana Labs等基础设施监控,Elasticsearch、Fluentd、Kibana等统一日志管理,以及应用链路调用监控和拓扑分析方面的多种开源组件等。
整体而言,云徙科技构建的技术平台,优势包括:标准高效的低代码开发;连通所有用户和设备等的统一平台;全平台多端适配;继承支持主机模式、容器模式等的多运行环境;支持数据私密的私有化;可自由迭代的开放架构;与时俱进,支持新技术;基于开源,长期发展;以应用为核心,通过数据度量测度业务需求实现。
总结来看:支持企业数字中台建设的技术平台是一个宏大的全景式平台化技术底座,需要为业务中台、数据中台以及数据化业务运营和前端APP开发等提供丰富而全能型支撑,这就对数字中台视角下的技术平台建设提出了相当高的要求。以云徙科技为代表的技术平台,经历4年多的发展,为数字中台的技术底座建设提供了一个样板,也为数字新基建描绘了新的蓝图。(文/宁川)