工具篇:云效云原生 DevOps 解决方案(一)|学习笔记

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 代码管理,基础版人数 不受限
云效 DevOps 测试管理,基础版人数 不受限
简介: 快速学习工具篇:云效云原生 DevOps 解决方案(一)

开发者学堂课程【ALPD 云架构师系列-云原生 DevOps36计工具篇:云效云原生 DevOps 解决方案(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/82/detail/1267


工具篇:云效云原生 DevOps 解决方案(一)

 

内容介绍:

一、云研发时代

二、云研发时代现状及问题

三、云原生持续交付实践

四、云原生持续交付实践解决方案

五、典型场景

六、总结

阿里云云原生 DevOps 解决方案云校联合云原生团队打造的云原生 DevOps 一站式解决方案,帮助各种规模和阶段的企业高质量低成本的享受技术升级带来的研发福利,接下来将带来阿里云云原生 DevOps 的解决方案。

 

一、云研发时代

现在是云研发的时代,什么叫作云研发时代?其又有哪些特点?首先,在云研发的时代,基础设施要可靠、低成本、高弹性。具体理解为:首先,基础设施的稳定性要高,成本要低,当遇到大诉这样的诉求时,可以很方便的扩缩容。其次,在云研发的时代提供的软件往往不再是包或是光盘,而是服务,其服务要做到稳定、安全和高性能。最后,在云研发的时代,整个软件交付应该是持续、快速、高质量和低风险。

 

二、云研发时代现状及问题

但是这只是目前美好的时代和愿景,实际情况如何?现状可能是这样:

第一个问题,基础设施的成本会越来越高,很多人创业都会有这样问题,业务规模的增长往往跟不上基础设施成本的增长。可能在刚开始,基本一台服务器就可以扛下整个的业务。但是随着业务的发展,就需要购买服务器,再过一段时间,就需要整个的机房来承载技术设施,而此成本的上升非常的快,远远超过业务规模的增长。

 image.png

第二个问题,随着业务的发展,发布出现问题,具体出现的问题为:发不了、老出错、时间长。这里关注下面两个真实的应用案例,A 应用近半年只发布了13次,其中7次是 hotfix 发布,发布时长从几分钟到十几个小时都有,发布时常差别较大。B 应用发布的频率高一点,但是发布成功率不到30%,每次发布几乎都超过24个小时,而且有时候连续多天没有发布。

 image.png

第三个问题,用于新功能开发的时间越来越少,这里根据团队的真实开发情况模拟,发现在项目刚开始时,开发时间几乎占据90%以上的时间,可以开发很多新功能,可是随着产品的引进,随着团队的引进,随着需求规模的引进,用于新功能开发的时间越来越少,到后期维护时间几乎达到90%,仅仅有10%的时间用于新功能的开发。

 image.png

那有这样的问题,显然还并不在云研发的时代,那应该如何迈向云研发的时代呢?


三、云原生持续交付实践

这里需要基于云原生的持续交付实践。所谓云原生的持续交付实践,有四个需要注意的地方:首先应该基于云原生基础设施,其次需要有一条端到端的持续交付流水线。然后需要建立高效的质量守护。最后需要低成本,高效率的服务治理体系。

1.云原生基础设施:

上个世纪五六十年代产业界发生革命,使集装箱诞生,集装箱是很简单的东西,就是一个标准化的箱子。但是随着集装箱的诞生,所有的运输、装配和物流都基于集装箱的标准去统一设计,其导致了整个的货运成本降低了95%,由此让原本不可能的全球货卖方式变成可能。从而达到了经济全球化,云原生其实正在扮演集装箱及其相关标准的角色。

其特点有两个:首先是不可变。

所有的集装箱质量都相同为不可变因素,而且一旦装箱之后,里面的内容是确定不可变因素,可以消除不一致带来的不确定性,减少不一致的风险,同时减少物质。

另一个是标准化。集装箱标准化,根据集装箱所诞生的各种物流体系也是标准化。这样的好处是可以简化部署,降低整个的环境的维护成本,降低工具链开发和学习成本。

 image.png

这里提到的集装箱对应云原生上的容器。这里基础设施对应云原生里的 K8S 及上面的云原生 CNCF 的一套标准。

2.端到端的持续交付流水线:

在云研发的时代,要做到基于云原生的持续交付,需要的是从需求开始一直到上线的持续交付流水线,此流水线应该包括代码提交、构建、计算、验证、预发和上线的整个流程。而且这条水线应该满足下面三个要求:

(1)可描述:研发模式的具象化表达、发布流程一致性、最佳实践可快速复制。

(2)可观测:开发以及发布过程可见、发布过程有保障。

(3)自动化:发布过程自动化、流程通过工具落地。

 image.png

3.高质量的质量守护:

软件的交付的生命周期,从需求开始到软件的上线运行,经历了很多阶段,在每个阶段都有质量的守护问题,刚开始存在需求质量问题,架构质量问题。

开发阶段存在代码质量问题,安全问题。在测试阶段存在稳定性质量问题,数据质量问题,测试质量问题,发动质量问题。到后来还存在整个性能质量和用户质量问题,同时需要一个全面的质量评估。那么基于这样的要求,下面会进行很多的测试的实践:例如自动化测试,稳定性测试,性能测试,安全测试。

为了承载这些测试,需要基础平台及流程支撑。同时为了知道测试实践的效果,需要整个的度量体系。

所以在云研发时代,整个软件交付周期都需要一个质量守护体系来保证,而其体系是端到端的。

 image.png

4.低成本、高效率的服务治理体系:

在云研发的时代,应用逐渐的往微服务化迁移,可以说微服务是诞生云原生的基础之一,那么在此情况下,微服务的治理就变成了非常紧迫的问题,这也是很多时候阻挠云研发时代迈进的主要问题。在云研发的时代,服务治理体系应该如何呢?

如下图所示,作为开放人员的理想情况下,仅仅需要编写代码,剩下的事情将由云效平台,或者其他平台和服务治理平台来维护。其包括很多方面,例如网关,服务的监控,容量的调整,以及收缩容,出错处理、计费等等。这些都应该由一整套服务治理体系来保证。

image.png

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
6月前
|
敏捷开发 安全 测试技术
阿里云云效产品使用合集之云效安全白皮书在什么地方可以查看
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
弹性计算 监控 Devops
"揭秘!阿里云云效如何以戏剧性飞跃,重塑企业门户网站部署,一键解锁DevOps魔法,让您的网站秒变行业巨星!"
【8月更文挑战第8天】阿里云云效企业门户网站部署解决方案是一站式DevOps平台,集成云效Flow、Codeup、Testplan等,支持自动化构建、部署与测试。通过ECS实例等资源准备、云端代码托管、持续集成与部署、及全方位监控,实现网站高效稳定运行。采用YAML配置简化流程,确保快速迭代与优化,适用于各类企业的数字化转型。
123 3
|
6月前
|
敏捷开发 存储 测试技术
阿里云云效产品使用合集之如何查看云效管理员
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
Java 应用服务中间件 测试技术
阿里云云效产品使用合集之云效流水线如何使用alb ingress的脚本
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
敏捷开发 前端开发 测试技术
阿里云云效产品使用合集之如何将云效构建执行过程中产生的日志通过邮件发送
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
敏捷开发 测试技术 API
阿里云云效产品使用合集之一个企业可以绑定几个云效
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
7月前
|
敏捷开发 运维 监控
阿里云云效产品使用合集之要完全删除云效Runner,该如何操作
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
7月前
|
敏捷开发 数据挖掘 BI
阿里云云效产品使用合集之需要通过CodeUp的webhook触发后,云效流水线能够顺序执行任务,该如何设置
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
7月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之需要在某个企业或团队的云效实例中进行协作,该如何操作
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
7月前
|
敏捷开发 JSON 缓存
阿里云云效产品使用合集之如何将已有私库迁移至云效私库
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。