人们需要了解自动化对他们工作带来的影响,以及自动化是否真的会让DevOps人员、云计算工程师或解决方案架构师的工作面临取代的风险。
没有足够的熟练工程师
美国市场上有大约79.4万名DevOps工程师。根据之前发布的《2020年技能提升:企业DevOps技能》(Upskilling 2020: Enterprise DevOps Skills Report) 调查报告,招聘熟练的DevOps工程师并留住他们是企业面临的主要挑战之一,人力资源经理往往在招聘人才上面临较大压力。
此外,由于只建立流畅的持续集成(CI)/持续交付(CD)管道已不再足够,DevOps工程师也需要执行越来越多的重复任务,所以这方面的需求只会增长。即使自动化技术承担了其中一些任务,也远不足以解决DevOps领域的人员短缺问题。事实上,自动化可以帮助企业从承担多人工作过渡到一个更可持续的过程。
科技领域自动化势不可挡
编写代码也将变得自动化。这已得到了行业领导者的支持,例如GitHub公司首席执行官克里斯·万斯特拉斯(Chris Wanstrath)就预计,未来的编程会完全实现自动化。
Dev9公司首席执行官威尔·艾弗森 (Will Iverson) 对此表示认同,他利用自动化来推动称之为“持续开发”的流程,在这个流程中,开发团队编写代码,人工智能进行自动化测试和部署。这加快了交付速度,并最大限度地降低了劳动力成本。
云计算技术减少了很多工作岗位
如果企业使用云计算基础设施,那么肯定需要花时间进行适当管理。因此,企业需要聘请软件工程师并将这些工作交给他们。
但是,如果企业从未采用云平台及其托管服务怎么办?那么企业就必须自己构建一个云平台,并雇佣更多的工程师来处理其基础设施的完整性、安全性、可扩展性等。这时,像AWS的云计算服务商就为用户解决了这个问题,然后使用托管服务将其解决方案自动化。
因此,使用公共云服务的企业不再需要构建一支由数据中心、虚拟化、存储、数据库管理员等专家构建的团队。
但是DevOps呢?
DevOps可以推动团队高频发布并减少瓶颈。如果没有自动化构建或测试,这是不可能的。
自从DevOps概念诞生以来,自动化一直是其基本内核并且非常有效。
在《2021年DevOps状况报告》(2021 State of DevOps Report) 中,绝大多数(97%)在DevOps过程中取得进展的企业都认为自动化提高了他们的工作质量。
但随后有人批评DevOps为“解雇大量人员”提供了理由。由于人们普遍关注自动化如何影响IT行业以外的工作岗位,这种观点受到了广泛支持。世界经济论坛估计,到2025年,自动化技术为全球带来的工作岗位要比它取代的至少多1200万。
企业需要将这种开发文化与业务中发生的所有流程协调一致,并开发云原生解决方案,确保关键客户服务实际上得到更好的自动化和编排。
以上所有这些都是自动化无法取代人类的原因。但它会为人们争取更多的时间。
云计算自动化不会取代人们的工作,但会带来改变
对于负责管理云支出的人员来说,他们可能知道要投入多少时间和精力。
以下是大多数客户在开始使用自动化之前遵循的典型成本优化顺序:
(1)在特定时间点对云计算成本进行快照。
(2)将成本分配给各个团队或部门,以了解它们的来源。
(3)确定使用和增长模式,以明确哪些成本是合理的,哪些是适合优化的成本。
(4)深入检查基础设施,判断是否可以消除任何成本(如废弃的项目、影子IT项目或未使用却仍在运行的实例)。
(5)检查团队使用的虚拟机和其他资源,以检查是否过度配置或利用不足。
(6)提出优化计划,并联系工程团队进行验收和确认。
(7)此外,尽力说服工程师,成本与性能在云资源方面同样重要。
(8)一旦全部得到批准,实施基础设施变更。
(9)现在是考虑未来的时候了。分析需求并开始规划获得额外容量或删除不再需要资源的方式。
(10)查看云计算提供商的报价以了解他们的定价、预测成本、提前预留容量或与供应商协商批量折扣。
(11)为团队制定规则,充分利用购买资源提供的折扣。
(12)希望云计算账单在月底和预期的水平一样。
很明显,分配、理解、分析和预测云计算成本需要大量时间。
而且这不是一个月做一次的事情。为了合理节约成本,需要不断地应用基础设施更改、启动新资源,以及许多其他事情,以便构建符合当前需求的,经济高效的基础设施。
对自动化云成本优化有何期待?
在通常情况下,采用自动化解决方案可以处理以下任务:
- 选择最具成本效益的实例类型和大小以满足应用程序的需求。
- 自动扩展云计算资源以处理需求上升和下降。
- 移除未用资源以削减成本。
- 通过流畅处理潜在的中断来自动化抢占式实例的使用。
- 帮助避免其他领域的成本——自动化存储和备份、安全性以及对配置和设置的各种更改。
最重要的是,自动化意味着所有这些更改都是实时应用的。这就是掌控云成本优化的方式,它是一个实时操作。
所有这些都可以在不添加任何重复任务的情况下完成。该解决方案全天候关注应用程序和可用资源,以识别新的节省成本的机会,并立即扩大或缩小规模。
不必花费时间对基础设施微观管理
成本监控和报告等人工实施的云成本优化方法会占用人们大量的时间,而自动化的云优化可以使人们从执行重复性任务中解脱出来。
原文Will Automated Cloud Optimization Replace Your DevOps Job?,作者:Laurent Gil