DevOps(开发运维)常用的工具

"DevOps"是"Development"(开发)和"Operations"(运维)两个术语的组合,旨在代表公司应用开发和IT运维团队执行的任务的协作或共享方法。

DevOps描述了采用迭代软件开发、自动化以及可编程基础设施部署和维护的过程。DevOps可以改变软件交付链、服务、工作角色、IT工具和最佳实践。

DevOps通常采取的方法:

  • 连续集成和连续交付或连续部署(CI/CD)工具,重点是任务自动化;
  • 支持DevOps采用的系统和工具,包括实时监控、事故管理、配置管理和协作平台;
  • 与DevOps方法同时实施的云计算、微服务和容器。

DevOps 解决什么问题?

每家公司都面临着自己的挑战,但共同的问题包括发布时间过长、软件未达到期望和IT限制业务增长。

在没有等待时间、手动流程和冗长审查的情况下,DevOps项目可以从需求到实际软件的过程中更快地推进。

DevOps解决了IT专业化之间的沟通和优先级问题。传统的结构将开发和运维团队放在独立的领域中。这意味着当开发人员的代码交付功能时,他们满意了 —— 如果发布在生产环境中出现问题,就由运维团队来解决问题。

1.DevOps工具

DevOps是一种思维方式,而不仅仅是一套工具。但在没有合适工具的情况下,在IT团队中进行任何操作都是困难的。DevOps从业者依赖于持续集成/持续交付(CI/CD)管道、容器和云主机。工具可以是开源的、专有的,或者是对开源技术的支持分发。

2.代码存储库

版本控制的源代码存储库使多个开发人员能够共同处理代码。开发人员可以check  out 和check  in 代码,并在需要时还原到先前的代码版本。这些工具会记录对源代码所做的修改。如果没有跟踪,开发人员可能难以了解哪些更改是最近的,以及哪些代码版本可供最终用户使用。源代码管理的工具包括Git和GitHub。

3.二进制存储库

源代码被编译成用于测试的二进制执行文件。二进制存储库支持版本控制的、基于对象的输出。二进制存储库的工具包括JFrog Artifactory和Nexus Repository。

4.CI/CD管道引擎

CI/CD使DevOps团队能够通过在开发生命周期中自动化验证和交付应用程序来频繁地将应用程序提供给最终用户。持续集成工具初始化流程,使开发人员可以在共享存储库中创建、测试和验证代码,而无需手动工作。持续交付通过执行生产级别的测试和配置设置来扩展这些自动步骤,以进行发布管理。持续部署更进一步,调用测试、配置和供应,以及监控和潜在的回滚能力。用于CI、CD或两者兼而有之的常见工具包括Jenkins、GitLab和CircleCI。

5.容器

容器是在共享操作系统上运行软件的隔离运行时环境。容器提供了一种抽象,使代码能够在从开发到测试和暂存,然后到生产的不同基础设施上运行相同。Docker是最知名的容器化软件,而Microsoft提供了特定的Windows容器选项。容器编排器,如Kubernetes以及商业化的Kubernetes发行版Red Hat OpenShift和Amazon Elastic Kubernetes Service,可以自动部署、扩展和维护容器。

6.配置管理

配置管理系统使IT能够根据脚本或模板进行软件、中间件和基础设施的配置和预配。DevOps团队可以通过配置管理工具为软件代码发布设置部署环境,并在服务器、容器和虚拟机上执行策略。对部署环境的更改可以进行版本控制和测试,以便DevOps团队可以将基础设施作为代码进行管理。配置管理工具包括Puppet和Chef。

7.云环境

DevOps企业通常同时采用云基础设施,因为它们可以自动化其部署、扩展和其他管理任务。AWS和Microsoft Azure是最常用的云服务提供商之一。许多云供应商还提供CI/CD服务。

8.监控

监控工具使DevOps专业人员能够观察系统、网络和基础设施上的代码发布的性能和安全性。他们可以将监控与提供运营智能的分析工具相结合使用。DevOps团队共同使用这些工具来分析代码更改对整体环境的影响。选择范围广泛,但包括New Relic One、Dynatrace、Prometheus、Datadog和Splunk等。

9.基于云的DevOps管道

公共云提供商提供原生的DevOps工具集,可与其平台上的工作负载一起使用。一个不完整的列表包括AWS CodePipeline和CloudFormation、Azure DevOps和Pipelines,以及Google Cloud Deployment Manager。采用云的企业可以选择使用这些预先集成的服务或运行第三方工具。例如,一个企业可以使用HashiCorp Terraform或CloudFormation为其AWS工作负载创建基础设施即代码的模板。

10.即服务模型

DevOps作为服务是一种工具集的交付模型,促进了企业的软件开发团队和IT运营团队之间的协作。在这个交付模型中,提供商组装了一套工具,并处理了集成,以无缝地覆盖代码创建、交付和维护的整个过程。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言中的联合体的由来和存储

一、联合体的由来 1.1. 数据类型的不足 C语言中,基本数据类型只有整型、字符型、浮点型等少数几种,无法满足复杂数据类型的需要。 1.2. 数组的限制 虽然数组可以存储多个同类型的数据,但是数组中的元素个数是固定的,无法动态地…

大数据Doris(四十二):使用物化视图

文章目录 使用物化视图 一、​​​​​​​创建物化视图

【负载均衡oj】(四) 运行模块

一.目的 主要负责运行可执行程序。通过文件名就能运行程序。 二.runner run运行模块: 不需要关心运行结果是否正确,只具备基本运行功能并只关心是否运行出错。 一个程序的时候,有三种IO需要关心,标准错误,标准输出&#xff0c…

esp32cam和arduino连接百度云AI识别文字接口识别图片文字

要使用esp32cam和arduino连接百度云AI识别文字接口识别图片文字并将结果打印到串口,你可以按照以下步骤操作: 首先,你需要注册百度云AI平台账号并创建一个文字识别应用。获取到应用的API Key和Secret Key。 在Arduino IDE中安装ESP32和ESP32…

Kubernetes调试终极武器: K8sGPT

K8sGPT结合了GPT的AI能力,为智能化分析和运维Kubernetes集群提供了开箱即用的解决方案。原文: K8s Tools — K8sGPT[1] 随着人工智能和机器学习技术的进步,企业和组织越来越多的探索创新战略,以求利用这些能力来获得竞争优势。 K8sGPT[2]就是…

vue3+luckyexcel+php在线编辑excel文件

开发过程中,需要开发一个在线编辑excel文档的功能,找到了这个合适的组件 Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 可以导入文档,预览、编辑、保存、导出等功能,可以满…

Abductive Logical Reasoning on Knowledge Graphs

Q: 这篇论文试图解决什么问题? A: 这篇论文试图解决在知识图谱(Knowledge Graphs, KGs)上进行反推逻辑推理(Abductive Logical Reasoning)的问题。具体来说,论文提出了一个任务:给定一组实体的…

去水印软件哪个好用?用他们就够了

随着数字媒体的发展,越来越多的人开始需要处理带有水印的图片或视频。水印不仅是一种版权保护手段,也常常被用来标记图片或视频的来源。然而,在某些情况下,我们可能需要去除水印以实现更好的使用效果。那么,去水印软件…

机器学习之BP神经网络精讲(Backpropagation Neural Network(附案例代码))

概念 BP神经网络(Backpropagation Neural Network)是一种常见的人工神经网络,它通过反向传播算法来训练网络,调整连接权重以最小化预测输出与实际输出之间的误差。这种网络结构包含输入层、隐藏层和输出层,使用梯度下降算法来优化权重。 结构: BP神经网络(Backpropag…

PCB丝印设计的要求和注意事项有哪些呢?

丝印设计是PCB设计中必不可少的因素,PCB板上丝印通常包括:元器件丝印及位号、板名、版本号、防静电标识、条码丝印、公司LOGO及其他一些标识。接下来,让我们一起看看PCB设计中对于丝印设计的要求。 一、丝印设计要求 丝印字符的字高和字宽之…

使用克魔助手查看IOS游戏FPS的方法详解

查看IOS游戏FPS 摘要 本篇技术博客将介绍如何使用克魔助手工具来查看iOS游戏的帧率(FPS)。通过克魔助手,开发者可以轻松监测游戏性能,以提升用户体验和游戏质量。 引言 在iOS游戏开发过程中,了解游戏的帧率对于优化…

C++游戏引擎中骨骼动画和顶点动画

一.帧/帧时刻 在常见的FPS游戏中,人物的行走,物体的变形等等都是采用动画的方式实现.计算机2D屏幕采用扫描周期的方式定时刷新渲染管线,C程序通过定义帧/帧时刻实现每一帧的渲染,不同的帧衔接起来便是一个完整的动画. Direct3D提供API实现2D屏幕的重绘: D3DDevice->Clear(0,…

16-网络安全框架及模型-BiBa完整性模型

目录 BiBa完整性模型 1 背景概述 2 模型原理 3 主要特性 4 优势和局限性 5 应用场景 BiBa完整性模型 1 背景概述 Biba完整性模型是用于保护数据完整性的模型,它的主要目标是确保数据的准确性和一致性,防止未授权的修改和破坏。在这个模型中&#…

SpreadJS 集成使用案例

SpreadJS 集成案例 介绍: SpreadJS 基于 HTML5 标准,支持跨平台开发和集成,支持所有主流浏览器,无需预装任何插件或第三方组件,以原生的方式嵌入各类应用,可以与各类后端技术框架相结合。SpreadJS 以 纯前…

优化axios封装之配置使用AbortController取消重复请求 防止用户频繁操作调用接口

当数据量过大请求缓慢时用户点击按钮或者tab标签页快速重复调用同一个请求时,会导致数据错乱,当只需要最新的请求数据,并且中断上一个重复请求时,可以利用axios的CancelToken去中断之前的请求。 ps:由于不是所有请求都需要这个逻辑…

使用Docker快速安装grafana

Docker 提供了一个轻量级、易于部署的容器化解决方案,让您能够方便地在不同环境中运行应用程序。以下是在 Docker 中安装 Grafana 的基本步骤: 文章目录 使用Docker快速安装grafana如何使用Grafana步骤 1:连接数据源步骤 2:创建仪…

打开相机失败 出现错误的原因

如何解决? Debug中缺少DLL文件 以下参考周姐文档 相机调用步骤 学习相机第三方库的安装 https://blog.csdn.net/Qingshan_z/article/details/117257136书签:QT添加库(静态库和动态库)_Qingshan_z的博客-CSDN博客_qt添加库 添加文…

couldn‘t find “libmmkv.so“ android8.1.0 Nexus 5X

我们的应用一直没有奔溃,但是在某几款设备可能存在mmkv的报错。 研究了很久,一方面是因为mmkv团队也已经不管这个事情,从他的issue来看,每次有人提到这个,他要么就不予理睬,给出这个并非库维护者需要干的事…

ASUS华硕ROG幻16 2023款GU603VU VV VI笔记本电脑原厂Win11.22H2系统

链接:https://pan.baidu.com/s/1AgevUZleCHBJgCBcIp5CFQ?pwdhjxy 提取码:hjxy 华硕笔记本2023款幻16原厂Windows11系统自带所有驱动、出厂主题壁纸、Office办公软件、MyASUS华硕电脑管家、Armoury Crate奥创控制中心等预装程序 文件格式&#xff1…

WEB渗透—PHP反序列化(九)

Web渗透—PHP反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩…