写点什么

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

用户头像
刘华Kenneth
关注
发布于: 刚刚
云计算科普:Pets(宠物)和Cattle(牲口)傻傻分不清楚?

在云上,有两个概念: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)能力和减低服务器维护成本的基础。


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


觉得文章不错,顺手转发给朋友们吧。


分割线 卡通

相关阅读:


刘华:上云还是不上云,这是一个问题


刘华:想入门软件系统架构设计,看这篇就够了


刘华:公有云不仅是自建机房的替代品


关于作者




刘华(Kenneth)

  • 著有书籍《猎豹行动:硝烟中的敏捷转型之旅》《软件交付那些事儿》

  • 《图数据库实战》中文译者之一。

  • 世界 500 强银行科技部云平台工程主管

  • 公众号“敏于思 捷于行”博主

  • 敏捷、DevOps 专家,精通极限编程、Scrum、看板方法、测试驱动开发、持续集成、行为驱动开发、DevOps 工具栈、Docker、Kubernetes (Google Kubernetes Engine, GKE)

  • 曾在 GDevOps、DevOpsDays Meetup、中国软件技术大会、ArchSummit、Top 100 等论坛发表主题演讲

  • 阿里云、谷歌云认证架构师

发布于: 刚刚阅读数: 2
用户头像

刘华Kenneth

关注

敏捷、精益、DevOps专家 2017.10.19 加入

著有书籍《猎豹行动:硝烟中的敏捷转型之旅》《软件交付那些事儿》;《图数据库实战》译者之一;敏捷、精益、DevOps专家;公众号“敏于思 捷于行”博主;曾在国内多个大型论坛发表过主题演讲;就职于世界500强银行。

评论

发布
暂无评论
云计算科普:Pets(宠物)和Cattle(牲口)傻傻分不清楚?