CI/CD 上云为何如此重要

在这里插入图片描述

近年来,敏捷度和速度日渐成为产品开发的关键。市场高速运行,时间就是金钱,也是企业发展的关键。游戏、金融、自动化产业等软件开发企业更像卷入了一场无休止的时间竞赛。

这也难怪 DevOps 备受欢迎。企业借助 DevOps 不断加速优质软件的交付。DevOps,意即 Development(开发) 和 Operations(运维)的结合,也正是 CI/CD 发挥作用的环节。为了更好地解释文章的要旨,也因为这两者同属一个概念组合,我将把 DevOps 和 CI/CD看做同类(尽管两者明显不同)。那么云计算又是从哪里开始?为什么许多企业都将 DevOps 和 CI/CD 都放入云端?

云技术已经出现一段时间了。2006 年最先引入(尽管其概念早在 60 年代中期就已诞生),2010 年开始受到几大主要科技公司(谷歌、亚马逊和微软)的青睐,因此大家都称 2010 年为云计算元年。2018 年的预测显示云计算发展势头正盛,但尚未到达巅峰,才算刚刚走过了“以自我为中心的青少年时期”,并预测会在 2020 年时发生急剧上升, 达到 83% 的企业工作负载在云平台中运行。

一些人认为云计算发展的推动力源于 DevOps,但另一方面也有人说是其他因素。理智分析后不难发现,这两种技术的目标一致:保证企业的敏捷度和速度。不论是 DevOps 促进云计算的发展,还是云计算推动 DevOps 的普及,明显可见,这两者(包括 CI/CD)相辅相成,甚至于“云运维(CloudOps)”的概念也流行开来。一项 2017 年 Freeform Dynamic 的数据报告显示,在调查了 900 个 IT 从业者后发现,结合使用 DevOps 和云计算的企业比单独使用 DevOps 或云计算的企业效率更高,前者提升了 81% 的业绩表现,后者只有 52% 的提升。

在本文中,我希望聚焦 DevOps/CI/CD 与云计算,试图理解其错综复杂的关系,并对其效益进行分析。以下列举了 CI/CD 云化的原因。

1. 弹性扩展:“无所不包”

在近期 Jfrog 分析为何将 DevOps 迁移到云中的文章(以《2019 年 RightScale 云调查报告》和《德勤云服务现状调查》数据为基础)指出,提升扩展性位居企业采用云技术原因的榜首,其中75%的企业将之列为最主要原因。
在这里插入图片描述

Jfrog 信息图的一部分

在所有云计算的功能中,为什么弹性扩展能独占鳌头?

云意味着一种自由,其强大的扩展能力比其他任何特性更能支撑这一价值。在一些案例中(我们称为“纯云 Pure Cloud”),云计算让企业摆脱物理硬件的限制和负担,整个软件开发过程可以自由扩展。在另一些案例中(混合云),云技术帮助企业实现最佳资源利用。一旦物理硬件已用尽,云服务可以按需进行自动补给。对于 DevOps 来说,拥有这种自由相当重要。DevOps 让企业实现高速交付优质软件,摆脱自身容量的困扰。

2. 减少维护

在这里插入图片描述

硬件意味着要时时维护,无可避免。但可另辟蹊径——云计算。为了专注于 CI/CD,团队必须从基础架构维护中解脱出来。其目的是关注运行哪个任务、如何运行,而不是将注意力分散到允许运行该任务的基础架构。有了云计算,软件维护也容易得多。以 Jenkins 为例。毫无疑问,Jenkins 是一款备受赞誉的工具,但它仍然需要一系列的配置(如 groovy),而云管理工具,如 Azure DevOps 则不需要。

3. 中心化:无互动合作

正如我之前提到,DevOps 重度依赖合作。然而,良好的 DevOps 合作却来之不易,其中包括不同团队间的协作,远距离沟通,或是使用不同的工具,处于不同的环境。因资源限制,各团队间还需排队使用共享资源。

然而,在社交媒体时代,大部分的社交互动一般都在同一社交平台中发生,大家实时分享资源。即使是最复杂、最难协调的沟通也会以同样的心态处理,这是再合适不过的了。

云计算让不同团队可以同时使用一个中心化的平台,无需提前协调安排资源的使用先后顺序。全球团队可以自由使用所有云服务中的 CI 管道,不用没完没了地抢资源。这不但节省了很多时间和资源,且有助于共同应对一些难题。

4.优化自动化

持续集成的主要原则之一是自动化。尽管零接触自动化至今尚未实现,云计算却让企业自动化发展突飞猛进。自动化的概念出现在云计算之前,但云计算让自动化的整体发展更上一层。在云计算的帮助下,自动化速度大幅提升,同时让进程更为可靠、强大、实用,并有效减少错误。

试想一下在 Jenkins 使用本地基础架构运行一个管道。自动化能让你快速推进这些已知的步骤,例如依赖关系和语法错误,但是一旦 Jenkins 的节点机器宕机,进程也会失败。然后你开始与 IT 团队讨论,寻求帮助,重新部署机器,处理这些麻烦。然后你会想“如果还需要我去做这些繁复的工作,自动化还有什么用?”你的思考实在正确的。云可以处理这一切。没有了硬件依赖,也就没有了这些烦恼。这就是 Jenkins ec2 存在的原因。

此外,如果你选择进一步在 CI 进程中使用一些云服务工具(hosted cloud solutions),如 Azure DevOps 和 AWS 管道,配置的工作量将会大幅减少。

5.省钱才是硬道理

在这里插入图片描述

云计算采用“现付现用”的模式,让企业只需为使用的服务付费,减少了硬件设备的成本。此外,云服务商还会提供了一些额外的服务,为确定资源使用量的企业提供各类优惠活动。但是,节省成本的前提还是需要小心使用。许多企业在云服务账单到来之前,并不知道自己究竟花了多少钱。有些企业的支出远超预算。企业云服务及工具的使用需要提前做出合理的预见和规划,保证购买的服务不要超出所需(造成资源闲置)。也可结合使用 Spotinst 以及 Incredibuild 的云服务,减少这类问题。

6. 提升计算能力

我很高兴能在 Jfrog 的信息图中看到这个原因。我在 Incredibuild 负责云产品,致力于为客户提供最便宜、实惠的方式,加速企业软件开发。结合自身多年的工作背景,云服务为加速开发软件开发提供了一种新的解决方案,也因此成为我最喜欢的一个原因。Incredibuild 的云服务为各大企业争取到了额外的计算能力,促进软件开发。如果你是一个超级英雄爱好者,这就像是结合两个超级英雄的力量(仅作为类比):Incredibuild 充分调动公有网络中的计算能力加速开发+更强大的公有云计算能力。

Incredibuild 云端服务强势助力

了解到 DevOps, CI/CD 和软件开发中云的缺失,并理解云计算的重要效用后,Incredibuild 决定发布自己的云端服务。在这个日益激烈的竞争市场中,满足企业敏捷度和速度的需求,不仅是 DevOps 和云计算的核心,也是 Incredibuild 的宗旨。

云和 DevOps (CI/CD)或许是天生一对,但是加上 Incredibuild,则是无懈可击的铁三角组合,点击获取 Incredibuild 的试用 License!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3015054.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

为什么SSL证书的有效期很短?

在当今互联网世界中,SSL证书作为保障网站数据传输安全的重要工具,其有效期往往被设定为相对较短的时间。对于许多非专业人士来说,可能会好奇:为什么SSL证书不能像其他证件一样拥有较长的有效期呢?今天,我们…

Linux-04

账号管理 添加账号 useradd 选项 用户名 useradd -m dai删除帐号 userdel 选项 用户名 userdel -r dai修改帐号 usermod 选项 用户名usermod -d /home/user dai (修改位置)切换帐号 su username su dai退出账号 exit $表示普通用户 #表示超级用户&#…

[Android]国内流行的应用市场

国内应用市场的特点 由于Google Play商店服务国内不可用,有许多其它的应用商店充当Android应用的分发渠道。这些商店通常由中国的主要科技公司运营,每个商店都有自己的运营策略和用户基础。 全球移动供应商市场份额:https://gs.statcounter…

苍穹外卖项目---------收获以及改进(3-4天)

①公共字段填充----mybatis 第一步:自定义注解 /*** 自定义注解用于标识某个方法需要进行功能字段的填充*/ Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface AutoFill {//枚举:数据库操作类型: update ins…

22_Scala集合Seq

文章目录 Seq序列1.构建集合2.List集合元素拼接&&集合拼接3.可变Seq&&List3.1 ListBuffer创建3.2 增删改查3.3 相互转化 Appendix1.Scala起别名2.Seq底层3.关于运算符操作: :4.空集合的表示 Seq序列 –Seq表示有序,数据可重复的集合 1.构建集合 …

2024年618什么值得买?盘点618值得购买的好物

一年一度的618购物狂欢节即将来临,大家是否已经跃跃欲试,却又在琳琅满目的商品中犹豫不决?别烦恼,我特地为大家准备了一份购物清单!无论你是需要运动健身的得力助手,还是追求工作生活的精致好物&#xff0c…

跨考专业课142分,上岸重邮!

这个系列会邀请上岸学长学姐进行经验分享~ 今天分享经验的同学是我的“关门弟子”,小叮当,跨考上岸重邮通信工程!从平时和小叮当的交流和测试,就能看出专业课水平,我一直和她开玩笑说,早点遇到我&#xff…

WRT1900ACS搭建openwrt服务器小记

参考链接 wrt1900acs openwrt wrt1900acs openwrt 刷机 wrt1900acs原生固件刷openwrt-23.05.3-mvebu-cortexa9-linksys_wrt1900acs-squashfs-factory.img wrt1900acs openwrt更新刷openwrt-23.05.3-mvebu-cortexa9-linksys_wrt1900acs-squashfs-sysupgrade.bin 通过WEB UI来…

Elsevier——投稿系统遇到bug时的解决方法

重要:找期刊客服!!! 一、方法: 1. 点击进入与官方客服的对话 2. 按要求输入个人信息 3. 输入遇到的问题 比如: 主题:The Current Status is jammed. 详细描述:The Current State o…

【容器】k8s获取的节点oom事件并输出到node事件

在debug k8s node不可用过程中,有可能会看到: System OOM encountered, victim process: xx为了搞清楚oom事件是什么,以及如何产生的,我们做了一定探索,并输出了下面的信息。(本文关注oom事件是如何生成&传输的&a…

电脑显示丢失mfc140u.dll怎么修复,总共有7个方法

mfc140u.dll 是一个动态链接库(Dynamic Link Library)文件,它是Microsoft Foundation Class (MFC)库的一部分,专为使用C编程语言开发Windows应用程序而设计。MFC库由微软提供,作为一个高级的应用程序框架,旨…

c++匿名比较函数参数顺序逻辑

在使用lower_bound和upper_bound时,想自定义比较函数,在这个过程中出现了参数定义顺序导致的错误问题,于是查找学习了下自定义比较函数需要符合的规则。 目录 1 lower_bound和upper_bound函数 1.1 lower_bound 1.2 upper_bound 2 问题产…

Java Streams和Collectors的使用技巧

文章目录 引言I 对list集合进行数据分组筛选1.1 按字段1进行分组并选择每组中时间最新的元素1.2 对list集合按照对象属性进行分组引言 应用场景: 对某一个字段进行分组,按照特定规则进行去重对某一个字段进行分组 //查询不显示城市QueryWrapper<JavaType> queryWrappe…

wangEditor 富文本详解

前言&#xff1a;wangEditor 官网 。本文档讲解 wangEditor 在 vue3 中的使用。 一&#xff1a;快速开始 1. 安装 需要安装 wangeditor/editor、wangeditor/editor-for-vuenext 两个依赖 # 安装 editor npm install wangeditor/editor # or yarn add wangeditor/editor # o…

一键静音,iPhone勿扰模式助你远离干扰

在现代社会的快节奏生活中&#xff0c;我们时常被各种各样的通知、铃声和提示音所打扰&#xff0c;无法专注地工作或享受宁静的时光。而iPhone的勿扰模式功能&#xff0c;就像是一位贴心的助手&#xff0c;能够一键帮你屏蔽这些干扰&#xff0c;让你在需要的时候拥有一个清静的…

sqlserver中替换空格和换行

sqlserver 中换行符&#xff0c;如下&#xff1a; sql语句如下&#xff1a; //替换换行-使用char(10) select REPLACE(F_CNKITitle ,char(10),) title from tzkj_CNKIContent tc where --F_CnkiContentID ffdc7412-41e1-4d42-8693-cc79d0cf2dd3and len(REPLACE(F_CNKITitle ,…

使用Three.js开发一个3D案例Demo

使用Three.js开发一个3D案例 最近在找工作&#xff0c;发现好多招聘要求都需要会Three.js&#xff0c;以前接触比较多的是2D开发&#xff0c;也就是平面开发&#xff0c;用到的做多的技术就是d3.js&#xff0c;现在3D开发已经成为了大势所趋&#xff0c;所以就学习下Three.js。…

第二届生成式AI应用创新大赛

&#x1f525; 第二届生成式AI应用创新大赛 &#x1f331; 初赛正如火如荼地进行中&#xff0c;报名截止时间是5月15日&#xff01; ⏰ ⭐ 最激动人心的总决赛将于5月30日在亚马逊上海峰会上举行&#xff0c;届时会有权威评委现场点评&#xff01; &#x1f3a4; &#x1f3…

【微积分】微分方程的求解(必看)

文章目录 微分方程1.一阶微分方程1.1 可分离变量型微分方程1.2 一阶齐次微分方程1.3 一阶线性微分方程 2. 高阶微分方程2.1 可降阶的高阶微分方程求解&#xff08;以二阶为例&#xff09;2.2 二阶常系数线性微分方程2.2.1 二阶常系数齐次微分方程2.2.2 二阶常系数非齐次微分方程…

tkinter/python:第一个GUI程序——制作一个数据录入界面

下图是在网上搜寻的一个案例图样&#xff0c;经过了调整修改&#xff0c;登录时界面图如下&#xff1a; 登录后点击百货店铺按钮&#xff0c;界面如下 一、创建root窗口&#xff1a; geometry接收一个字符串&#xff0c;也就是需要建立的窗口尺寸和位置&#xff0c;geometry(…