ElastAlert:『Hi,咱服务挂了』

今天给大家来介绍一个报警工具,具体来说,是基于 Elasticsearch 的报警工具,假如你的日志是放在 ES 里面的,这个工具是你不错的选择。

阅读全文

Gitlab 的部署与维护

一直以来,我没有总结过 Gitlab 的部署,而在以前的文章中,我不止一次提到关于 Gitlab 在我们整个交付流程中起到的基础性作用,以及它为整个公司的开发带来的巨大效率提升:

阅读全文

工程师与产品经理相处之道

这周去参加了 QCon,涨了不少姿势。但是最有收获的反而不是纯技术方面的,而是与技术相关的内容。其中最有意思的是 @邱岳 的『怎样构建产品和技术之间的合作氛围』,那天本来想听听别的场次的技术内容的,但是一看一个熟悉的名字『孙志岗』,这不是大学老师么?那是我拿到最高分课程的操作系统老师,太巧了,于是就奔着老师去了。他是这个场次的出品人,听了之后,觉得很受用,非技术出身的讲师反而在演讲反面更有优势:口才更棒,演讲更吸引人。

阅读全文

在嘟嘟的那些日子

不知不觉,『嘟嘟美甲』这个名字,现在已经很少有人知道了,就如那些被淘汰的大多数公司一样。这是一家在 O2O 浪潮之中的一家提供上门美甲服务的公司。

眼见他起高楼

记得那时,是毕业一年之后,只是因为在外企呆的太郁闷,不开心,于是,在 CEO 口头给了期权之后,便加入了。应该说这是大学里一直想做的事:毕业之后去一家创业公司。

阅读全文

工作中的妥协

我觉得,这一两年我学到最有意义的工作方法,便是: 妥协

招聘

以前经常说,一定要招聘优秀人才,不优秀的不能接受,这原则本身没有问题,问题在于,我们把很容易把缺乏实际开发经验的『不够优秀』的职场新人也淘汰了。现在回头想想自己,当初我们刚入职场的时候,不也是菜鸟一个么。

阅读全文

Node.js 性能分析之火焰图

往往,在我们的开发过程的以下两个场景中,我们会需要去分析应用的性能。

  1. 开发时候优化程序;
  2. 线上排查问题;

阅读全文

应用配置的几个原则

之前在 《应用配置管理实践》 中提到过配置的管理方式,这次我专门来说说在工程实践中总结的一些应用配置原则。

阅读全文

在 k8s 中部署 Prometheus

自从 上次 介绍了 Prometheus 之后,就想到要在 k8s 中使用了,不过,在这之前,先介绍下 k8s 的监控。

阅读全文

监控利器之 Prometheus

一直以来,我们会在项目中,使用 APM 去监控应用的状况,分析性能等,这些工具很有效,而且不侵入业务,不需要埋点。

然而,有些需求,是 APM 的监控满足不了的,比如 应用业务指标

阅读全文

从把 SLA 加进 KPI 考核说起

最近公司的领导开始重视服务器的稳定性了。

这是件好事: 因为受到重视,意味着这方面有领导关心跟过问了,对于提高服务器稳定性,大家也都会有更多的压力与动力去做好;这又是件坏事:毕竟是由于历史上出过问题,才导致的,也就是说,之前大家做得不好。

SLA 这个数值很有意义:让大家对服务水平进行承诺,对于公司的减少损失很有帮助。只是对我来说,这件事本身让我有些反感:上级想把 SLA 写到 KPI 每月考核里面,且不说 KPI 考核对于创造性从业者的各种伤害,单是每个月将服务器稳定性加入每月考核 KPI,就有些不合理了。

阅读全文

从数据处理脚本到人际沟通

众所周知,在工作中,我们会有很多的时间与同事去沟通,而沟通效率是一支团队凝聚力的体现以及战斗力的保障。

那么,我们从一个故事说起。

故事

工程师小王刚毕业就进入了一家大公司里面,目前已经开始接受任务,某一天,直属项目领导 A 过来找到小王:

阅读全文

Node.js RabbitMQ 任务队列排错小记

这周五解决了挺有意思的一个 Bug。

背景

由于长期以来,在我们的 Node.js 服务端项目中,离线任务大部分用的是 kue,这是个轻量级的任务队列,之前 也有过介绍。而周五那天我正准备将之前的 kue 队列重构成 RabbitMQ 的队列的相关代码上线。

阅读全文

k8s Ingress 实践

一般来说,我们从外部访问 k8s 里面的应用,有以下种方式:

  1. Ingress:有些云服务商有提供,自己也能安装自己的 ingress controller;
  2. Service NodePort:在 Node 上暴露一个 30000-32767 的端口,可以通过 NodeIp:NodePort 的方式访问;

阅读全文

使用 docker runner 加速 gitlab CI&CD

在之前的 CI&CD 实践中,我们一直使用的是 Shell runner,简单来说,就是在一台机器上配置好所有的环境,然后序列地去执行任务。

很明显,好处是配置非常简单,也很容易 Debug,出了问题,登录到机器上去查找即可;然而坏处就是配置迁移麻烦,也非常容易被破坏环境,而且单台机器上并发比较麻烦,好些的方法是需要配置多个机器,只是这就有些有点浪费资源了。

阅读全文

团队内部推广之我见

一些经验较少的管理者或者项目经理在团队内部推广新技术、新工具的时候,往往,会遇到阻力。

在这里,先讲一个小故事:

小 A,在一个传统互联网公司,刚上任他所在的小团队开发技术经理不久。为了提高公司技术团队的工作效率,最近学习了不少 DevOps 有关的技术与文化,想在团队以及公司内部推广起来,于是他组织了一场分享会,蒙着头花了不少时间去做 PPT,分享的那天,来了不少周围的开发以及运维同事,过程中小 A 激情满满,会后大家也表示应该好好学习与实践。但是,之后发现大家真正落实的情况很少,大部分还是继续着之前的做法,一直不变。小 A 很气愤:明明这是一项非常牛逼的技术 / 工具,为什么这帮人不好好实践呢?于是变得很气愤,抱怨大家的不支持以及不作为。

阅读全文