如果你觉得这篇文章对你有帮助,请不要吝惜你的“关注”、“点赞”、“评价”,我们可以进一步讨论实现方案和细节。你的支持永远是我前进的动力~~~
2021年6月底入职网筑集团以来,作为技术架构师,完成了几件挺自豪的事情,从另一个方面去支撑业务的快速交付。
1、引入了SkyWalking调用链路追踪系统,解决了调用链路不清,定位问题耗时长的问题。
2、在SkyWalking的基础上作了大量的改造,增加记录了更多维度的数据;基于链路数据,进行异常根因分析,制作异常、慢sql语句、dubbo慢请求等大盘,推动链路治理、性能优化,等等
3、打造了测试环境路由系统。在skywalking的基础上,我们做了大量的二次开发,支持ingress、geteway、tomcat、dubbo、spring RestTemplate、logger、RocketMQ/ActiveMQ、xxl-job等中间件,进而统一了研发和测试环境,提效30%以上。
4、打造了DevOps服务发布系统,并推动服务的部署从运维转为开发执行,推动了DevOps在公司的落地。
5、打造了服务监控、报警系统,在基础设施监控的基础上,引入了应用层和业务层监控,统一上报给prometheus,并基于prometheus的数据做了监控大盘。基于上述监控指标和调用链路聚合数据,做了报警系统,及时把线上问题反馈到钉钉群里,及时处理线上问题。
通过以上各项工作,打通了开发、运维、测试之间的协作与沟通,提高了软件交付的速度、质量和可靠性。
请看如下AI总结的DevOps:
DevOps是一种文化、实践和运动的集合,它强调软件开发(Dev)和IT运营(Ops)之间的协作与沟通,旨在通过自动化和持续集成、持续交付(CI/CD)来提高软件交付的速度、质量和可靠性。以下是DevOps的几个核心概念:
- 文化和哲学:DevOps不仅仅是工具和技术的集合,它首先是一种文化和哲学,鼓励开发和运维团队打破传统的孤岛,共同工作,以实现更快、更可靠的软件交付。
- 自动化:DevOps强调自动化测试、部署、监控等流程,减少人为错误,提高效率。
- 持续集成(CI):开发人员频繁地将代码更改集成到共享存储库中,每次提交都会通过自动化的构建和测试来验证,以确保代码的质量。
- 持续交付(CD):在持续集成的基础上,持续交付意味着代码可以在任何时间点被部署到生产环境中。这是通过自动化部署流程来实现的。
- 持续部署:是持续交付的进一步发展,它意味着所有通过自动化测试的更改都会自动部署到生产环境中,而不需要人工干预。
- 协作和沟通:DevOps鼓励跨职能团队之间的协作,包括开发人员、运维人员、质量保证人员和其他利益相关者。
- 基础设施即代码(IaC):使用代码来管理和配置基础设施,这样可以版本控制、自动化和重复使用基础设施的配置。
- 监控和反馈:DevOps实践包括对应用程序和基础设施的持续监控,以及收集反馈以进行改进。
- 敏捷和精益原则:DevOps与敏捷软件开发和精益生产原则相结合,强调快速迭代、最小化浪费和持续改进。
DevOps的目标是缩短开发周期,提高部署频率,更可靠地发布新功能,恢复服务的时间更短,从而更好地满足业务需求和用户期望。通过采用DevOps实践,组织可以实现更灵活、更高效、更可靠的IT服务交付。
从中可以看出,我做的工作已经初具小成,满足一个中等规模软件公司的研发需求。
从文中也能看出,持续交付是DevOps中非常重要的一环,后续的系列文章,我会重点分享下我打造的DevOps服务发布平台的架构设计和功能,敬请期待!!!