记那些年我们走过蛮荒时代,运维旁观者说

      运维本身是弹性较大的东西,但不管怎么样,他的地位越来越重要了。

我不是专业运维,我是专业看运维成长的。

发布方向:

      最原始,硬写代码,没有版本。上线使用ftp,谁误改代码完全不知道。

然后,svn,git版本管理,提交记录有处查。继续使用ftp上线。

      然后,接入jenkins打包工具,使用yum源安装包。全部配置自己!

      然后,安装时替换配置文件,使测试环境与线上环境隔离开来。

      安装集群环境,从一台台安装到使用for进行机器包的复制安装,到salt命令进行批量安装,批量操作。

      然后,使用定制化的jenkins工具,进行打包部署,进行页面点击就进行部署操作。

      然后,支持各个环境部署,指定版本部署,灰度发布,版本回滚等等。

各个上线步骤填写,各个上线资料填写,统一使用进行操作记录保留,以待后续查看。

      权限申请,界面操作。

      容器创建,界面操作。

      工具导航,界面操作。

      自动化测试,ruby自动化测试。

      压力测试工具,jmeter,hp loadrunner。

容器方向:

      最开始用物理机,一个服务一台。功能倒是很全,但同时只能一个团队在上面搞。

      后来用虚拟机,一个物理机上搞多个虚拟机,机器占用稍微少点,可以多几个项目跑。

      再后来,使用docker,一个机器上部署n个docker,而且采用复制环境的方式,让新建环境更快速更好。

监控方向:

      最初,我们凭感觉排查问题,发现问题巨慢。

      然后,我们打了各个访问点的日志,如果发现访问断了,那么就是这里有问题了。开始,我们不敢打太多日志,怕打太多无用日志,会导致服务器被撑爆。后来有了定时清理日志脚本,然后我们随便打日志了。

       日志是事后处理,且有比较长的滞后性,于是有了埋点监控,当有异常情况时,向监控中心发送报警信息,cat。于是能够及时发现问题,根据堆栈信息可立马定位问题。

       集群后,有些难的问题,需要查找整个访问过程日志,但是由于日志分散,无法有效截取信息,于是有了日志中心。

       对于机器的运行情况,如内存,cpu,io等等,我们需要实时掌握,如有问题,及时处理,于是我们有了zabbix,grafana。

       对服务调用情况监控,于是有了服务治理。

       工具,是为解决问题而生。可能只有在遇到问题之后,才会想到去生产工具,所以工具其实是被动的。不过,了解过后,这些套路大可以指导自己提前规划。

posted @   阿牛20  阅读(324)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2017-06-22 如何使用spring配合mybatis配置多个数据源并应用?
2016-06-22 redis常用操作总结
点击右上角即可分享
微信分享提示