《组装式应用交付-云巧-施磊.pdf》由会员分享,可在线阅读,更多相关《组装式应用交付-云巧-施磊.pdf(19页珍藏版)》请在三个皮匠报告上搜索。
1、组装式应用交付组装式应用交付-云巧云巧觉天(施磊)阿里云-全球技术服务部组装式应用交付的理念与方法PART 1 /项目实践案例PART 2 /面向未来的展望PART 3 /组装式应用交付的理念与方法PART 1数字化转型时代对IT架构的挑战Volatility 易变Uncertainty 不确定性Complexity 复杂性Ambiguity 不清晰多变的业务使得企业处在VUCA环境IDC:70%的企业未达到数字化转型预期VUCA48%未调整组织39%规划模糊70%转型未达预期79%未明确数字文化55%未具备移动办公73%未涉及商业模式改变中国企业数字化转型进展颇为不顺数字化已经成为共识,“加
2、快数字化发展 建设数字中国”进入十四五规划,但是企业对数字化的认知并不清晰。除企业的认知不足、组织配合不够等原因外,业务环境多变、数字化技能短缺也是主要原因数字化应用交付的画像与挑战缺乏统一的集成标准集成效率低跨团队合作,业务语言不统一重复造轮子应用云化,多云适配缺乏云原生最佳实践项目涉及多家伙伴交付55%伙伴的前端技术栈不一致以React、Vue、Angular为主42%有完整的前端工程体系普遍缺乏灰度、自动回滚、A/B Test能力12%未接入监控接入监控的项目,20%采用PrometheusZabbix等开源方案59%客户要求适配开源中间件比如开源Memcache、Kafka、ES、mi
3、nIO等48%项目涉及多云环境比如ZStack、Azure、华为云及客户自建机房17%未引入开发规范10%的项目未使用任何API管理工具27%项目存在需求不清晰的情况37%的项目需求变更频繁52%未统一领域建模标准缺乏DDD等领域建模实操47%中间件数据库对象存储消息队列密钥服务缓存CMDB监控搜索日志云底座客户端PC、H5、钉钉小程序安卓/IOS域名入口开放网关openapi.xxx.xxx接口网关api.xxx.xxx页面入口xxx.xxx防火墙API&SDK-服务端-业务域业务域业务域业务域业务域业务域业务域业务域业务服务通用技术服务登录人员账号权限流程消息搜索文档-数字化应用-企业主页
4、系统入口A系统入口B 客户遗留页面入口企业服务总线ERPCRM WMSOMSITSMHR系统客户遗留应用MySQLSQL ServerOracle客户遗留数据库-客户遗留系统-数字化时代的软件复用:组装式交付统一对外的集成界面,提升集成效率在API、页面、消息等等可以被外部集成的界面上,制定统一的规范。让开发者可以借助工具,快速集成已有软件单元,提升新业务开发的效率。面向业务,构建可复用的软件单元面向业务,规划可以独立提供服务的业务能力单元;技术设计上,用扩展代替耦合,避免对外部系统产生强依赖。屏蔽PaaS层差异,封装云产品使用的最佳实践抽象不同PaaS层中间件的差异,借助云原生框架,实现编程
5、的接口统一,提升软件的可移植性。产品复用不适配客户的业务创新诉求微服务复用不能完整表达业务组件级复用技术和业务完整闭环组件是更适合数字化定开场景的沉淀和复用的颗粒度Gartner在21年10发布重要战略趋势,提到可组装式应(Composable Application)良好的模块化划分将产生合适粒度的组件,既可以最大限度地提高敏捷性,又能保证组件内业务的完整性。模块化自治性最大化组件的自包含独立性。在业务应用设计中,在更改或替换其他组件时对其他组件施加的负担最小指组件为开发和运行时环境中的组装、集成和治理做好准备。可编排可发现可发现性意味着文档和其他元数据的清晰度、完整性和可用性,让交付团队轻
6、松找到组件可组装指数(Gartner)组装式交付最佳实践-云巧组装式应用交付体系-云巧云巧是基于组装式应用(Composable Application)理念提出的技术体系。针对应用定开交付场景,解决技术资产高效沉淀和复用。1体系云巧组件的定义和标准具备UI,可以独立运行并提供访问利用云原生技术,预集成云产品,适配不同PaaS可独立运行业务闭环组件的业务逻辑独立而完整遵循高内聚,低耦合的业务设计原则统一UI规范、API规范等可以被微前端等技术组装,提升集成效率可组装开发者友好支持修改源代码来定制开发做好日志埋点、链路追踪等工作Autonomous(自治):最小化组件依赖,独立运行自闭环Clou
7、d Native(云原生):支持容器化部署与弹性运维Cataloged(可发现):具有良好的自我描述能力Ochestrated(可编排):支持常用协议,能被方便组装Robust(健壮):质量保障,易于运维Domain Driven(领域驱动):领域驱动,明确业务价值和边界云巧组件的定义云巧成熟度模型数据和元数据消息API微服务微服务UI预集成云产品微服务21年1月发布第一个云巧组件通过复用组件,提升交付效率和质量数据自包含独立功能组件消息APIUI前端后端移动端交付项目UI应用集成Application Composition Platform云巧工程体系三要素组件的集成管控平台提供各种自动化
8、集成工具和管控工具的一站式平台,加速集成效率,提供运行时管控能力。运行态中心化管理的组件市场对组件进行统一托管,设置技术准入门槛和上架机制,工程化解决组件的上行和下行流程。设计态组件的标准化生产平台按照既定的技术标准,并能够在软件研发流程中贯彻标准执行的开发平台。设计态资产下架资产使用资产上架中心化管理的组件市场标准保障DevOps组件的标准化生产平台提供完整的集成能力:页面集成 API集成 API编排 数据交换 事件编排组件集成管控平台组件集成管控平台组件装配组件生产应用集成运行时管理下架通知依赖确认资源回收下架审批资产装盘资产申请资产下行资源初始化知识产权确认可见性设置行业分类上架审批架构
9、守护代码门禁质量卡点成熟度评分环境搭建资源规划开发管理发布管控组件的标准化生产平台BA/PD/TM业务设计业务设计/架构设计架构设计围绕领域驱动设计业务建模方法,BA/TM可以对自己的业务开展事件风暴建模工作坊,或者其他领域建模方法。建模结果可以沉淀到云巧工坊中。前端开发前端开发快速开发快速开发/用户体验保证用户体验保证前端采用KOI工程脚手架,提供开箱即用的标准和研发方案。使用B-Design设计系统,前端开发能够开发出统一的视觉风格,好处是让不同的组件组装起来能为用户呈现统一的视觉风格,和一致的交互体验。后端开发后端开发快速开发快速开发/架构守护架构守护使用Dayu boot 2.0,后端
10、开发人员可以快速初始化工程,可以直接上手写代码。使用领域模型生成代码,大大提高后端开发的效率。基于领域驱动设计战术工具,设计了一套开发框架,后端开发能使用这些框架可以写出更规范的代码,并且直接获得架构可视化的能力。BA/TM/客户客户架构可视化架构可视化/架构洞察架构洞察业务流程可视化质量标准可视化领域模型可视化应用服务应用服务 对于BA/PD,平台通过可视化领域模型的方式承载了核心业务的业务知识,用于与研发沟通的统一语言。对于TM,这些领域模型可以生成代码,作为领域模型与实现映射的途径。组件中心化管理与分层云巧Framework通用组件4A组件表单组件流程组件对象组件门户组件网关组件消息组件
11、规则组件内容管理组件搜索组件标签组件数据开放组件字典组件多语言组件文档组件安全规则密钥管理存储加密访问控制工程脚手架Dayu Boot通用SDK分布式调度分布式锁通用幂等接口重推分布式多级缓存安全加固异步任务补偿领域事件链路埋点工程脚手架KoiQI(自研)视觉规范B-Design(阿里云UED团队)控件库工程脚手架IOSAndriod监控探针流量染色链路追踪信息采集业务组件营销组件交易组件支付组件卡管组件商品组件事件中心组件通办事件管理组件通办智能审批组件物料管理组件排产组件资源管理组件文书组件场景码管理组件工艺管理组件质量管理组件参数加密组件分布式参数组件客户端启动检测组件资源报障组件数据资
12、产目录组件物流规则组件LBS可视化组件物流定位组件安全加固组件对账组件IoT设备管理组件空间管理组件数字化应用交付零售金融制造数字政府能源物联网互联网医疗农业交通通讯媒体Open SearchRocket MQ云原生应用交付平台云盾内容安全实人认证SAE应用身份服务UIPaaS移动端稳定性开发套件物流场景开发套件技术共建集团能力输出QiankunAEMOSSRDSKMS工具组件的集成与管控组件集成管控平台组件集成管控平台数据和元数据消息API微服务页面云巧组件云巧组件-自动化集成(自动化集成(Low Code)-运行时管控运行时管控-页面编排API编排数据交换事件编排可观测性注入安全加固行为审
13、计数据事件页面API数据和元数据消息API微服务页面云巧组件云巧组件数据和元数据消息API微服务页面云巧组件云巧组件交付应用交付应用工程体系-构建组装式的软件供应链云巧平台交付项目01 选配组件选配组件开发者/架构师根据客户SOW,在云巧市场上寻找合适的组件,构成组件装配单。组件装配单组件装配单4A组件流程组件表单组件门户组件02 初始化初始化云巧市场:自动初始化研发项目,包括Fork组件代码、分配云资源、构建流水线。云巧工坊:基于云巧的开发框架,初始化新的定开应用。已有组件.定开应用开发者04 组件沉淀组件沉淀经过组件上架的流程,新组件沉淀到云巧资产市场安全合规检查知识产权确认敏感信息扫描代
14、码安全扫描云巧成熟度评分组件管理行业分类组件打标资产上架到云巧市场.03 定制化开发定制化开发可以对已有组件进行定制化修改。新增集成层微服务、或者通过云巧的组装平台进行应用之间的集成工作。集成开发/云巧组装平台.快速形成“研发基线”CI/CD交付GTS统一工作台研发项目管理研发项目管理GTS统一工作台公共云部署公共云部署阿里云ADP专有云部署专有云部署客户应用内分层架构项目实践案例PART 2数字化项目案例(一)项目背景项目背景某大型制造业公司,需要对其核心的零件制造系统进行全面上云和改造,并且充分使用云原生的技术架构。交付挑战交付挑战交付亮点交付亮点制造业的核心业务领域,业务复杂度高,且项目
15、工期压力较大。引入两家合作伙伴来进行研发交付,两家前端的技术栈不一样,集成挑战大。基于云巧,快速交付了一个企业级基础设施,提升效率。按互联网性能要求设计的云巧组件,完美支撑业务挑战。企业级“组装式”微前端体系,解决大型项目多生态协作,跨技术栈集成等问题。交付成果交付成果快速完成开发并上线,功能复用率超过 60%。组装式开发模式受到客户CIO高度认可,客户也希望实践组装式开发。架构方案架构方案云巧页面组装平台(FIP)流量入口(页面访问、接口访问)流程组件云巧组件数据开发组件对象组件表单组件4A组件文档组件门户组件消息组件基于域名+路由,通过客户端渲染进行前端组装的运行时平台制造业务企业经营管理
16、系统伙伴伙伴A-Vue生产制造管理系统伙伴伙伴B-React文档计划任务质量问题过程生产排期零件设计生产执行零件计划定开应用FIP 管控平面应用接入应用接入多域名管理/站点管理路由管理路由管理路由分发/路由映射发布管控发布管控审批/灰度/历史/回滚线上稳定性线上稳定性监控/日志/告警云巧网关组件客户端客户端fip-client(页面渲染、登陆跳转、多版本管理)客户端客户端fip-client(页面渲染、登陆跳转、多版本管理)其它服务其它服务API管理端 fip-admin前端应用(前端应用(React)前端应用前端应用B(Vue)C端页面流量API流量配置同步配置同步配置同步配置同步B端页面流
17、量访问发布CDN应用AAPPAPI集成组件应用BAPP应用CAPP数字化项目案例(二)项目背景项目背景某高速公路项目,连接某省多地的高速公路,需要在高速路段沿经的多地部署数字化系统,融合AI技术,对高速逃漏税费进行稽核。交付挑战交付挑战交付亮点交付亮点涉及多个异构局点,环境复杂,除了阿里云产品,还需要适配友商底座和开源产品,挑战在于如何减少适配成本需要部署遗留应用,如何在不改代码的情况下,将其纳入监控是一大难点通过Sidecar技术,以低侵入性的方式为对应用可观测性进行增强,并且兼容Open Telemetry协议。通过阿里云ADP,把云原生底座一起打包,具备离线部署能力交付成果交付成果1周周
18、时间,在1个个中心+6个个边缘局点完成异构部署,适配顺利受到客户好评。架构方案架构方案组件4A组件流程组件模版XpayGmall云巧市场资产名称资产类型版本信息代码分支4A组件组件0.0.3master流程组件组件xxxmasterAPI集成组件组件xxxmaster可观测安全加固密钥管理云巧组件AI稽核应用组件AI稽核数据组件云巧管控平面-无感地为业务提供可观测等能力Object StoreMQCacheES客户环境云巧信息采集应用探活链路追踪流量染色安全规则密钥服务存储加密访问控制可观测中间件安全可信集成阿里云ADP打包功能,具备离线部署能力遗留应用A遗留应用B装配单装配能力云巧sidec
19、ar云巧sidecar云巧sidecar云巧sidecar遗留应用面向未来的展望PART 3让企业自身具备组装式交付的能力配套组织:中心化的技术团队,对组件市场进行统一的维护和管理。以组件复用作为目标引领。面向业务的融合团队:由技术专家和业务专家共同组成,不断结合业务场景,沉淀和复用组件。企业建设或采购能落地组装式交付的工程平台,包含组件生产平台、组件市场、组件的集成管控平台这三个要素。组装式应用交付组装式应用交付中心化管理的组件市场组装式交付工程体系组装式交付工程体系组件的标准化生产平台组件的集成管控平台组件定义成熟度模型配套组织价值量化组装式方法论组装式方法论数字化转型数字化转型客户目标业务创新 平台工具服务资产顶层设计实施咨询政府客户零售客户金融客户工业客户农业客户赋能客户赋能客户云底座云底座Thanks