《阿里巴巴DevOps实践指南》:
https://developer.aliyun.com/article/785093?spm=a2c6h.13528211.0.0.228c4307jitPjS
开发上云:本地不存储代码,降低数据泄露风险,更精确地评估员工绩效。
代码评审:互相检查,互相学习。
分布式测试:并行测试,可以提升测试效率。
精准测试:加快特定功能范围的测试。
AoneFlow模式:integration是主干,feature是特性分支,release是发布分支。
AMaven:以Maven为基础的优化,提高构建速度。
AliMake:以C/C++的Make为基础的优化,提高构建速度。
线上云、线下云、混合云。
依赖监控:依赖评分,如占用内存小、安全可靠等可以加分。引用深、总数大、版本多的依赖重点关注。
合适的发布方式:
停机发布;
金丝雀发布,发布给部分用户测试,收集反馈,决定发布到所有用户还是回滚已发布;可以在网关实现(用户ID取模,路由到新旧版本的服务);
灰度发布是逐批发布给用户,扩展至全部用户,只分两次就是金丝雀发布,灰度发布也称滚动发布;可以在网关实现;
蓝绿发布:绿环境是用户正在使用的环境,蓝环境和绿环境相互独立,完全相同;在蓝环境冒烟测试,没有问题,就动态更改路由,导流到蓝环境环境,蓝环境成为了生产环境,也就是绿环境。如果切换后遇到了问题,可以切回去,在原来的环境调试。蓝绿部署需要两倍的机器资源。
A/B测试:发布多个不同的新版本,随机给到不同的用户,分析用户转化率,选择转化率(转化率=(目标行动访问次数/总访问次数)×100%
)提升量最大的作为最终版本。
流量隔离环境发布:如果多个服务都灰度发布,需要做隔离,新版本的都调用新版本的。
(日常环境适合停机发布;预发环境适合金丝雀发布(自己的新版本测试和原有的旧版本测试));线上环境适合流量隔离的环境下灰度发布。
AoneFlow:
https://www.infoq.cn/article/EaC4c6yiJrzZ_Gtaf9Ne
阿里云效:
https://developer.aliyun.com/article/307586
运维升级:
https://www.sohu.com/a/437368225_612370?sec=wd