huzhikuizainali
V2EX  ›  DevOps

复制企业级 Linux 开发环境:如何实现严格开发环境与生产环境一致性的基础架构策略

  •  
  •   huzhikuizainali · 21h 24m ago · 249 views

    我的目标是实现严格的开发到生产环境一致性,以消除部署摩擦。此外,我希望我的工作流程与大厂在为 Linux 服务器开发应用程序时实际采用的工程实践和基础架构范式保持一致。

    我正在评估以下几种常用方法来复制大厂设置:

    1. 本地容器化:例如,WSL2 + Docker 。

    2. 本地虚拟化:运行专用的无头 Linux 虚拟机。

    3. 远程开发:使用 IDE (例如 VS Code Remote 或 JetBrains Gateway )通过 SSH 连接到专用的无头 Linux 机器或云实例。

    目前,我的日常主力机是一台 Windows 11 笔记本电脑。我目前可用于搭建本地 Linux 节点的备用硬件配置为:Intel i7-6700 处理器、8GB 内存、238GB 固态硬盘和 GTX 1070 显卡。我的主要目标是确保架构的正确性,只要成本不太高可以不受现有硬件限制。如果升级基础设施(例如购置标准的开发工作站或配置经济高效的云实例( VPS ))能更好地符合现代行业标准,我也可以参考。

    我不是寻求个人主观推荐,而是希望了解大厂真实的开发环境,以及个人如何才能最好地复制大厂的开发环境。具体来说:

    • 行业现状:在实际企业环境中,如何切实保持开发环境与生产环境的一致性?行业范式是否正在向远程、集中式的无头开发服务器转变,还是在开发人员工作站上进行本地容器化仍然是行业现状?
    • 基础设施权衡:对于一个希望为这种企业工作流程建立肌肉记忆的人来说,买更好的本地硬件(用于本地 Docker/VM )与采用云原生方法(为纯粹的无头 SSH 开发配置远程云实例)之间,架构上的权衡是什么?
    julyclyde
        1
    julyclyde  
       20h 0m ago
    无非是构建过程的控制和构建结果的控制两种
    如果你自己对依赖关系、版本细节之类的很清晰,那可以做 reproducible build
    如果懒得管,那就放个现成的文件系统(容器)直接把一坨屎包进去就行了,每次展开都是同一个味
    zhangli2946
        2
    zhangli2946  
       17h 27m ago
    一般会给 云化的桌面环境, 比如 ubuntu centos 啥的. vnc 连过去做开发.
    保密控网一次性搞定;沟通问题仍然在 瘦客上解决.
    那个时候 AI 还没兴起. 此时我就在我的小盒子(debian) 上开发
    huzhikuizainali
        3
    huzhikuizainali  
    OP
       15h 40m ago
    @zhangli2946 谢谢回复。请问这种方式相较于 vscode 通过 ssh 连服务器进行开发有什么优势么?作为开发者,这种方式体验和效率如何?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5340 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 01:17 · PVG 09:17 · LAX 18:17 · JFK 21:17
    ♥ Do have faith in what you're doing.