扫码阅读
手机扫码阅读

云计算科普:Pets(宠物)和Cattle(牲口)傻傻分不清楚?

92 2024-04-10

在云上,有两个概念:Pets和Cattle,它们很形象地比喻了服务器的两种管理模式。

Pets,宠物,比方说猫猫狗狗。如果我们拥有一只猫,我们会关注它这个个体,会跟它起可爱、独特的名字,它需要我们持续地照顾,它的离开会对我们造成很大的影响。

套用到IT的场景,其实我们绝大部分在自营数据中心的服务器就是Pets模式,我们一旦获取了这样的服务器,就会一直使用这台服务器,也需要一直维护它,持续为它打补丁,以保持它的健康状态,直到操作系统或硬件过保要替换为止。

如果它挂了,会对我们的系统和服务造成一定甚至很大的影响(取决于架构设计)。如果我们要提升它的处理能力,只能通过增加配置这样的Scale up的方式。

除了服务器外,关系型数据库系统、网络设备等也是Pets模式

Cattle,牲口,就像牛、羊这样的。我们会更关注整体,而不是个体。比方说我们拥有100头牛,我们并不会特别关心某一头牛的状况,也不会像宠物那样为它们起独特的名字,如果它们中的某一头不幸离开了,对我们的影响也很小,再买一头就可以解决问题。

Cattle模式的服务器也是这样,通常我们会部署一个由多台服务器构成的集群,某台服务器挂了,我们会把它直接替换掉。

如果集群的处理能力不足,我们会通过横向增加更多服务器这种Scale out的方式来提升。

我们也不会为Cattle模式的服务器打补丁,根据我们公司有关云平台的规定,每45天我们应该用最新的镜像创建新的服务器,替换原来的服务器。

无状态的服务器集群、NoSQL集群等都是由Cattle模式的服务器构成的

在云上,Cattle模式是首选的,这样可以实现横向扩展Scale out(快速增加更多服务器以增强集群处理能力)的能力和降低维护成本。

在Cattle模式下,我们不会登录到服务器上,也不会为服务器打补丁,每45天,我们应该通过最新的镜像创建新的服务器,替换原来的服务器,实现服务器保持健康状态。

在Cattle模式和Scale-out场景下,如何在几分钟内快速部署可以直接运行应用的服务器呢?这就要靠镜像的魔力了。

大家小时候买电脑都是找人拼装兼容机,然后装Windows的。拼装硬件几十分钟搞掂,但装个Windows可能需要好几个小时。后来有了Ghost,只需要十来分钟就把Windows装好了。

Ghost的法术就是镜像(Image)。把别人装好系统的硬盘内容拷贝、压缩成镜像文件,然后在新的电脑上解压、拷贝。还能把别人电脑里装好的软件一起搬过来。这就是镜像的魔力。

在我们公司的云平台上,镜像的生命周期分为一期、二期、三期:

  1. 一期镜像由基础设施团队定期发布,它带有相应操作系统(Linux或Windows)的最新版本和补丁,并预装了合规要求所需要的基础软件和工具,可以理解为公司内部官方认可的操作系统;

  2. 二期镜像由云平台团队提供。在最新的一期镜像的基础上,预装了云平台所需要的基础软件和工具,经测试后发布到云平台的镜像市场,供应用团队构建自己的镜像;

  3. 应用团队在最新的二期镜像上,安装应用系统运行所需要的软件、工具和应用系统本身,生成新的镜像,通过它创建新的测试环境服务器,经测试后由云平台团队发布成三期镜像,以便应用团队用它来创建最新的生产环境服务器。

应用团队需要把三期镜像的生成过程自动化,实现持续更新。

总结:Pets和Cattle,是服务器的两种管理模式。在自营数据中心的服务器大多采用Pets模式;在云上,Cattle是首选模式,它是实现横向扩展(Scale out)能力和减低服务器维护成本的基础。

有趣的知识是不是又增加了?

原文链接: http://mp.weixin.qq.com/s?__biz=MzI1MjQ3NzE2Mw==&mid=2247485088&idx=1&sn=aba82001c2883ba1a024464f79d5f765&chksm=e9e26d24de95e432b689fa02d52ca2d73563c92c8584b7ab5f8540ab41a1cc363080dc800667#rd