前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DevOps的原则、实践与常用工具

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

作者头像
TARS基金会
发布2022-04-18 15:53:18
3840
发布2022-04-18 15:53:18
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档