配置管理工具(十大办公软件)

发布日期:2021-01-14 19:11
授权方式:免费版
系统大小:2.36 G
系统语言:简体中文

同样是配置管理。初级和高级DevOps工程师有什么区别?

作者| Tj布洛古马斯

规划|田

首先,我们来介绍一下DevOps的定义:

DevOps是一种文化,它鼓励所有利益相关者,包括开发、操作和维护团队,通过自动化来协作和改进流程,以提高软件交付的质量和速度。

虽然DevOps本身强调内部文化的改变,但是你会发现大家在公司里还是用“DevOps工程师”这个称呼。当然,和其他职位一样,DevOps工程师也可以分为初级和高级。

我把我的整个职业生涯都奉献给了DevOps,并在几家财富500强公司工作过。在本文中,我们将与您分享初级和高级DevOps工程师在面对与配置管理相关的问题时的不同解决方案。

1配置管理

我对配置管理的定义是这样的:保证一个公司拥有的所有软件和硬件资产在任何时候都是已知的和被跟踪的,这是一个原则。——这些资产未来的任何变化都是已知的和被跟踪的。您可以将配置管理视为可随时更新的技术资产清单和单一事实来源。

如何在IT部门实施配置管理,与其说是一门科学,不如说是一门艺术:必须从很多不同的方面进行控制和跟踪,比如引入变更的过程、实际变更的内容,以及变更是如何与许多其他依赖系统相关联的。

对于 DevOps 工程师来说,配置管理最重要的 5 个方面是:

管理操作系统和中间件层软件的安装和配置

定义您自己的代码配置

无论环境如何,它都可以确保可重复的更改是等幂的

了解系统某一部分的变化可能对另一部分产生的影响

定义你自己的网络代码

下面我们以操作系统和中间件层软件的安装配置、网络即代码为例,深入探讨初级和高级DevOps之间不同的处理方式。

2管理操作系统和中间件层软件的安装和配置

这是有运维背景的人最熟悉的地方。他们需要对运行应用程序的多个操作系统和中间件有一个技术上的理解,并且知道/etc/hosts文件是什么以及它做什么。在大多数情况下,命令行比图形用户界面使用得更多。

问题:在数十甚至数百台服务器上安装了一些监控代理软件

初级 DevOps 工程师的方法

编写powershell/bash脚本,可以用给定的主机名和凭据输入安装和配置相应的代理。如果安装失败,请将失败信息写入日志,以便以后查看。

高级 DevOps 工程师的方法

检查需要安装此特定软件的操作系统和版本,并尝试将其标准化到支持的最低版本。

将软件安装在基本映像中,这样默认情况下,软件可以安装在任何新服务器上

使用配置管理工具,例如Chef或Ansible,而不是编写需要管理和维护的自定义脚本

考虑并从配置脚本中导出环境变量,以便在一次部署到100台服务器之前,在预发布环境中测试安装更改

使用源代码控制系统,源代码控制系统通常是基于GIT的,有一个可以测试代码的持续集成工具

总结

本质上,的高级德沃普斯工程师将从整体的角度来看待任何给定的问题,并试图理解如何在企业内部实施这种变化,而不是简单地解决一个给定的问题。坦白说,这个技能的技术含量低,更多的是评价和解决问题的能力。

3定义您自己的配置代码

这个问题涉及到一些配置管理工具(如Ansible或Chef)中的技术技巧,以及如何使用所选择的工具实现实际的配置。

问题:标准RHEL配置需要额外的装载存储驱动程序,驱动程序的/mount位置需要100gb的可用磁盘空间。

初级 DevOps 工程师的方法

使用可执行任务来连接磁盘驱动器、扩展逻辑卷装载以及创建/装载文件系统。假设此操作将仅在新配置的虚拟机上运行,因此如果它在现有服务器上运行,可能会导致失败。

高级 DevOps 工程师的方法

为标准RHEL配置部署创建一个可代理的角色

使用set_fact模块为现有装载点定义变量

如果/mount在给定的磁盘空间中不可用,请使用脚本创建它

总结

喜欢不同的开发语言(java、net、java),每种语言都有自己的方式来实现代码中的一些逻辑。高级DevOps工程师知道如何实现代码的逻辑,以解决配置的许多可能性,而初级DevOps工程师很可能第一次使用给定的工具/语言来解决这个问题,所以他们只是简单地试图解决眼前的问题。

彭州市人民政府