创业型小公司如何做好日常的监控运维

 

  创业型小公司如何做好日常的监控运维插图亿华云

从大公司投身到创业型的小公司,我最深的感受就是“由奢入俭难”这五个字。以前公司里有完善的框架体系,涵盖了分布式log、监控、实时报警、大数据存储等等方面,并且有成熟的团队来运营,使用者大部分时间只要做好集成就行;换到了小公司,初始的一长段时间内,技术团队只有3人,起步阶段一穷二白,而且要做两个体系的产品,每天业务的压力就很大,做起事来只能用些比较粗糙的手段。业务的压力和质量的追求始终是个矛盾。然而,该有的绝不能少,所以我们还是尽量抽出一些时间做好部分必须的框架工作。在我们看来,监控和报警框架是优先级***的:

  1.创业型公司在测试方面,无法做到非常充分,出现问题的概率比较大,需要做好监控

2.对一个复杂系统的把握,必然是大量的自动化的监控、度量,时刻要知道系统里每个组件的各种运行指标。实际上,有经验的工程师会体会到,做好监控和运营,在难度和重要性上要远高于你写的功能代码

  3.人少,就要自动化程度高。只有做好监控和自动化报警,才能抽出更多的精力忙业务,晚上才能放心睡觉。

  因此,想要做出可靠稳定的产品,首先要有靠谱的监控报警框架去做支撑。而对于像我们这样的创业公司来说,还需要关心以下几点:

1.有没有成熟的开源产品。大公司可以花费一个团队专心做一件事情;而小公司每个人都是非常珍贵的资源,半个人的开销都嫌大,所以会更多的借力于开源产品。

  2.坑多不多。开源产品的质量和支持没有办法和商业产品相比,所以我们需要选用可以hold住的,坑少且稳定的产品使用。

  3.能否支持跨语言。我们的产品基本上是C、Java、Python、JSON的混合产品,尤其是后端主要由Java和python组成。

  4.可伸缩性是否足够好。我们的业务和数据在快速发展,所以使用的产品必须能支持后期海量数据的涌入。

  5.是否有一定的扩展性。使用过程中必然会有一些特殊的需求,如何快速的做些定制化也是需要考量的点。

  6.能否同时支持单机和分布式的部署。我们情况比较特殊,既有传统的私有化部署的软件解决方案,又有公有的SaaS以及配套的大规模计算集群。因此,我们很多产品都要有高低配两种实现,同时通过配置来实现无缝切换。监控系统也不例外。

极度重要,要求又多,资源还少,所以我们在监控和报警方面还是花了一些心思。下面,我会详细分享下我们所做的实践探索。

  先看监控

  首先要谈监控。监控的要点就是通过定义多种metrics来辅助我们去了解产品。从硬件到软件,从LB到后端数据库的实时运行状况,帮助我们发现问题、故障甄别和确认恢复。这是最重要的事情。

  举个例子

  废话少叙,先来张以前的图看个大概:

创业型小公司如何做好日常的监控运维插图1亿华云

THE END
Copyright © 2024 亿华云