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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
打造企业级自动化运维平台系列(二):DevOps、CI、CD、CT 详解
一个软件从零开始到最终交付,大概包括以下几个阶段:规划、编码、构建、测试、发布、部署和维护,基于这些阶段,我们的软件交付模型大致经历了以下几个阶段。
民工哥
2024/01/18
2.8K0
打造企业级自动化运维平台系列(二):DevOps、CI、CD、CT 详解
10分钟了解DevOps及常用工具集
目前在国外,互联网巨头如Google、Facebook、Amazon、LinkedIn、Netflix、Airbnb,传统软件公司如Adobe、IBM、Microsoft、SAP等,亦或是网络业务非核心企业如苹果、沃尔玛、索尼影视娱乐、星巴克等都在采用DevOps或提供相关支持产品。那么DevOps究竟是怎样一回事DevOps的概念 DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、
码农架构
2020/10/29
2.1K0
10分钟了解DevOps及常用工具集
如何理解DevOps
引言 DevOps是一种重要的软件开发模式; 我所在的团队正在进行DevOps转型; DevOps极大地提升了开发效率; 本文介绍了我对DevOps的理解; 什么是DevOps DevOps是一种软件开发人员(Research and Dev,RD)和IT运维运营技术人员(Ops)和质量检测(QA)之间沟通合作的模式; DevOps的根本目的是快速频繁的、小步的、自动化便捷的监控和审计的、云端和虚拟化的、可视化的部署,满足“每天部署10次”或者“快速解决bug并上线”的要求; DevOps是敏捷开发、持续
BUG弄潮儿
2022/03/08
4510
如何理解DevOps
这里有DevOps 工程师必须了解的 8 个 DevOps 最佳实践
开发软件是一个非常乏味的过程。在传统的公司设置中,软件开发过程由两个主要团队承担,即开发团队和IT运维团队。正如预期的那样,让两个独立的团队处理一个项目可能会导致团队之间的内部摩擦,从而减慢整个部署过程,从而导致软件发布延迟和利润减少。
用户1418987
2023/10/16
4750
这里有DevOps 工程师必须了解的 8 个 DevOps 最佳实践
DevOps 测试实践指南
软件开发公司一直在采用 DevOps,因为它有助于自动化和简化应用程序的开发生命周期。不仅如此,DevOps 还通过规划、沟通、流程和工具,更好地协调了开发团队和运维团队,从而提高了项目的交付质量和速度。但是测试 DevOps 的最佳策略是什么呢?本文将讨论 DevOps 的基本概念、生命周期、最佳实践以及我们应该使用的工具。
深度学习与Python
2022/06/11
4150
DevOps 测试实践指南
什么是devops
DevOps 这个术语最早出现在 2009 年,由 Andrew Shafer 和 Patrick Debois 提出。DevOps 的出现是对传统 IT 实践的一种回应,特别是针对长期以来开发(Dev)与运维(Ops)之间的隔阂。这种隔阂导致了沟通不畅、协作效率低下等问题,进而影响了产品的上市时间和质量。
linus_lin
2024/12/30
1030
什么是devops
DevOps工具
DevOps是IT行业的转折点。它是根据将“ 开发”和“运营 ”人员和流程整合在一起以形成稳定的运营环境的理念进行概念化的。这有助于提高操作速度并减少错误,从而优化成本,改善资源管理并增强最终产品。
FunTester
2020/02/17
1.6K0
10个您现在需要实施的DevOps Pipeline最佳实践
了解 DevOps Pipeline 十大最佳实践,您需要立即实施以实现最佳效率和简化的软件交付。
云云众生s
2024/03/28
2560
综述 DevOps
DevOps 常见于各大云计算提供商。DevOpe被用于打破开发者和运维者之间的壁垒,目的是缩短软件开发周期并提供高质量的持续集成。
宋天伦
2020/07/16
1.9K0
持续集成和DevOps基础
  持续集成(Continuous integration,简称CI),简单来说持续集成就是频繁地(一天多次)将代码集成到主干。
iTesting
2020/10/26
8860
持续集成和DevOps基础
运维锅总浅析云原生DevOps工具
本文从Tekton与Kubevela、Jenkins、GitLab CI的区别与联系对常见的云原生DevOps工具进行对比分析,最后给出DevOps工具选型思路。希望对您有所帮助!
锅总
2024/07/04
1910
运维锅总浅析云原生DevOps工具
推荐一些热门的DevOps工具
作者 | M. Altun 译者 | Flora 策划 | 田晓旭 本文作者使用简单明了的语言介绍了当今使用的一些 DevOps 技术和工具。阅读本文后,您将对这些 DevOps 工具,工作方式、以及如何在软件过程中使用有一个整体的了解。 最近一段时间,我们见证了 DevOps 技术的飞速发展。当今流行且功能强大的工具可能会成为下一年度的过时工具,甚至可能很快被另一种工具取代。如前所述,作者的目的不是通过这篇文章来评判哪些工具最受欢迎或功能最全,而是让读者全面了解 DevOps 工具的工作方式以及如何在软件
深度学习与Python
2023/04/01
1.8K0
推荐一些热门的DevOps工具
DevOps & CI/CD Top 30+ 面试问题
希望这些问题和建议的答案能使你快速掌握DevOps和CI/CD的相关知识,帮助你在面试之前对DevOps和CI/CD有系统性的概念和理解。
Peter Shen
2020/06/12
5.7K0
DevOps & CI/CD Top 30+ 面试问题
DevOps、CI、CD都是什么鬼?
DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。具体来说,就是在软件交付和部署过程中提高沟通与协作的效率,旨在更快、更可靠的的发布更高质量的产品。
吾非同
2020/11/23
9980
DevOps、CI、CD都是什么鬼?
DevOps的最佳CI/CD工具
CI/CD是一种 DevOps 方法,它结合了持续集成和持续交付的概念,允许企业通过在软件开发生命周期中集成自动化来始终如一地向客户交付应用程序。
西岸Alex
2023/08/22
9660
DevOps的最佳CI/CD工具
DevOps 越来越流行,2019 年这八大趋势值得关注
从我们认为 DevOps 只是一个流行语开始,它已经发展了很长的一段时间。现在,DevOps 已经成为了一个主要焦点,并在过去几年一直在塑造着软件世界。专家表示,DevOps 将成为主流,它的流行程度将在 2019 年达到顶峰。
Debian中国
2018/12/21
8030
使用 Docker、Kubernetes 和 Azure DevOps 实现 DevOps
这篇文章,我们将会介绍所有你想了解的 DevOps 知识,看完后你可以着手构建自己的 CI/CD 流水线。
LinuxSuRen
2020/05/26
1.2K0
什么是DevOps?为什么我们需要DevOps?
传统IT技术团队中通常都有多个独立的组织-开发团队、测试团队和运维团队。开发团队进行软件开发、测试团队进行软件测试,运维团队致力于部署,负载平衡和发布管理。 他们之间的职能有时重叠、有时依赖、有时候会冲突。
字母哥博客
2020/09/23
8300
什么是DevOps?为什么我们需要DevOps?
可扩展 CI/CD 流水线示例:改善开发流程
现代软件开发要求使用 CI/CD 作为 DevOps 的重要组成部分。使用正确的工具进行适当的自动化是高效交付管道的关键。以下是您需要了解的有关可扩展 CI/CD 管道的所有信息。
DevOps云学堂
2022/10/04
1.4K0
可扩展 CI/CD 流水线示例:改善开发流程
DevOps工程师:30多个面试问题及解答
在过去的几年里,随着 DevOps 工程师的职位发布数量急剧增加,“ DevOps 面试问题”查询的点击量已超过 50 万次。跨国公司通常有多个 DevOps 工程师专家角色。此外,由于就业市场竞争激烈,DevOps 工程师面试问题可能涵盖更广泛和更为复杂的主题。
DevOps云学堂
2023/08/22
6610
DevOps工程师:30多个面试问题及解答
相关推荐
打造企业级自动化运维平台系列(二):DevOps、CI、CD、CT 详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档