在云上,有两个概念:Pets和Cattle,它们很形象地比喻了服务器的两种管理模式。
Pets,宠物,比方说猫猫狗狗。如果我们拥有一只猫,我们会关注它这个个体,会跟它起可爱、独特的名字,它需要我们持续地照顾,它的离开会对我们造成很大的影响。
套用到IT的场景,其实我们绝大部分在自营数据中心的服务器就是Pets模式,我们一旦获取了这样的服务器,就会一直使用这台服务器,也需要一直维护它,持续为它打补丁,以保持它的健康状态,直到操作系统或硬件过保要替换为止。
如果它挂了,会对我们的系统和服务造成一定甚至很大的影响(取决于架构设计)。如果我们要提升它的处理能力,只能通过增加配置这样的Scale up的方式。
除了服务器外,关系型数据库系统、网络设备等也是Pets模式。
Cattle,牲口,就像牛、羊这样的。我们会更关注整体,而不是个体。比方说我们拥有100头牛,我们并不会特别关心某一头牛的状况,也不会像宠物那样为它们起独特的名字,如果它们中的某一头不幸离开了,对我们的影响也很小,再买一头就可以解决问题。
Cattle模式的服务器也是这样,通常我们会部署一个由多台服务器构成的集群,某台服务器挂了,我们会把它直接替换掉。
如果集群的处理能力不足,我们会通过横向增加更多服务器这种Scale out的方式来提升。
我们也不会为Cattle模式的服务器打补丁,根据我们公司有关云平台的规定,每45天我们应该用最新的镜像创建新的服务器