Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >DevOps的原则、实践与常用工具

DevOps的原则、实践与常用工具

作者头像
TARS基金会
发布于 2022-04-18 07:53:18
发布于 2022-04-18 07:53:18
4330
举报
文章被收录于专栏:TARS基金会TARS基金会

据 Stastista 统计,2021 年有74 ZB的数据可用。随着 5G 网络和 AI 等新技术的发展,预计随着时间的推移,数据产量将越来越多。问题是如何使这些数据更易于访问?

DevOps 代表开发和运营。它是一组旨在将开发、质量保证和运营(部署和集成)合并为一个单一且连续的过程 [1]。DevOps 的主要目标是缩短系统开发生命周期并提供高质量的软件持续交付。DevOps 不仅仅是一系列的行动,它同时也在改善跨职能团队沟通的文化以及赋能创新。换句话说,DevOps 更多的是关于团队合作,它的成功取决于 DevOps 团队使用的原则和实践。

在一方面,DevOps被采用去解决开发团队面临的许多问题,诸如按时交付和长发布周期。在另一方面,运营团队必须随着需求的增加来管理资源,处理在生产环境中执行的应用程序需求,并诊断和解决与生产相关的问题。为了解决上述问题,DevOps 应运而生、通过实施 DevOps,开发和运营团队不再孤立地工作,测试和部署变成了包含在开发阶段的阶段,团队成员能够专注于业务服务,而不是花时间在测试、部署和设计。因此团队能够通过自动化流程避免生产中的错误以及延迟,因为部署和运营现在能够协同工作和执行类似的时间表。

如果要将 DevOps纳入企业团队运作当中,了解 DevOps 原则和实践是首要。

1. 增量发布:当开发人员不得不等待很长时间来提交代码和测试时,可能会出现错误和不兼容问题。在 DevOps 中,团队以增量方式(有时一天多次)提交他们的代码。这样的话,团队将能够更快地响应可能出现的问题。

2. 自动化:这可能是进行 DevOps 最关键的部分!在 DevOps 中,有必要使尽可能多的软件开发自动化。这将允许团队只专注于编写代码,而自动化完成构建、测试和提醒开发人员以防出现问题的工作。

3. Pipeline:这是代码需要通过才能部署到生产环境中的一组任务。也就是说,首先代码需要由团队开发,然后需要通过编译代码来创建构建。构建后,可以执行测试以保证源代码的行为符合预期。最后,代码可以部署到最终用户。

1. 续集成和交付 (CI/CD):该原则鼓励开发人员每天多次将代码提交到中央存储库 (CI),然后快速持续地发布代码更新 (CD)。

2. 微服务:微服务是一组相互通信但独立开发、部署和维护的独立服务。随着 DevOps 的高部署率,微服务有助于保持系统稳定,同时能够分离并快速解决问题。

3. 沟通与协作:通过聊天、问题跟踪系统或 wiki 进行信息共享和便携沟通是运用 DevOps方法论的成功关键。这有助于在不同团队之间进行有效的沟通和制定一致目标。

此时的主要目标是形成自动化交付管道和集成过程。为此,可以使用许多工具,如下图所示。

持续交付管道和工具(图片摘自 [6])

交付管道(Delivery Pipeline)的每个步骤都应根据具体需求来选择特定工具。为了帮助选择适合的工具,以下为 DevOps 中最常用的 10 种工具:

  1. Git用于编码和构建
  2. Slack作为沟通平台
  3. Jenkins 用于构建、测试和部署
  4. Puppet用于部署和操作
  5. Docker用于构建、部署和操作
  6. Selenium用于测试
  7. Kubernetes用于构建、部署和操作
  8. Elasticsearch用于监控
  9. 腾讯云、AWS 或 Azure用于云计算存储
  10. Prometheus 用于存储数据和监控。

TLDR-总结:DevOps 是一种生命周期投资,是一份团队承担,它能够实现更好的软件开发和交付实践,并加速持续交付。

参考文献:

[1] https://www.altexsoft.com/blog/engineering/devops-principles-practices-and-devops-engineer-role/

[2] https://phoenixnap.com/blog/devops-principles

[3] https://www.altexsoft.com/blog/engineering/devops-principles-practices-and-devops-engineer-role/

[4] https://puppet.com/resources/report/2015-state-devops-report/

[5] https://puppet.com/blog/2017-state-devops-report-here/

[6] https://www.bogotobogo.com/DevOps/DevOps_CI_CD_Pipeline_Sample.php


TARS基金会是Linux基金会下的非营利性、微服务基金会,致力于建设一个强大而灵活的微服务生态系统。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TARS星球 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux学习笔记03-20240517
-d 制定分隔符,默认是tab空格,用 \t 表示,但不只可以指定标点符号位分隔符,也可指定字母或者数字等字符为分隔符;
迟到小王
2024/05/17
890
linux day2:文本查看、操作、统计命令
-n:按照数值从小到大进行排序 -V:字符串中含有数值时,按照数值从小到大排序 -r:逆向排序
不会写代码的医学生
2024/03/19
1060
生信马拉松 Day13 Linux-3笔记
实际容忍度很高,pattern写在左后,或者options写在pattern后面都可以
阿呆的月历
2024/02/04
1700
从零开始的异世界生信学习 linux部分 linux 基础---学习笔记-2
常见参数:-A ## 打印所有内容,包括特殊字符,如制表符; -n ##答应所有出行号,-b 参数 仅打印出非空白行行号
用户10361520
2023/02/16
5560
Linux_文件查看、操作、统计命令
Linux_文件查看、操作、统计命令 文件的6种看法 (1)head :查看文件头10行 (2)tail:查看文件末尾10行 head / tail -n :查看文件的前/后 n 行,默认 10 行 例如:head -n 2 Data/example.fq (3)cat:查看文本文件的内容,将文件所有内容输出到屏幕 常见参数 -A ## 打印所有内容,包括特殊字符,如制表符 -n ## 打印出所有行号,-b 参数仅打印非空白行行号 常见用法: cat #输入 cat > file1 #重定向,往fi
大胖橘
2023/03/25
1.7K0
Linux学习笔记-Day11-12
-options:选项,用来对命令进行控制,也可省略 #两种格式:-h, --help
用户11190095
2024/07/17
1590
Linux文本编辑器vim的使用2-14
Vim的三种模式: 命令模式 编辑模式 末行模式 vim [file] 进入命令模式后,使用”i“,进入编辑模式,按ese退出,返回命令模式 进入命令模式后,使用”:“,进入末行模式,按ese退出,返回命令模式 命令模式可以干什么? 编辑模式可以干什么? 末行模式可以干什么? 1.保存并退出 :q! :wq :q :wq! 2.查询 :/关键词,n向下翻 N向上翻 3.set :set nu #显示行号 :set nonu #不显示行号 :set list #显示不可见的字符 :set ff=unix
Labetaloliiixxx
2023/03/03
3440
生信马拉松 Day16 转录组RNA-seq-1
今天开始学习转录组测序的上下游分析了,艰苦地学完Linux之后感觉生活又光明了!虽然Linux的命令还不太熟悉,只能先想要做什么再从笔记里搜搜关键词,但基本上能跟得上,不用像学Linux一样漏一分钟就要反复回放好多遍才听懂
阿呆的月历
2024/02/06
2860
Linux文本查看、操作、统计2-14
eg:当某些文件以多个空格开头,想要取里面某列的字符串 可以先缩减空格,使得每列的分隔只有一个空格,再以空格为分隔符,取第n列
Labetaloliiixxx
2023/03/02
1.1K0
Linux学习——vim
生信技能树学习笔记Vim编辑器——三种模式命令模式 末行模式 编辑模式图片命令模式vim Data/example.fq## 按 : set nu 显示行号## 方向键或hjkl移动光标## 30j:向下移动30行## ctrl + f或b:上下翻页## gg或G移到顶部或底部 或者 [[ 和 ]]## x剪切一个字符## 10x:剪切10个字符## dd:剪切所在行## 10dd: 剪切所在行及下方10行## yy:复制光标所在行## p或P:在当前行的下面、上面进行张贴## u:复原前一个动作(可以连
用户10328045
2023/02/17
4.7K0
Linux-生信技能树
gff/gtf:9列,序列名字,注释来源,基因结构,起始位置,终止位置,碱基测序结果可信度,链的+向与-向,密码子偏移,其他属性
用户9966449
2023/02/16
2.1K0
Linux_2
more 逐页查看,空格翻页 回车换行 q退出 /搜索关键词(n查看下一个,N查看上一个)
用户10407118
2023/03/23
3840
生物信息学常见数据格式以及文本处理(grep/sed/awk)
-r:在整个目录进行匹配 ⚠️在这里目录必须和指令放在一起 eg:grep "gene" -r Data/ (-r和目录必须相连)
顾卿岚
2023/02/20
1.5K0
从零开始的异世界生信学习 linux部分 linux 基础---学习笔记-3 Linux三剑客 grep,sed,awk
-w:word 精确查找某个关键词 pattern less -S Data/example.gtf | grep -w 'gene' ##匹配文件中含有gene的文字
用户10361520
2023/02/21
5670
Linux学习笔记-Day13
序列行:一个字母代表一个碱基/氨基酸,为ATCGN或20种氨基酸。#N代表在测序中无法确定具体是什么碱基
用户11190095
2024/07/28
1470
Linux基础 Day2
常见用法:1. paste file1 file2 2. seq 20 | paste - -
用户11008504
2024/06/01
1080
Linux - awk
默认的字段分隔符是任意空白字符(如空格或制表符),也可以用 -F 参数自定义分隔符
用户10328045
2023/02/18
3.8K0
Linux进阶 03 文本处理三驾马车
⭐重头戏来啦!真的很难很繁琐,每个命令下面又有许多个小参数,套娃!先记录下来以后要多看看~
可乐同学与生信死磕到底
2024/04/18
2301
3个学生的linux视频学习笔记
工欲善其事必先利其器,这一节课主要以Windows系统为例,介绍了用Linux编程之前需要下载并安装的软件:Xshell,git,markdown,Winscp,幕布以及notepad++。介绍了如何下载并安装R及R的操作软件Rstudio,在Rstudio里进行了简单的命令演示以及如何安装并调用包,需要注意的是,所有软件推荐从官网进行下载,并且在安装的时候默认进行,基本不需要改动任何选项。对于Windows用户要把所有软件装在C盘,对于Mac用户则默认安装,安装软件时勿出现中文路径。
生信技能树
2018/12/29
1.6K0
3个学生的linux视频学习笔记
Linux Vim编辑器的基本使用
vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下的notepad(记事本)编辑器。
全栈程序员站长
2022/09/18
3.3K0
Linux Vim编辑器的基本使用
相关推荐
Linux学习笔记03-20240517
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档