我的前辈最近争辩说,一旦无服务器成熟,与DevOps相关的角色(如DevOps工程师,SRE等)将不再重要。他向我指出了Containers赢得了这场战斗,但将输给了无服务器的战争。

评论

对于COBOL程序员甚至Java程序员,仍然有很多工作要做!你不用担心哈哈

#1 楼

此外,无服务器还需要一些基础架构,为此,您还需要软件组件才能开发和推出。

除了另一个网站或应用程序服务器之外,我还想加强与以下方面有关的高级生态系统:


物联网-嵌入式系统和边缘服务器
分布式系统中的人工智能和数据工程。可能是一些ETL(提取,转换,加载)或用于机器学习模型的培训和物流。
游戏也可以在虚拟环境中工作。

因此,鉴于云市场和这些生态系统将增长,即使无服务将占主导地位,DevOps市场也可能比现在小。

否则,通常很难预测IT世界和就业市场的景象。 20年。

#2 楼


在无服务器时代,DevOps的未来是什么?在无服务器时代,您能看到越来越少的DevOps角色吗?


我个人不喜欢DevOps工程师角色,因为DevOps是一种文化!您可能要说的是将逐步淘汰运营还是系统工程师。就像其他答案所表明的那样,仍然需要进行这些活动,但是此类活动和角色的数量将减少。

我个人感到向云迁移的压力很大。过去,我要替换Datacenter机架中的服务器,使用PXEboot和puppet对其进行配置,监视和维护它们,但是现在,人们可以非常轻松地在云中创建新服务器。因此,基本上,如果我会变得固执而忽略云,我将在几年内被取代。我真的觉得我个人应该尽快在云和k8s中运行生产中的所有内容,这就是为什么我尝试提高效率(例如使用Spring Boot来为公司创造业务价值)的原因。
我会争辩说,每个工程师都应自动在云中部署应用程序,并应该找到一种方法来通过遵守行业标准为公司创造业务价值,例如terraform,云(AWS,GCP,Azure),容器编排(Kubernetes,Docker Swarm),容器(Docker或Rockit)。

#3 楼

披露:我在一家拥有1000多个开发人员的跨国公司中担任开发教练。

TL; DR这取决于您是否认为devop是一组特定的技能和工具,还是您认为devop是一种文化和工作方式。您可以查看“什么是开发人员”的问题和答案,在这里的一个有趣的答案中,他们给出了一些见解,即这是否只是使用某些工具的复选框,还是更多地改变了重点,行为和责任之前开发,发布和支持软件的方式。云提供商可以为我们提供更好的工具,但是我们仍然需要开发技能才能充分利用它们。任何一组工具都可能无法正确使用,我们不应该指望Serverless会有所不同。

长答案:

我认为您的同事认为,devops是当前的技能来设置当前的工具集。然后他们的论点是,借助无服务器移动,云供应商正在设置ci / cd,并且所有工具都具有良好的默认设置,这意味着您不需要自己专门知识来设置此类工具。

但是,当您超越“ hello lambda”并运行业务抽出功能时,仍然会遇到巨大的配置泥球和所有组件之间的不一致。在不断扩展和添加新业务功能的同时,不断改进产品运行,监视,测试,修补和保护的方式需要纪律,技巧和努力。

过去经常说“不再有开发人员,因为商人现在可以购买我们的工具来设计解决方案,并且该工具可以生成代码”。这样会使经历过这种实现的任何人退缩或大笑。如果工具的客户不雇用具有开发技能的人员来使用工具,那么他们会陷入泥潭,最终用户会感到沮丧。

我认为,就像“开发人员不会消失”一样,随着工具随着“开发人员”的变化而变化,我们将简单地看到新老问题,并看到技能和实践适应并发展为新工具。某些问题(弹性,供应VM)消失了,但新的问题取代了它们的位置(链接功能,监视分布式应用程序中的业务KPI)。

通过示例的方式,从广义上讲,无服务器形式的一种形式,不仅仅是功能或lambda,它是使用yaml在git中定义整个系统,并让git webhooks将配置同步到云提供商管理的Kubernetes可以创建您的运行系统。您无需使用租用cpu和ram配额的服务器来托管容器来托管群集。然后,您可以使用闲聊机器人自动创建发布和升级发布。 yaml是将功能链接在一起还是在kubernetes中启动容器,取决于您需要运行什么。一旦您超越了一个简单的“ hello world” Web应用程序,您就需要定义一整套Yaml和工作流,以“运行您的业务”,云提供商不能仅仅向您赠送礼物。

我认为每个人都可以同意,“仅配置yaml”以部署可以监视并不断改进的多个API和Web前端的工作就是“开发工作”。这些工具是最先进的并且可以在共享的kubernetes上使用基于SaaS的CI / CD,功能,租用cpu和内存配额,使用托管云数据库等,这意味着它在使用新工具而不是在传统工具上发展。 />
我是一家初创公司的技术顾问,这正是我们所设置的。我们将用于将git中的yaml同步到AWS上的Kubernetes中的所有脚本开源,作为一个名为OCD的项目。 (我们的业务目前尚未使用功能,因此,它是OKD Kubernetes自动化的,但原理是相同的)。晚上,我将启动程序迁移到了开源版本。因此,在白天,我使用传统工具(Git,Jenkins,Ansible等)进行devop教练工作,晚上,我使用最新工具(Git Circleci,Helmfile)进行devop教练工作。在我们的初创公司所做的事情中添加大量无服务器lambda不会突然意味着最低限度可行的产品将神奇地设置自己。

只要我们需要改进产品并部署新的用户体验并配置API的使用,我们将继续“发展”。为了区分新旧工具集,我们可以将新样式称为“ no ops”或“ git ops”。

关于站点可靠性工程也可以这样说。使用旧工具,您正在观察虚拟机。使用新工具,您正在观察更高级别的指标,例如服务网格流量。云提供商无法为您提供大量的仪表板,这些仪表板可以向您显示业务如何在负载下运行,并在出现间歇性错误时诊断和重新平衡事情。

最后

我个人不相信“开发团队”或“开发角色”。 Devops是一种工作方式,如果没有授权开发团队“设计,构建,部署和支持”他们所做的工作,Devops将无法工作。您可能会雇用具有技术专家技能的人员,例如构建和部署自动化以及敏捷指导。测试是“开发”还是“操作”是它们是否使事情自动化,以便团队有能力并使其自给自足。一个“开发人员”团队单击鼠标为开发人员团队设置IaaS并不意味着它是普通的旧操作。当您用自助服务自动机替换该团队时,它就变成了开发人员。

#4 楼

DevOps角色可能会存在一段时间。大多数企业和初创企业有不同的需求,从服务器的自我修复的意义上说,少服务器更多地表明“开发人员对应用程序的资源和基础结构的关注较少”,开发人员将需要编写函数,这些函数通常需要更改并适应应用程序需求。

考虑SRE时,它更多是领导角色。尽管角色的性质是系统的可靠性,但我们可能会在不久的将来看到自主开发,但这也将需要高技能的战略工程师来监督此类关键系统,而SRE将会发挥这种作用。

#5 楼

开发人员将发生的事情与操作将发生的事情相同。真正的DevOps是一个真正掌控整个流程的角色,这比常规的操作或开发要困难得多,只是人们没有进入精神阶段就可以全面了解它。最终,工程师将同时编写代码并执行其他所有操作。但是,嘿,您缺少了什么,您正在谈论云,但是您却缺少了去中心化部分,在那儿,私有云将像疯了似的招募。您认为有多少工程师需要AWS来支持这一点?的确,常规的Ops正在迁移到云,但实际上,更多的是技术的快速发展。 DevOps / Ops是数百种技术的主题,目前在小型公司中,开发人员的范围仍然非常有限。最终,开发人员将被迫在他们的文化中采取更多的操作方式,这只是另一种形式。代码也变得自动化了,这是一种有限的表达方式,这总是使它能够主观完成AI的优化。真正的问题是,如果开发人员和操作人员没有掌握机器学习/优化技能,他们将在不同的阶段被淘汰。