容器化在近些年非常火热。小红书运维总监孙国清向大家解释了容器化的三大原因,并为大家带来了《小红书大规模容器化应用实践》的主题分享。他介绍了小红书在容器下面所用到的基本组件,还总结了通过容器化获得的几项收益。另外,他针对落地容器化提出了一些可供大家参考的策略。最后讲述了小红书一个未来的中短期计划。
孙国清提出需要容器化主要有如下三个原因:
1、提升部署效率
2、增大弹性容量
3、善用资源
在具体讲解小红书如何容器化时,孙国清介绍了Spinnaker这个发布系统和通过Spinnaker来控制流量的Canary发布策略。
他指出,Spinnaker作为一个发布系统,主要有5个优点。
1、它是Netflix的一个开源项目,谷歌也加入了这个项目
2、有开放性和集成能力
3、有较强的Pipeline表达能力
4、支持表达方式,支持spring的表达语法
5、支持多种云平台
在上线环节中,小红书遵循Canary的发布过程,即先把新版本或者用户进行分类,如果用户能接受不稳定,就会被引入到新版本中。过段时间后再听取用户的反馈,如果可以的话就扩大容量。 通过采用以上的发布系统和发布策略,小红书目前获得的收益有:
1、80%多的应用已经跑在容器环境中,预计在明年Q1能够达到100%
2、前面介绍的Canary策略已经帮助他们避免了数十起发布事故。
3、大促期间流量都跑在容器中,提供了急速扩容的能力。
由于目前技术团队规模还有限,而小红书又希望落地容器,所以提供了6项策略供大家参考,分别是:
1、从发布系统入手
4、建立云服务商屏蔽复杂细节
5、新旧环境线上对比测试,增强使用者信心
6、监控和日志方案先行,让容器可建,加强容器的存在感
7、有靠谱的团队成员。虽然我们用了腾讯云的容器
8、开源技术优先
最后,他还提到了目前小红书的一个中短期计划。这项计划包含自动扩缩容、微服务的灰度控制和ACA-自动化灰度决策。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。