Serverless的优势在于低运维、无运维,开发者使用云开发平台可以从业务迭代出发,在多套环境(测试、预发布)验证(压力、性能、稳定性测试)后上线进行灰度(百分比),观测相关监控指标与功能性验证后进行线上全量部署,而这一切均可以在Cloud IDE中操作完成。当业务流量有峰值时底层的FAAS会进行相应的扩缩容实现弹性。此后根据用户反馈或业务迭代进行进一步开发。
轻量级的DevOps带来了几个好处:
更短的业务迭代周期:覆盖应用全生命周期的工作流与自动化能力将带来应用持续交付能力以及跨团队协同效率的大幅提升,进而缩短业务的交付周期。
更合理的人力资源分配
更稳固的应用交付质量
轻量级DevOps自然有它的可取之处,可对企业而言却存在一个致命的问题,那就是如何兼容已存在的CI/CD流程。企业不可能立马摒弃现有的运维系统去采用云开发平台提供的部署流。大多数公司都有自己的开发工作流程,这包括内部代码托管、团队协作、权限控制与风控、公司独特的CI/CD,如何低成本的兼容这套原有体系是Serverless应用能否“本地化、私有化”,让企业和开发者接受与认同的最关键的一点。
云开发平台通过提供一个本地部署套件以插件的形式嵌入企业原有的发布流程中,以低侵入性、高扩展性、灵活的兼容性实现项目快速迭代,在不影响原有开发流程的前提下做到开发者无感知。本地部署套件可以让企业可以大胆尝试Serverless架构而无需考虑运维兼容性的问题,同时也可根据云开发平台的OpenAPI自定义工具实现DevOps的工具化与智能化,南北双向满足需求。
云开发平台对开发者的形态进行总结,把他们划分为三个层级:
对于小白、无历史包袱开发者,云开发平台提供了一个从创建、实现、测试、构建、部署全部环节的集成研发环境,支持一站式在云开发平台上实现Serverless应用。
对于有研发体系的ISV,研发、测试在本地完成。云开发平台和ISV的分工界面在代码仓库Codeup上,云开发平台提供全套CICD功能,开发者提交代码到Codeup上后,CICD功能、资源编排都交给云开发平台。
对于有研发体系并且有CI体系的ISV,提供基础设施的编排以及CD功能。
对于二、三层级,云开发平台通过提供OpenAPI接口,支持ISV进行集成,和ISV现有研发体系无缝融合。
通用行业解决方案云开发平台通过行业场景与解决方案将技术与商业进行链接,通过将各行业最成功的技术实践案例抽象封装成一个个的行业场景解决方案,开发者可以基于云开发平台之上呈现出来的行业场景解决方案去创建一个应用,极大地加速商业化效率以及降低前期技术架构领域研究及准备的综合成本。
通过常见案例的切入并抽象为通用的场景需求,如天猫精灵应用、微信与支付宝小程序营销、前后端分离应用、博客、微服务等,对其进行解析。云开发平台从两个方向进行预处理:
分析和生成一个基于阿里云产品矩阵构成的云原生 Serverless 架构
将依赖的资源做打包上传
随后生成任务,通过 ROS,逐一进行生产、创建、安装,直至一个行业应用被初始化完成,最后发布到官方解决方案市场。
通过解决方案的自动实例化处理,我们实现了云开发平台最为核心的能力:
帮助行业开发生态格式化、规范化地沉淀经验;
帮助行业开发生态快速分发、复制行业应用开发经验;
帮助行业开发生态无缝升级至先进的云原生Serverless架构;
帮助阿里云无缝被集成至用户业务之中;