
服务器
这个问题的重点其实并不在于用了四种编程语言,仅仅四种而已,这根本不算什么。所谓的运维平台,至少应该涵盖
服务器等基础设施管理、日志处理、
监控、代码托管以及 CI/CD 功能。在构建这样的系统时,根据具体问题选择最适合的语言(包括利用其优秀的生态系统)是非常正常的。如果你所说的运维平台和我理解的一样,那么用到四种语言甚至更多来实现不同功能模块,这已经是司空见惯的事情了。运维平台本质上是一个集中式的后端服务,但它需要多个组件协同工作才能完成全部功能。举个例子,比如
服务器等基础设施的管理部分,运维平台后端可以作为 supervisor,而实际的管理与信息收集任务则由分发到各个环境中的 agent 程序来完成。无论后端采用何种技术实现,这些 agent 程序使用原生语言编写都是非常合理的,因为它们具有更好的分发便利性和兼容性(例如 Go 编译出来的静态程序,或者通过 musl libc 交叉编译的 Rust 程序)。对于像运维平台这样复杂的系统,多个组件之间通过 gRPC 进行通信又有什么不正常?只要涉及前端展示,React 或其他类似的框架自然也是必不可少的。你提到分别用 Rust、Go、
Python 和 Node.
JS 编写了多个微服务,这确实乍一听有些令人费解。但考虑到你没有详细说明每种语言具体解决了哪些问题,这些微服务各自扮演的角色是什么,我暂时也就不对此做出评价了。真正让我感到疑惑的是,提问者自称是
公司里的运维人员。你们
公司的运维团队真的具备开发运维平台的能力吗?为什么会让一个运维去负责开发这么庞大且复杂的系统?如果这位运维人员确实有向开发方向转型的想法,并且具备一定的开发能力,那他更符合 DevOps 的角色定位。这类人员的关注点通常与普通程序员有所不同,他们更注重运维相关技术和生态。然而,从你的描述来看,他的技术栈似乎和普通开发人员毫无二致,这不禁让人怀疑:他是不是因为
面试开发岗位失败,才转而进入贵
公司担任运维的?最后想强调的是,你们真正应该关注的是他是否有能力将这个项目成功落地,而不是纠结于他选择了哪些技术或使用了几种编程语言。可以给他一些时间,观察项目的进展。如果他确实是由于开发岗位
面试失败或有意转向开发的运维人员,很可能对这套系统的复杂性把握不足,在这种情况下,及时止损并合理分配任务是非常重要的。另外补充一点,我在工作中接触过不少
公司的运维人员,其中很多并没有太多技术深度,他们的技能往往局限于培训班传授的内容或简单的配置方法,甚至可能还不如一些
linux 爱好者群里的高中生。因此,如果有一位运维人员展现出如此强大的开发能力,我一定会积极引导,让他充分发挥自身潜力,为团队创造更大的价值。而不应在尚未深入了解情况之前,仅仅因为他使用了几种编程语言就武断地质疑他在装腔作势。