最近在读《管理学》,作为搞技术的人,不能一心只写代码,有兴趣的话应该读读其他学科的书。
本质来说,集群管理也是管理的一种,这篇文章,我想通过管理的基本只是扯两句关于集群管理上的理解。
管理,划分为计划、组织、领导和控制。这四个方面概括了一个合格的管理者应该做什么,如何做。如果,你的领导心里只有计划的好,缺少组织、领导、控制的好,那就是在画大饼而已。
这里,我试着从集群管理的角度,聊聊是怎么理解管理学上这四个方面的内容的,就从我最熟悉的HBase集群管理说起吧!
首先是计划。
计划,就是应该干什么事情,代表了做正确的事情。针对HBase集群管理来说,在计划里面,我觉得每一个管理人都需要解决以下问题:
- 集群的规模当前的情况是什么?未来1-2年的可能的规模情况是如何的?
- 公司那些业务接入集群、这些业务的重要程度如何、对于性能和可用性的容忍度是如何,是否需要提供容灾吗?
- 今年有部门有多少人手可以投入做集群建设?
- 今年公司、部门的目标是什么,系统要如何配合组织的目标?
其次是组织。
组织,是说应该让那些人干那些事情。我个人觉得这是高效做事情的决定因素,管理最大的特点就是需要依靠别人完成工作。
还是拿HBase集群管理来说:
- 你有多少人力可以投入?
- 在集群的组织上,你的前后端如何分配?
- 业务申请资源,流程是怎么样的?
- 针对不同的业务,如何组织呢?实时和离线分开还是混布呢?
再者是领导。
领导,说的是在组织里面,如何激励员工,帮助员工解决问题,提供沟通的机制。这里,我拿HBase集群管理来举例的话,那就是
- 是否提供了用户指导?
- 集群出现问题的应急方案是什么?
- 是否有每日的集群的健康检查?
- 是否有提前发现异常业务的途径和方法?
- 有异常后如何通知业务?
最后是控制。
有了目标和方法,同时也有了人,也懂得如何组织,最后一步就是控制。 例如,对于HBase集群来说
- 你遇到业务增长很快的时候怎么做?
- 集群出现故障的时候,如何分配人手排查问题
- 用户接入,每天应该投入多少时间?
- 集群建设出现问题的时候,要控制那些因素,协调那些资源?
虽然在实际的工作,并不一定是按照这样的方式来进行,但是从这四个方面来思考的好,会更有结构化。