荔枝运维平台容器化实践

640?wx_fmt=jpeg

荔枝微服务化进程较早,目前已有上千个服务模块,先前的运维平台渐渐无法满足微服务架构下运维管理的需求,于是决定从2018年开始重构运维平台,结合容器化技术,让开发人员尽可能无感知迁移的同时享受容器化带来的诸多好处。本次分享将主要为大家介绍我们项目发布系统重构过程中,技术选型的考虑以及实践过程中遇到的一些问题和解决方案。
背景

640?wx_fmt=png


荔枝后端微服务化进程较早,目前已有上千个服务模块,绝大多数是Java。得益于良好的规范,旧的运维平台实现了一套简单的自动化部署流程:
  1. 对接Jenkins进行编译打包和版本标记

  2. 把指定版本的jar包,配置文件,启动脚本一起发布到指定的机器上裸机运行

  3. 通过对Java进程的管理来完成重启,关闭应用等运维操作


但是随着开发人员,项目数量,请求量的增加,旧的运维平台逐渐暴露出以下一些问题:
  1. Java实例部署所需资源没有清晰的统计和系统层面的隔离,仅仅依赖于启动脚本中的JVM参数来进行内存的约束,新增实例或新上项目时往往需要运维人员靠“感觉”指定部署的机器,没有有效地分配机器资源,项目之间资源争用会导致性能问题。

  2. 虽然大多数应用依赖的环境只有JDK 7和JDK 8,但一些JDK的小版本差异,以及一些自研发Java agent的使用,使得简单地指定JAVA_HOME目录的方式很难有效地管理运行环境。

  3. 开发人员的服务器权限需要回收。一个服务器上可能运行多个不同部门的项目,相关开发人员误操作可能会导致其他项目被影响。


上述问题虽然也可以通过一些技术和规范约束来解决,但天生就是为了解决环境依赖和资源管理的容器技术是当下最合适的方案。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值