V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tuding
V2EX  ›  程序员

想了解一下, 一般来说, 线上服务器环境部署是由运维来做还是研发?

  •  
  •   tuding · 2017-12-15 14:35:10 +08:00 · 8540 次点击
    这是一个创建于 2542 天前的主题,其中的信息可能已经有所发展或是发生改变。
    研发对线上软件版本有指定要求, 昨天今天都在全力折腾这个事情, 填平一个坑又蹦出来一个坑, 他说他也是弄了好久才把环境搭上的.
    于是我就有了 RT 的疑问.
    54 条回复    2017-12-19 09:14:25 +08:00
    liuzhedash
        1
    liuzhedash  
       2017-12-15 14:43:30 +08:00
    1、试试 docker
    2、理论上研发输出应该包含线上部署指导书
    nosay
        2
    nosay  
       2017-12-15 14:44:09 +08:00
    此时 docker 的价值就体现出来了
    timwei
        3
    timwei  
       2017-12-15 14:45:15 +08:00
    我们是开发提交依赖管理文件

    运维部属时跟代码一同部属
    zhengxiaowai
        4
    zhengxiaowai  
       2017-12-15 14:45:15 +08:00
    大公司运维来做,中小公司研发+运维
    tomczhen
        5
    tomczhen  
       2017-12-15 14:45:31 +08:00
    小公司不都是开发“顺便”解决掉这个问题么?

    之前待的公司后台要我把服务器换成 win7 试试你能信?
    lincolnhuang
        6
    lincolnhuang  
       2017-12-15 14:47:01 +08:00   ❤️ 3
    要是线上部署都是研发来做。。运维还能做啥呢?只能搬搬服务器,修修网络了吧。哦,对,现在都用云了,那就下岗了 :(
    FFLY
        7
    FFLY  
       2017-12-15 14:50:16 +08:00
    流程细的公司,研发出文档,运维操作,流程一般的公司,研发和运维蹲角落一起搞,没有流程的公司研发自己搞。
    Patrick95
        8
    Patrick95  
       2017-12-15 14:51:14 +08:00
    运维呀,开发写一份部署文档给运维,必要时协作部署。
    shadowwalker2644
        9
    shadowwalker2644  
       2017-12-15 14:54:46 +08:00 via Android
    你们不用自动化部署嘛? CD CI
    gdtv
        10
    gdtv  
       2017-12-15 14:55:58 +08:00   ❤️ 1
    你们都说用 docker,在我相处过的公司里绝对不允许用 docker,因为有性能损失,别和我说损失很小,损失就是损失,不在乎多少。
    loading
        11
    loading  
       2017-12-15 14:56:14 +08:00   ❤️ 5
    我们这里,包括打扫机房,都是我。
    其他时间是躲在售票机里,给你们出火车票。
    lincolnhuang
        12
    lincolnhuang  
       2017-12-15 15:01:11 +08:00
    @shadowwalker2644 CI CD 也要写脚本啊,脚本谁写呢?
    lincolnhuang
        13
    lincolnhuang  
       2017-12-15 15:02:17 +08:00   ❤️ 1
    @gdtv 相同的情况,而且 docker 只适用于无状态服务。docker 打包也不是一件轻松的事情,一般研发不太愿意做的。
    tomczhen
        14
    tomczhen  
       2017-12-15 15:04:08 +08:00
    @gdtv 任何事情都是有代价的。

    如果一个技术带来的收益,超过带来的缺点和问题的成本,那么就是可以考虑的。

    每个项目、每个人所衡量的收益、成本不同,没必要拿来作为唯一准则。
    tabris17
        15
    tabris17  
       2017-12-15 15:07:13 +08:00
    开发写部署脚本
    FFLY
        16
    FFLY  
       2017-12-15 15:08:16 +08:00   ❤️ 1
    @gdtv 一样的看法,前阵子研发的老大说想上 docker,被我委婉的拒绝了。docker 的场景没大家想的那么大那么好,现在很多人是惯性思维,有事没事装个 nginx 都要给你 docker 一下,问题是意义在哪,估计他自己都不知道。
    lincolnhuang
        17
    lincolnhuang  
       2017-12-15 15:09:53 +08:00
    @FFLY 现在 IT 技术圈浮躁的东西太多了,一拥而上,结果发现其实并没有什么卵用。就好比现在什么平台都号称是人工智能的一样。
    cxbig
        18
    cxbig  
       2017-12-15 15:10:12 +08:00 via Android
    开发提供需求列表,DevOps 写进部署脚本。
    loading
        19
    loading  
       2017-12-15 15:10:47 +08:00
    机器数量没上规模,别 docker 了。
    楼主能问这种问题,还是自己搬小板凳进机房装了就行了。
    lincolnhuang
        20
    lincolnhuang  
       2017-12-15 15:11:55 +08:00
    @tabris17 开发一般不了解生产环境的详细架构情况的,部署脚本里的相关参数修改,高可用什么的没办法写吧。而且部署脚本写得好也不是一件容易的事情。。
    FFLY
        21
    FFLY  
       2017-12-15 15:15:00 +08:00
    @lincolnhuang 是的,跟风得太多了。很多时候都是频繁听到某个新名词,然后百度一下,拍着脑袋就说我们也要上这个新技术。
    shadowwalker2644
        22
    shadowwalker2644  
       2017-12-15 15:17:25 +08:00 via Android
    @lincolnhuang 像我们这种集开发运维测试 QA 于一身的程序员,只有自己写的命。回答楼主,我觉得应该是开发写比较好,不然你都不知道运维把你代码怎么糊弄上去,出了问题还得找你
    shadowwalker2644
        23
    shadowwalker2644  
       2017-12-15 15:20:12 +08:00 via Android
    @FFLY docker 目前问题还是挺多的,虽然我们公司推了 docker 的云服务,但另一方面也在强调 severless 架构
    tuding
        24
    tuding  
    OP
       2017-12-15 15:20:27 +08:00
    小公司, 研发没给任何文档, 只有"所需软件<===>版本号", 研发团队异地, 实时沟通不太方便, 继续填坑 ing...
    l00t
        25
    l00t  
       2017-12-15 15:22:06 +08:00   ❤️ 1
    我们一般是开发(也就是我们)写个大致的部署方案,比如某文件要和某文件一个目录,某某某要放在某某某下面之类的。然后运维根据实际情况去操作。让我们写完整的部署脚本?我连生产环境有几个机器都不清楚,怎么写……
    shadowwalker2644
        26
    shadowwalker2644  
       2017-12-15 15:22:15 +08:00 via Android
    @lincolnhuang 运维要做日常监控,设置 alarm,一旦出问题要第一时间排查处理
    shadowwalker2644
        27
    shadowwalker2644  
       2017-12-15 15:26:09 +08:00 via Android
    @tuding 我觉得楼主得提供一些具体信息,服务器架构是在云端还是自建机房。如果是后者,研发可能是不容易部署的。前者的话借助 ci cd 工具,只要一开始设置好,以后每次 push 立马 build test deploy。迭代效率非常高,老板开心,你也开心
    tomczhen
        28
    tomczhen  
       2017-12-15 15:32:46 +08:00   ❤️ 2
    新生事物在早期本身就是有很多问题的,Docker 确实解决不了所有问题,有自身的缺点,也会带来新的问题,不过搞软件工程应该知道的第一件事不就是“没有银弹”吗?

    在技术未完全成熟时无脑拒绝和无脑跟风本质是一样的,提早作出判断收益才会更大,否则等着别人直接把你换掉 ¯\_(ツ)_/¯?

    那些高大上的企业的容器实践分享可是实际存在的,自私的讲,出于丰富自身技术阅历考虑,也得尝试一下吧?
    qs
        29
    qs  
       2017-12-15 15:45:09 +08:00
    没有银弹+1
    kanchi240
        30
    kanchi240  
       2017-12-15 16:17:07 +08:00
    测试做,测试除了不开发业务代码,能干的都得干
    RainFinder
        31
    RainFinder  
       2017-12-15 16:49:19 +08:00
    谁会谁干
    0x8C
        32
    0x8C  
       2017-12-15 16:54:57 +08:00
    现在都上云了,谁还要运维?
    FFLY
        33
    FFLY  
       2017-12-15 16:56:37 +08:00
    @0x8C 上云了就不要运维了?神理论!
    ywgx
        34
    ywgx  
       2017-12-15 17:08:56 +08:00
    @FFLY 上云了,确实可以不要运维了,这种工具还是需要的 https://xabcloud.com 😄
    FFLY
        35
    FFLY  
       2017-12-15 17:16:37 +08:00
    @ywgx 所以你对运维的认识就是偏的
    MarioxLinux
        36
    MarioxLinux  
       2017-12-15 17:36:36 +08:00
    线上的肯定运维来做( CI/CD ),研发出文档并做好支持
    rogwan
        37
    rogwan  
       2017-12-15 17:47:10 +08:00 via Android   ❤️ 1
    要是没有 LVS 技术,docker 部署在物理机上,就是革命性的应用。现在的云服务器都是基于计算池虚拟出来的,本身就可以热拔插,docker 的神功失色了不少。
    owenliang
        38
    owenliang  
       2017-12-15 17:53:27 +08:00
    脚本+ssh 解决大多数创业公司问题。
    ywgx
        39
    ywgx  
       2017-12-15 18:29:51 +08:00 via Android
    @FFLY 确实低级的运维不需要了
    HarrisonZ
        40
    HarrisonZ  
       2017-12-15 19:59:18 +08:00
    iaas 环境下运维来建设和维护线上环境。容器环境的化由于 docker image 很好的包含了程序的运行环境所以运维可以不关心这些。这样同时解放了运维和开发。再也不会因为环境不一致问题导致运维和开发相互丢锅。有问题就只会是开发的锅
    sunber
        41
    sunber  
       2017-12-15 21:28:05 +08:00
    @tomczhen 笑出声~2333
    akira
        42
    akira  
       2017-12-15 22:45:48 +08:00
    肯定是运维来处理啊,不然要运维来干嘛
    slgz
        43
    slgz  
       2017-12-16 09:38:54 +08:00
    小公司,两个开发,谁没事谁部署
    julyclyde
        44
    julyclyde  
       2017-12-16 09:41:39 +08:00
    对版本有要求这种事,一定要坚决打击
    julyclyde
        45
    julyclyde  
       2017-12-16 09:42:50 +08:00
    docker 有三种用法:
    1 当虚拟机用,长期运行
    2 不懂行的研发塞一堆垃圾进去,反正外边也看不见
    3 正确用法
    notreami
        46
    notreami  
       2017-12-16 10:30:28 +08:00
    @gdtv 你们是用指令集写程序嘛?包括汇编都有性能损失哈~~
    cynial
        47
    cynial  
       2017-12-16 11:25:45 +08:00
    @ywgx
    @lincolnhuang
    @0x8C
    上云了又怎样,不需要运维?
    从楼主的描述中就能知道这是开发普遍的现象,开发时间都在写代码上去了,能做完需求,写出没坑的代码就不错了,架构的事情弄懂并实际操作过的开发有多少,而且开发环境的部署跟生产环境的部署能一样?
    云上提供的各种服务,开发知道怎么选型并把它们用好的又有多少。
    另外服务不是部署上去就完事了,网络出故障了怎么排查,怎么进行有效的监控,告警(云上的监控告警真的能满足你们的需要?)
    当云上没有你需要的功能时,是不是得自己搞,这个时候上云跟不上云区别在哪里?
    认为上云就不用管这些事情的,如 @FFLY 所说,认知就是偏的
    lozzow
        48
    lozzow  
       2017-12-17 09:54:02 +08:00 via Android
    配管做😂
    firefox12
        49
    firefox12  
       2017-12-17 17:48:48 +08:00 via iPhone
    运维做,你们的产品成熟度还很差
    lincolnhuang
        50
    lincolnhuang  
       2017-12-18 09:20:18 +08:00
    @cynial 云服务又不是只有虚拟机,网络问题发 case,监控可以找云监控服务商。所以目前运维的方向是从交付上线开始,性能调优,系统架构和运维开发,如果交付上线都是别人做,那运维真没什么事情做了。
    lincolnhuang
        51
    lincolnhuang  
       2017-12-18 09:24:03 +08:00
    @shadowwalker2644 #22 开发写部署脚本没问题,那就是 DevOps 了,但是真正能完美做到的公司很少吧。运维按部署文档部署出了问题来找你,其实责任也很明确,开发没写清楚部署文档,或者运维没按照部署文档操作。
    wekw
        52
    wekw  
       2017-12-18 12:02:16 +08:00
    说 docker 有性能损失。。。。。

    我测过 docker tcp 反向代理的性能,那叫一个强。说 docker 有性能损失我是不认同的,你的服务器就不能接受那 1% 的 CPU 占用?平时都是 99% CPU 在跑?

    扯性能问题的人,99.9999% 是小白,剩下的才是真的遇到了性能问题。

    我不用 docker 是因为他复杂,如无必要,勿增实体。
    buliugu
        53
    buliugu  
       2017-12-18 14:29:32 +08:00
    docker 可比虚拟机轻太多了,要是有个好一点的运维开发来支持 DevOps 绝对要上啊,用不上大多是因为
    1、没这么高的运维需求
    2、没钱没人做运维
    lincolnhuang
        54
    lincolnhuang  
       2017-12-19 09:14:25 +08:00
    @buliugu Docker 比虚拟机轻,但虚拟机比 Docker 使用方便得多啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1078 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:50 · PVG 02:50 · LAX 10:50 · JFK 13:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.