走进云研发时代 阿里云发布云原生DevOps解决方案

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 代码管理,基础版人数 不受限
云效 DevOps 项目协作,基础版人数 不受限
简介: 如何利用新技术降低成本,同时又能做到持续快速高质量交付呢?阿里云云效和云原生团队联合打造云原生DevOps解决方案,助力企业低成本、高质量、快速落地云原生DevOps。

2020年10月21日,阿里云云效DevOps平台联合云原生应用平台共同举办“阿里云云原生DevOps解决方案重磅发布”云端发布会,正式发布基于阿里巴巴最佳研发实践的云原生DevOps解决方案及典型应用场景。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

>>发布会传送门

产品详情

开发者在云研发时代遇到的挑战

阿里云智能高级解决方案架构师张裕在分享中指出,我们正处在一个云研发的时代,并总结了云研发时代的三个“要求”。第一,IT基础设施需要可靠、低成本、高弹性;第二,向用户提供的服务需要稳定、安全、高性能;第三,软件交付要持续、快速、高质量、低风险。

所谓“理想很丰满,现实很骨感”。与上述“理想状态”恰恰相反的是,在云研发时代,软件开发者遇到了诸多挑战。

第一个挑战,IT基础设施成本越来越高。在企业初创时期,可能只需要几台服务器就可以满足业务需求,但是随着业务发展,用户规模不断扩大,可能需要几排机柜、甚至一个机房才能满足需求。而且IT基础设施成本的增长的速率往往是大于业务规模增长的,这就会让开发者觉得基础设施的成本越来越高。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

第二个挑战,“发不了,老出错,时间长”。在上图中显示了A、B两款应用近半年的发布情况,其中纵轴代表发布一次所使用的时长,横轴代表发布日期,每一个绿点代表一次成功发布,红点代表失败的发布。我们可以看到,A应用半年发布了13次,但是有7次是HotFix的发布,即带紧急Bug修复的发布,而且发布时长差别特别大,从几分钟到几天都有。B应用的发布很频繁,但是发布成功率不到30%,每次发布时长都超过24小时,而且有的时候连续多天没有发布。

第三个挑战,用于新功能开发的时间越来越少。在软件研发初期,我们几乎所有的人力都可以用于软件研发,但是随着应用功能的丰富,越来越多的人力用于已有功能的维护,几乎没有时间来进行新功能开发。

云研发时代需要基于云原生的持续交付实践

那么,如何迈向云研发时代呢?我们需要基于云原生的持续交付实践,包含云原生基础设施、端到端的持续交付流水线、高质量守护和低成本、高效率的服务治理体系四个方面。

在上世纪五六十年代,标准化集装箱的采用,由此建立起一整套标准化的运输体系,有效降低了货运成本,并最终促进了经济全球化。而云原生技术中的“容器”和“集装箱”有着异曲同工之妙。张裕介绍说,云原生基础设施具备“不可变”和“标准化”两个特点,通过“不可变” 消除不一致带来的不确定性,减少不一致的风险,从而降低维护成本;通过“标准化” 简化部署,降低环境维护成本,同时降低工具链开发和学习成本。

一条标准的“端到端的持续交付流水线”一般包含需求分析、代码提交、构建、集成验证、预发、上线等环节,并且需要具备可描述、可观测、自动化三个特性。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

有了“云原生基础设施”和“端到端的持续交付流水线”之后,我们还需要“高质量的质量守护”来提升软件发布质量。质量守护是开发、测试、运维所有人的事,其实大家都是在“一条船上”,只有所有人同舟共济,共同努力,才能保障软件的高质量交付。

最后,我们需要一个低成本、高效率的服务治理体系。当一款微服务发布后,服务平台可以提供一系列服务治理体系,包括网关、服务监控、自动扩缩容等。这样开发者就可以只专注于开发代码,而不用考虑太多服务治理相关的事情。

阿里云云原生DevOps解决方案重磅发布

为帮助更多企业和开发者高质量、低成本地享受技术升级带来的研发福利,云效联合云原生团队打造了一站式云原生DevOps解决方案,无论是通用K8s场景、Spring Cloud/Dubbo微服务场景、还是轻量级的函数计算场景,云效DevOps都能从容应对。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

如上图所示,左上方是“云效看板”,产品经理可以利用“云效看板”将需求管理起来,当“需求”经过澄清和规划之后,拆分成“任务”分配到某个团队或某个开发者进行“任务执行”。开发过程中,开发者借助云效代码管理平台,创建特性变更分支。当代码被提交后,会触发特性分支监听,在这期间,云效会自动进行代码扫描、代码评审和安全扫描等。代码开发完后,开发者可以通过云效流水线,进行编译构建、开发验证、上线审核、生产发布等环节。流水线会依赖多个阿里云提供的服务,比如在编译时会依赖“镜像服务”,在开发验证、生产发布等环节会依赖ACK集群服务而当应用正式上线之后,又会依赖微服务治理服务,包括配置中心、服务监控、容量调整等等。而所有这些信息,最后会通过钉钉等方式反馈给开发者。当出现问题时,会以“缺陷”的形式体现在云效看板中。

总结来说,云效的云原生持续交付解决方案包含四个方面:第一,云原生基础设施,支持阿里云容器服务ACK、函数计算(FC)、Serverless引擎(SAE)等;第二,通过云效看板、代码管理平台、流水线实现了端到端的持续交付流水线;第三,通过云效代码管理的自动化扫描和云效流水线的检测和验证实现高质量的质量守护;第四,阿里云的微服务治理实现了低成本、高质量的服务治理体系。

云效云原生DevOps解决方案典型应用场景

云效云原生DevOps解决方案包含三个典型应用场景:函数计算持续交付场景 、微服务持续交付场景、通用云原生持续交付场景。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

“云效+函数计算”的持续交付方式比较适合开发者规模较小的初创团队。因为他们的业务往往处于快速验证和发展阶段,希望业务能快速上线、快速更新、无需关心业务之外的工作。

这样的“函数计算持续交付场景”具备三方面优势:第一,开发者可以专注于业务逻辑开发,无需关注底层细节和资源情况,也无需关注服务的运维和治理。第二,能够按照服务使用量付费,减少资源成本,并且可以实现分钟级快速上线。第三,整个研发流程基于云效DevOps平台,由云效提供自动安全守护能力;运行环境基于阿里云提供的经过大规模商业实践的基础设施,稳定性好;同时“函数平台”天然具备高弹性,可以从容应对突然业务流量。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

对于已经采用或准备采用微服务架构的中小规模开发者团队,推荐使用“云效+SAE”的持续交付方式。这种“微服务持续交付”具备如下特点:第一,Serverless 应用引擎SAE(Serverless App Engine)与spring cloud、dubbo等微服务框架深度整合,内建微服务治理能力,可有效降低使用微服务的成本。第二,基于秒级弹性能力,服务扩容快、弹性高,能够应对业务突发流量,可保障服务的稳定性。第三,内建微服务发布、运维能力,可有效提升微服务测试、发布、运维效率。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

对于有自己的服务治理体系,希望研发有足够的灵活性,同时又能享受云原生和持续交付的技术红利的中等或大型研发团队,可以使用“通用云原生持续交付”解决方案。这种交付方式有哪些优势呢?首先,云效提供从需求到线上运维的一站式研发流程支持。其次,云效提供从基础设施到DevOps工具链的全流程安全防护。第三,与阿里云基础设施和云服务深度整合,具备免托管、高性能的特性;同时由于阿里云的基础设施是完全遵循遵循Kubernetes(k8s)开源标准的,所以不存在迁移成本。

截至目前,阿里云云效已经服务十万家企业、百万开发者,帮助众安保险、光大银行、天弘基金、南方航空、上汽通用、南京银行、万科、国泰产险、上海博卡、石家庄掌讯等众多企业成功完成DevOps转型。本次云原生DevOps解决方案的发布,云效希望可以助力更多企业迈进云研发时代,实现DevOps转型“超车”。

登录“阿里云云原生DevOps解决方案重磅发布”官方网站,可以查看发布会视频回放、体验云原生DevOps场景、获取产品优惠等更多信息。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之想要获取对应账号的阿里云账号id该如何操作
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
运维 Cloud Native Devops
一线实战:运维人少,我们从 0 到 1 实践 DevOps 和云原生
上海经证科技有限公司为有效推进软件项目管理和开发工作,选择了阿里云云效作为 DevOps 解决方案。通过云效,实现了从 0 开始,到现在近百个微服务、数百条流水线与应用交付的全面覆盖,有效支撑了敏捷开发流程。
19597 30
|
12月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
562 30
|
运维 Cloud Native Devops
云原生时代的DevOps实践:自动化、持续集成与持续部署
【9月更文挑战第3天】未来,随着人工智能、大数据等技术的不断融入,DevOps实践将更加智能化和自动化。我们将看到更多创新的技术和工具涌现出来,为软件开发和运维带来更多便利和效益。同时,跨团队协作和集成也将得到进一步加强,推动软件开发向更加高效、可靠和灵活的方向发展。
|
弹性计算 监控 Devops
"揭秘!阿里云云效如何以戏剧性飞跃,重塑企业门户网站部署,一键解锁DevOps魔法,让您的网站秒变行业巨星!"
【8月更文挑战第8天】阿里云云效企业门户网站部署解决方案是一站式DevOps平台,集成云效Flow、Codeup、Testplan等,支持自动化构建、部署与测试。通过ECS实例等资源准备、云端代码托管、持续集成与部署、及全方位监控,实现网站高效稳定运行。采用YAML配置简化流程,确保快速迭代与优化,适用于各类企业的数字化转型。
228 3
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
持续交付 开发工具 对象存储
阿里云云效产品使用合集之构建物如何上传到阿里云OSS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 监控 Java
阿里云云效产品使用合集之Codeup WebIDE环境下,如何使用通义灵码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。