大型软件部署交付

2023-03-01 11:29:41 +08:00
 luxsunzhe1

各位彦祖,想问下你们公司都是怎么给客户部署 B/S 软件的? 我司 5w 多家企业客户,要部署一套 200+微服务 springboot 应用和 20+周边服务如( redis/rabbitmq/ng 等等)+所有类型数据库( Mysql/SQLServer/Oracle/PG 等),现在部署一次大概得一天左右,主要通过 shell 脚本部署,想问下怎么优化?

3078 次点击
所在节点    问与答
40 条回复
isno
2023-03-01 11:32:00 +08:00
全都给改成 docker 的?
perfectlife
2023-03-01 11:36:18 +08:00
感觉有必要那么多微服务么,你们客户对这些没意见么,我们供应商要是给我搞这么多微服务,我估计裂开。 你可以用服务全做成容器,去客户现场部署,k8s+yaml 直接梭哈
ixixi
2023-03-01 11:40:27 +08:00
我比较好奇的是做的是哪一类的软件 ?
westoy
2023-03-01 11:42:27 +08:00
慢点好, 好收费
youisme
2023-03-01 11:43:15 +08:00
k8s, 需要落地执行的可以找我们合作
hhjswf
2023-03-01 11:45:45 +08:00
这就是 k8s ,docker swarm 的场景啊
moshiyeap100
2023-03-01 11:57:21 +08:00
@perfectlife 也可能指的是 200+的微服实例,比如一个订单服务有 30 个实例这种。
julyclyde
2023-03-01 12:03:09 +08:00
shell 脚本,我猜大概都是写“动作”的吧
建议还是用 ansible ,写“期望结果”
或者用容器,直接交付结果
la2la
2023-03-01 12:11:14 +08:00
目前 shell 脚本不也没有碰到什么问题么?接着用啊
如果需要快速交付的场景: all on k8s
tomczhen
2023-03-01 12:22:16 +08:00
大型还是商业,交付部署有很多根据实际情况来做的细节,网友顶多给个云来的方向,实际坑还是得自己踩,最后也不一定能行得通。至于真的实践过的,就算想分享给你,打字都要一堆,白嫖方案细节更不可能。

商业就是商业,别想得太简单。

花一天时间,只要稳定不出问题,不埋隐患,客户认可,万一优化成 1 小时,客户反而不愿意掏钱呢?
whileFalse
2023-03-01 12:31:55 +08:00
你们这软件。。。感觉写代码的人瞎几把搞。
hhjswf
2023-03-01 12:45:29 +08:00
@tomczhen 啥?这不是说 5w 多客户,应该是做平台的,不是每个客户部署一套,部署成本肯定不是客户掏钱
cheneven
2023-03-01 13:03:56 +08:00
k8s, 需要落地执行的可以找我合作
jucelin
2023-03-01 13:15:04 +08:00
虚拟机镜像,然后 U 盘带过去
idblife
2023-03-01 13:31:42 +08:00
k8s
也可以联系我
哈哈
luxsunzhe1
2023-03-01 13:38:59 +08:00
@perfectlife 容器简单了,主要是客户不会给 kubectl 权限的,大部分是通过 jenkinsfile 实现,还不能用 shell 脚本,更麻烦!
luxsunzhe1
2023-03-01 13:49:02 +08:00
@isno 现在是 docker 或虚拟机,问题是容器镜像非常多,磁盘空间占用特大,导入导出镜像耗费了大量时间
@tomczhen 说的对,但是领导不同意,说我们自动化程度太低,耗时太久
@ixixi 企业软件
@moshiyeap100 不是,就是单纯模块服务
@julyclyde 有 ansible ,ansible 这块的问题是客户服务器操作系统多变,比如 windows ,centos ,麒麟一大堆,导致 ansible playbook 冗杂且容易出问题,尤其是第三方中间件,不上容器化的话,这块根本没法玩,早期我们就是各种操作系统兼容问题,后来切容器后还好一点
@la2la 领导要求优化呀
@whileFalse 是的,拆太细了,我们现在一套系统要求 200 多 g 内存,小客户根本承受不了
@hhjswf 即做平台,也做私有化,很多 guoqi/zhengfu 不允许使用我们的 saas 服务
@jucelin 不现实,几万家客户不可能全带 u 盘过去的
goodryb
2023-03-01 14:19:00 +08:00
@luxsunzhe1 #17 既然领导说自动化程度太低,时间太久那就要拿出来具体分析下,部署的卡点在哪里,耗时在哪里

不管用 k8s 、虚拟机,甚至是 shell 脚本,都是实现自动化的手段。

高效的前提标准化,敏捷化; 部署环境、方式、验证是不是足够标准; 业务本身是否足够简洁、敏捷;

分析之后再看怎么去提升和优化。
defunct9
2023-03-01 14:24:49 +08:00
开 ssh ,让我来
Mithril
2023-03-01 14:47:18 +08:00
这就是云架构师纯瞎搞出来的,面向 KPI 的架构设计。。。

你每个客户都搞一套这玩意,光售后维护就能搞死你。而且最重要的问题在于,如果客户没有这么大的数据量需求,那你搞这么个复杂的微服务架构有意义吗?
如果他们有这么大的需求,那自己还没个运维团队?开发还要外包?

恕我直言,绝大多数的企业级应用,都根本用不上这么复杂的微服务架构。没那么多并发,也不需要多高的容错。你要说只有 500 强客户还好说,5W 多家企业客户里面怕是大部分都用不上。

已经搞成这样了,那最简单的办法就是连着硬件一起卖。OEM 几台机器,配置好了发给客户去。版本更新直接换硬盘,省得你到时候乱七八糟的环境问题搞不定。也省得客户抱怨你这东西吃配置自己的机器跑不起来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/920110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX