大型软件部署交付

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

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

3108 次点击
所在节点    问与答
40 条回复
99s
2023-03-01 15:09:01 +08:00
微服务架构不是只存在 PPT 中吗?做事用这个不是折腾自己吗
litchinn
2023-03-01 15:21:39 +08:00
正文里说目前主要用 shell 部署,楼层回复里我看又说不让用 shell 呢
这种大型项目,对面不给 kubectl 权限是啥情况,服务器权限也没有吗,那不就是你们写方案别人部署吗?
镜像问题,现在有使用 harbor 吗,建议自建 harbor ,部署时通过合适的手段直接访问,或者部署地建一个 harbor
另外确实如 @Mithril 所说,真的有 5w 家这种都需要自部署这么复杂项目的企业吗,不会是所有服务 all in one 吧
hhjswf
2023-03-01 16:18:34 +08:00
@luxsunzhe1 一家企业就要部 200 多微服务 20 多中间件?那整个平台得部多少套。。牛批
BeforeTooLate
2023-03-01 16:52:30 +08:00
一套系统要求 200 多 g 内存,小客户根本承受不了。
这里是指一家企业就要这么大内存?
julyclyde
2023-03-01 16:58:23 +08:00
@luxsunzhe1 ansible 搞不定的,理论上你的 shell 应该更搞不定
要求隔离啊,不要和其他的混在一起

几万家客户这个量级,就没听说过还派人去的。我觉得也许需要反思一下是不是哪里做错了
cmingxu
2023-03-01 16:59:02 +08:00
10 个服务以内我现在全是 docker-compose , 超过 10 个的服务我还没见过。
rushssss
2023-03-01 17:08:54 +08:00
200+微服务 springboot 应用和 20+周边服务如( redis/rabbitmq/ng 等等)+ 所有类型数据库( Mysql/SQLServer/Oracle/PG 等)


这么大一堆东西,能一天部署完调试好也算你们厉害了。

想要再提高效率,容器化和声明式 API 部署应该是唯一的路,就算客户不给你 kubectl 权限,通过 jenkinsfile 调用 kubectl 和你通过 jenkinsfile 调用 shell 实际上是一码事,所以还是可行的。
jamosLi
2023-03-01 17:36:05 +08:00
不可能每次发版都是重头再来吧。
LLaMA2
2023-03-01 17:52:01 +08:00
@defunct9 上一个 SSH 哥已经被 ban 了
defunct9
2023-03-01 17:59:11 +08:00
@ye4tar 上一个也是我,又解开了。
LLaMA2
2023-03-01 18:00:40 +08:00
要不你把你的 shell 中一些经典的部分抹除掉敏感信息,发出来大家伙给你说道说道
yrj
2023-03-01 21:52:33 +08:00
我感觉,你们公司的技术主管是在这练手呢吧?能用的都用上了
WildCat
2023-03-01 21:56:57 +08:00
audioium
2023-03-02 02:11:55 +08:00
@defunct9 联系方式给下吧, 下次找你 ssh.
smg
2023-03-02 08:42:32 +08:00
最近上了 2 套完全不同的系统,本地内网部署的,供应商都是直接 all in k8s 交付,把测试灰度和正式环境全上了。部署时间一两天对我们来说无所谓,我们关心的是后续维保问题,环境问题你们自己去修,要划清工作界面。前期沟通好能单独提供一个主机就更好了,以后这个盒子的问题都是你们。
echoyangjx
2023-03-02 09:25:31 +08:00
试试 ansible
darling19961030
2023-03-02 10:06:20 +08:00
个人经验不上云上 docker 意义不大,尤其是离线环境,纯粹给自己找事
Mithril
2023-03-02 10:58:23 +08:00
@smg 这就是问题所在。
能正常跑那啥事都没有,集群出问题想要调试和调查就麻烦了。客户那里的 IT 可能没有这个水平,再说就算有,也不一定会愿意帮你调查。比如经典的,“我们什么也没动,他就坏了,那不就是你们质量问题吗?”
而且调查也不一定方便,涉及网络方面没准还要去现场。

所以说 k8s 这种东西,只适合做 SaaS 服务。哪怕是客户那里有自己的私有云,自己的 k8s 集群,你也不要去碰,给他们发布镜像就好了,不然真的搞坏了那你这锅可就大了。

拿这套东西去把整套 SaaS 服务直接打包卖给客户,只能说是徒增部署和维护成本。
要是有自己的 SaaS 服务,为了省成本直接打包卖那还好说。
要是大部分客户都是这种,还要搞 all in k8s ,也就只能指望老板不懂技术了,不然一核算成本 CTO 怕是要直接跑路。
defunct9
2023-03-02 11:29:36 +08:00
@audioium 微信:ZGVmdW5jdAo=
audioium
2023-03-07 21:59:27 +08:00
@defunct9 加你了, 请通过.

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

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

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

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

© 2021 V2EX