关于研发效率提升

在传统的开发测试运维体系中,开发人员要自己编译,打包,上传,重启服务,查看日志,如果发现问题还要再重新来一遍,每个步骤都要手工操作极大的降低了效率,包括当前我们正在做的项目也是有诸多问题:

  • 在测试环境全靠手工
  • 开发环境未做隔离,大家相互影响,测试的过程经常被打断
  • 没有统一的代码控制规范,版本随便用,大家在同一分支上开发,新功能在旧的分支上继续开发等

其实这种操作方式已经是非常古老的方式了,基本的自动构建功能还没有加上。

容器云平台

有种基于容器云平台的方式可以大大的提高开发测试效率。

1561554782086

  • 开发者提交代码到代码仓库
  • 通过Dockerfile制作新的镜像到Cloud门户
  • 发布的时候告诉Cloud门户,然后直接调用K8S去部署即可

整个过程需要三个部分:“代码仓库”,“Cloud门户”,“镜像仓库”,其它的都不需要怎么处理。

解决问题

  • 资源隔离:
  • 弹性的扩缩容:可以动态的扩容,按需分配
    • 快速应对流量高峰
  • 资源利用率
  • 研发效率提升
    • 分布式部署,容器管理,滚动升级,屏蔽底层细节,提升研发效率

早先的处理方式为:申请服务器-->安装初始化-->部署/调试-->测试上线。有了容器云可以直接打包成镜像进行测试,很好的隔离资源。

平台设计理念

易用:一键生成可运行镜像

易维护:服务宕机业务无感知

稳定:高可用

高效:降本增效

日志采集:不能丢失

Docker + K8S + 注册中心/控制中心 + 服务管理平台 + 日志采集

可以根据需要采用必要的组件。

云平台架构组件概览

1561556247388

  • cAdvisor是和kubelet绑定在一起的进程,是一个监控的客户端,数据可以写入到时序数据库(IndefluxDB)中
  • log-pilot 阿里开源的工具,容器日志收集利器,参考文章:https://yq.aliyun.com/articles/674327
  • HeapSter是与cAdvisor通信的工具,目前不维护了:https://github.com/kubernetes-retired/heapster
  • Flume:日志采集软件,采集日志输出到Kafka中
  • CNI + DHCP,容器云的网络
  • Harbor: 镜像仓库

下面就不继续再写了,暂时还不能接触到K8S相关的资源,线上的K8S还没有机会碰到,虽然我们再使用了,等后续有机会再线上或者真正使用到相关东西之后,再实践中再更新容器云平台的相关文章。

最后

最传统的打包部署方式肯定是会影响到研发的效率的,这种情况觉得要找一些运维人员或者DevOPS人员来做一下相关的事情。

如果不行的话,开发人员可以想办法开发一套自助运维的系统:

  • 只需再界面选择分支,服务器,点击部署即可。在页面显示日志,统一操作
  • 自助运维管理工具,显示当前测试环境,开发环境中的服务器数量,无需显示线上的服务器

需要资源:

  • 一个公共的git账户,可以拉代码
  • 收集测试环境服务器,录入自助运维平台
  • 一台专用的CI/CD服务器

后续可以搞一搞,关于云平台相关的东西,后续真的在接触使用之后再考虑下一步。



作者:Real_man
链接:https://www.jianshu.com/p/3129c202e3a8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值