元年

从装配式建筑流行看云原生技术平台的价值(二)

方舟平台· 发布时间:2022-01-17

如同建筑工程技术、工艺的飞速发展一样,在企业数字化建设的道路上,通过不断的项目研发和经验积累,元年方舟四层技术能力架构共同打造了稳定,高效,易用的方舟低代码平台产品。最重要的基础技术能力,系统基于云原生设计思想,采用微服务技术实现,使用容器化部署方式,基于先进的技术架构打造了坚实的基础能力。

在上一篇文章讲述容器及微服务是如何提升应用速度后<点击查看上篇文章>,我们再来看看元年方舟企业数字化PaaS平台中DevOps(开发运维一体化),CI/CD(持续集成/持续交付部署)等能力的价值。

DevOps 软件工程与建筑学的纠葛故事

DevOps的概念诞生于2009年,但直到2014年,随着容器与微服务的发展,DevOps才被业界所重视。DevOps不单是一个实现自动化的工具链,而是组织、流程与技术的结合。组织上强调全栈团队、团队特性专一、团队自治;技术上打通开发与运维;流程上强调端到端、可视化、灰度升级、A/B测试等。


我们不妨将时间回溯到20世纪60年代,这一时间点上业界发生了著名的“软件危机”。在此前,软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,很少使用系统化的开发方法。这样的做法造成软件可靠性没有保障、软件维护费用不断上升、进度无法预测、程序人员无限度地增加等各个方面,以至形成难以控制软件开发的局面。此后,业界希望通过科学体系化的方法来进行软件开发,最早的瀑布模型就是来自于建筑学的模式。

元年DevOps体系

瀑布模型是典型的预见性方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格、设计文档、测试计划和代码审阅等等。而随着时代的变化,这种来源于工业建筑学的生产模式已经难以满足当下的软件生产需求,尤其是越来越多的需求不明以及在项目进行过程中的变化。

人们对于装修的概念中都少不了那些恼人的电钻或是电锤声,还有现场数不清的石膏、水泥、管线等物料,以及各类建筑垃圾。而在经历了以月为单位的施工时间后,等待我们的可能还有人为因素造成的地面或是墙面的不平整、水电爆管,以及后续的墙体开裂等隐患。现如今,装配式装修的出现大幅度的提升了装修体验,更快的施工时间、更低的环境影响以及更高的装修质量。这得益于装配式装修所采用的干式工法装配,即规避传统装修方式中采用的石膏腻子找平、砂浆找平、砂浆粘接等湿作业,而改为采用锚栓、支托、结构粘胶等方式实现支撑与连接构造。

从元年DevOps总览图可以了解到元年DevOps体系包括组件管理,代码管理,环境管理,流水线管理,容器管理等部分:

组件管理:平台通过模版的方式预置了可应用到DevOps各个环节的基础组件,并可以在模版的基础上进行自定义配置,从而更加灵活的为流水线服务。

代码管理:可以管理代码仓库,代码分支。

环境管理:管理物理机,VM虚拟机以及构建容器使用的环境。

流水线管理:管理流水线模版,参数,及对应的插件。可以创建,运行和回收流水线。基于流水线动态构建容器,部署服务,发布版本等。

容器管理:管理容器仓库,编排容器,构建容器,弹性扩缩容,并监控容器运行状况,故障转移等。

正如近年来“装配式”在建筑家装行业所引发的飓风,DevOps也正在软件工程行业中催生变革。其不仅考虑了开发环节中的内容,同时还将运维过程涵盖其中,以更小的颗粒度划分来帮助团队更高效的展开工作,更快交付更高产品从而有效提升客户体验。

持续集成

持续集成指的是开发人员频繁的将所有开发者的工作合并到主干上。这些新提交在最终合并到主线之前,都需要通过编译和自动化测试流进行验证,以保障所有的提交在合并主干之后的质量问题,对可能出现的一些问题进行预警。持续集成的核心在于确保新增的代码能够与原先代码正确的集成。

这就像是装配式装修区别于传统装修的另一点:通过部品集成定制从而避免现场进行二次加工。部品集成是将多个分散的部件、材料通过制造集成一个有机体,使得在性能提升的同时实现了干式工法,易于交付和装配,同时还能满足个性化定制需求。因此,我们可以在某个供应商处选择各种不同颜色、纹饰、材质的地板、墙板、吊顶等等部件进行搭配,而不用去担心更改可能会对整体产生的物理影响,因为相应的部件都是在工厂已经被验证完成过的。而在行业标准件中,甚至可以选择不同供应商的产品部件去实现各种个性化的混搭。

持续交付与持续部署

在完成CI中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。为了实现高效的持续交付流程,务必要确保CI已内置于开发管道。持续交付的目标是拥有一个可随时部署到生产环境的代码库。而对于一个成熟的CI/CD管道(Pipeline)来说,最后的阶段是持续部署。作为持续交付——自动将生产就绪型构建版本发布到代码存储库——的延伸,持续部署可以自动将应用发布到生产环境。

顾名思义,我们试着更简单的理解:持续交付的意义在于可定时自动的将完成最新集成的软件部署到测试(或是类生产)环境中进行验证,从而更快速的得到相应的反馈。而持续部署则是将验证通过的发布版本定时自动的部署到生产环境中。

持续交付的好处:

繁琐的部署工作没有了。团队不再需要花费几天的时间去准备一个发布;

可以更快的进行交付,这样就加快了与客户之间的反馈环;

轻松应对小变更,加速迭代。

在已经完成装修的房屋中如若发现管道漏水或是线缆断裂怎么办?只有凿开墙壁进行检查,在更换完成后等待我们的还有墙壁的复原工作。而在装配式装修中,管线与结构分离,即设备、管线不在房屋结构中预埋,改为填充在装配式空间的六个面与支撑结构之间的空隙中。当管线出现问题或是升级需要更换时,只需要打开相应的结构件更换即可。

签约持续部署的好处:

发布频率更快,因为不需要停下来等待发布。每一处提交都会自动触发发布流;

在小批量发布的时候,风险降低了,发现问题可以很轻松的修复;

客户每天都可以看到持续改进和提升,而不是每个月或者每季度,或者每年。

对于供应商而言,CI/CD可以尽可能的保证代码零库存,从而更快速的创造出商业价值;而对于用户而言,以天为单位持续不断的获得稳定的改进更新将极大的提升其满意度。

结语

正如前文所言,云原生不是一个产品,而是一套技术体系和一套方法论。云原生既包含技术(微服务,容器等基础设施),也包含管理(DevOps,持续交付,重组等)。云原生也可以说是一系列云技术、企业管理方法的集合。

元年方舟企业数字化PaaS平台正是摄取了元年科技20年企业软件开发与服务过程中的经验结晶,其不仅具备了云原生的一系列特性,还融入了低代码快速开发与AI驱动等先进能力。方舟平台采用先进的技术框架,基于统一的架构解决技术先进性难题。利用可视化建模思想,采用配置化的开发方式,通过重塑开发流程大幅降低开发成本,同时也减少了对专业人才的依赖。并且通过一致的数据描述,天然统一了数据标准和数据口径,为数据打通提供了基础。通过元年方舟企业数字化PaaS平台,企业不仅可以构建领先的IT架构,同时实现研发的降本增效,继而支撑企业的业务创新。

>>

解决方案

白皮书

研究报告

咨询热线

400-680-2995