介绍
管理IT基础设施一直是企业需要克服的一个挑战. 早些时候,很多时间都花在了物理配置上, 管理和维护业务运行所需的软件和硬件. 随着云的访问和大规模采用,挑战的性质发生了变化. 今天,可伸缩性的问题是最重要的. 业务的适应性和敏捷性取决于公司能够如何主动地管理其IT基础设施.
云计算的一个重要新趋势是基础设施即代码, 简称IaC. 虽然这一概念并不新鲜, 关键技术的采用促进了开发团队和基础设施团队之间的协作,使之成为DevOps的关键方面之一. 在一天结束时, 这总是与缩短上市时间有关, 尽管方法可能会有所不同. 对伸缩性的需求会导致团队内部出现问题,比如缺乏可见性. 自动化工具与DevOps的结合可以使团队处于相同的位置. 这就是IaC的用武之地.
本文将讨论IaC的各个方面,包括 技能, 以及以技能为中心的薪酬趋势概览.
什么是Infrastructure-as-a-Code?
基础设施即代码(Iac)通过代码而不是手工流程来管理和提供基础设施. IaC 使用高级的描述性编码语言来自动化IT基础设施的供应. 自动化将消除开发人员的手动任务,如配置和管理服务器, 操作系统, 数据库连接, 存储, 以及其他基础设施, 测试, 或者部署一个软件应用程序.
在今天的竞争环境中, 公司正在部署数百个应用程序到生产中, 当基础架构根据开发者和用户的需求进行伸缩时,哪些因素会直接影响基础架构. 因此, 为了降低成本,企业必须实现自动化(可以通过IaC实现), 降低风险,提高部署速度.
IaC框架的最初概念催生了DevOps. IaC enables DevOps professionals to create 和 version Infrastructure in a similar fashion rapidly; they version source code 和 track these versions to avoid inconsistency among IT environments that can lead to severe issues during implementation.
“ 基础设施的目的-作为代码 是为了使开发人员或运营团队能够自动管理, 监控, 和提供资源, 而不是手动配置离散的硬件设备和操作系统. 因此, 基础设施即代码有时被称为可编程或软件定义的基础设施(SDI)。.
IaC如何起作用?
由于2019冠状病毒病(COVID-19)大流行以及随后在全球范围内引入远程工作, 云计算见证了客户部门和行业的快速扩展和采用. 云计算对业务最重要的优势之一是随需应变的可伸缩性,不需要设置物理基础设施和招致相关的高成本. 但云基础设施仍然需要适当的配置, 而这就是基础设施作为代码出现的地方.
IaC涉及用代码或模板创建云环境. 通过选择这种方法, IT团队可以开发整个基础设施来运行他们的应用程序,而无需像过去那样进行任何物理配置.
使用大型云应用程序的企业可以从IaC中受益,因为它很容易, 快, 更有效的, 以及更一致的方式来创建新的基础设施. 在云, 建立实体基础设施可能需要几周甚至几个月的时间. 例如, 购买服务器, 安装服务器, 在应用程序中安装操作系统和破解都是耗时的任务.
随着Cloud C的引入,应用程序可以在几秒钟内运行. 与IaC, IT团队现在可以在云模板上运行所有的东西(一种可以更新并与团队共享的编程类型). 作为一个结果, IT团队受益于IaC,因为它提供了敏捷性, 更大的控制权, 以及跨不同云平台的一致性——AWS, 微软Azure, 或谷歌云.
IaC使公司的基础设施具有高度的弹性,从而使其具有可重复性和可伸缩性. 一个专业人员可以在任何给定的时间部署和管理许多机器,以降低成本, 更少的资源(不需要雇佣数百名员工在不同的设备上工作), 并且总体上降低了操作系统的风险.
基础设施代码 允许以编程方式管理虚拟机, 消除了手动配置和更新单个硬件的需要.
Infrastructure-as-a-Code:所面临的挑战
基础设施即代码有很多好处,但它对业务来说也有一些缺点. 在实施过程开始之前,需要解决某些挑战.
- 要求的技能
基础设施即代码需要DevOps模型来运行代码. DevOps是IT市场上最受欢迎的技能之一, 而且具备必要技能的专业人员也很缺乏. 因为每家公司都在向云计算迈进, 在不久的将来,需要DevOps和自动化技能来平稳地运行云操作. 换句话说, IaC是一种DevOps实践,可以帮助自动化软件生命周期过程中的开发人员的需求. 市场上有多种开源工具 Ansible (Red Hat) 起程拓殖 是最常用的例子吗. 毫无疑问, 因此,这两个构成了大多数工作规格的基本要求. 例如,Ansible可以帮助自动配置 码头工人 容器和 Kubernetes. 另一方面,起程拓殖与大多数云环境一起工作,帮助实现自动化. 市场上还有其他工具,比如 厨师 和 木偶.
- 依赖于编码
IaC为开发者带来了巨大的力量. 因此, 公司需要雇佣和培训编程语言(如JSON)方面的专家, HashiCorp配置语言, YAML, Ruby, 等. 然而, 市场上开发商严重短缺, 而缺乏熟练的专业人员将阻碍云计算的实施,并延迟应用程序的运行.
从工资的角度来看,开发人员是IT就业市场上收入最高的职位之一. 根据 Itjobswatch核心开发者的平均工资为9.5万英镑. 除了, 多于4个,000名开源java开发者在LinkedIn上发布广告, 这是否意味着整个国家都对Java角色有着巨大的需求.
- 适应IaC
对于采用DevOps自动化(即IaC)的公司来说,最大的挑战之一是将新的框架与现有的基础设施精确集成. 除了, IaC相对较新, 对于团队来说,将复杂且相互关联的资源及其依赖关系转换为代码并不是一件简单的事情.
转向和采用IaC需要很多时间, 需要与安全性和遵从性团队进行规划和协作. 公司的痛点之一将是在采用IaC的过程中存在的差距,这导致了关于如何以及在哪里提供资源的困惑, 治理, 和担保.
- 安全挑战
当涉及到开发人员时,他们可能会遵循最佳实践. 但当紧急情况出现时, 它可能迫使操作团队直接在生产环境中进行配置更改. 它违背了云基础设施的原则,即基础设施在部署后永远不应该被修改.
以防紧急情况, 任何需要更新的内容, 固定, 或以任何方式改变, 新的基础设施必须通过代码来提供. 但, 更重要的是, 配置更改可能会引入风险, 导致云的姿态偏离了基础设施供应之前通过IaC定义的特定姿态.
薪酬洞察-基础设施即代码(英国)
实现基础设施即代码的技术专业人员最有可能在云计算环境——基础设施中担任DevOps和自动化专业人员的工作, 机器学习, 云工程师, 甚至是AWS或Azure顾问. 本文详细介绍了在英国从事不同的云工作的专业人员的薪资趋势和技能要求.
工资的趋势

来源:ITjobswatch
共病的顶级技巧
下面是在各种云计算工作中提到的10个最常见的技能,这些技能需要一些IaC知识. 或者换句话说,这些数字表示需要这些技能的云作业的百分比. 很明显,超过76%的云工作需要DevOps经验和技能. 起程拓殖是最流行的工具,就IaC而言- 70%的云工作提到起程拓殖作为一个需求. 另一个流行的工具Ansible的得分在30%左右.
来源:ITjobswatch
战略的见解
- IaC对于DevOps来说是必不可少的
在图1中,它说明在四个云作业中,有3个作业(76.57%)要求有DevOps经验. 全世界都对DevOps专业人员有需求. 任何为他们的工作实现云服务的公司都需要DevOps专家. DevOps是一种结合了开发工作的方法或实践 & 运营团队要在整个软件开发周期内进行协作,这使他们能够在同一页面上工作. DevOps有助于缩短SDLC,并确保交付高质量的软件.
根据 微软, 基础设施即代码使DevOps团队能够在开发周期的早期在类似产品的环境中测试应用程序. 这些团队希望可靠地按需提供多个测试环境. 还可以验证和测试表示为代码的基础设施,以防止常见的部署问题.
- 对DevOps专业人员的需求正在上升,技能短缺正在显现
DevOps最重要的好处之一是它可以自动化流程, 组织工作流程, 并定期检查绩效. 随着云计算的实施正在兴起, 这导致了英国和世界各地对DevOps专业人员的巨大需求.
根据 《CodinGame开发者调查2021 (基于15人的回答,000名国际开发人员和人力资源专业人士), DevOps是IT就业市场上最受欢迎的技能. 大多数人才招聘专业人士都提到了在填写DevOps方面的困难, 后端开发人员, 和全栈开发人员职位. 大约四成的TA专业人士(43%)认为他们很难聘请DevOps专业人士.
在未来的12个月里,英国的公司将很难找到DevOps人才,除非他们接受远程工作或采用不断发展的混合工作模式. CodinGame分析 13,英国100多个城镇提供了000个技术岗位, 不包括少于50个可用开发人员工作列表的区域. 只有23%的全职公司提供远程工作, 如果将“暂时远离工作”的职位也包括在内,则上升至36%.
在任何一天, LinkedIn 有超过10,000个与devops相关的职位空缺. 对DevOps的需求正迅速蔓延到各个角色、组织和行业. 在英国, 公司已经在为数字技能的全面短缺而苦苦挣扎, 随着英国脱欧和新冠肺炎疫情,企业无法招聘海外员工,情况进一步恶化.
在英国,DevOps专业人员的平均工资中值为6.5万英镑. 所以即使在大流行期间,许多公司也削减了员工的工资, DevOps专业人员的工资一直在稳步增长(英国DevOps专业人员的工资同比增长了2.50 %).
以下是2021年在英国DevOps角色中最常见的10项IT技能.
来源:ITjobswatch
比较图1和图2, 很明显,IaC和DevOps专业人员需要类似的技能来执行他们的工作. 然而, DevOps专业人员必须精通编程语言,比如Java,因为他们确实需要在开发前端工作.
结论
在后covid -19时代, 企业将继续拥抱云计算, 混合工作文化正在兴起. 因此,对云计算的需求将进一步增加. 希望采用DevOps最佳实践并结合基础设施自动化的组织将需要具有技能的动手人员.
在不久的将来, IaC有可能通过管理控制台/GUI用一种基于编程的方法取代传统的基础设施手动配置. 然而, 这些公司面临的最大挑战之一是找到合适的技能组合, 比如DevOps专业人员. DevOps专业人员拥有管理IaC所需的技能,无需配置物理IT基础设施或虚拟服务器或专用数据中心.
在英国的就业市场上,云专业人员面临着严重的技能短缺, 特别是对于DevOps专业人士. 根据LinkedIn的数据,DevOps专业人员的职位空缺超过1万个. 然而, 受新冠肺炎疫情和英国脱欧的影响,海外人才进一步受到限制,在当前环境下,企业招聘难度加大.