云计算的定义和基本特征大家谈的都比较多了,但是云计算的发展和演进,云计算的一些基本特征还需要用一个比喻来进一步细说下。从去年想到这个比喻到现在,比喻本身也在不断完善和补充中。
在社会经济不发达的时候,一个农户想吃鸡蛋,所以他自己养了一只鸡,那么他为了自己养这只鸡,就需要给鸡建一个简单的鸡窝,还需要平时去管理和饲养这只鸡。这是一个基本场景,这个场景要说明下:
农户要的是鸡蛋而不是鸡,鸡蛋即我们说的服务能力提供,而产生这个能力的鸡比喻各种IT基础设施。
鸡是本身的IT硬件,包括计算机,存储和网络都可以属于这个范围。
鸡窝可以理解为数据中心物理环境,包括机房,机房配套的各种物理基础设施。
对鸡的管理和饲养,即日常的IT运维投入和成本。
在这个过程中,农户发现了些问题,首先他们并不是每天都需要吃鸡蛋,但是鸡每天都会产蛋,则他们需要把多余的蛋拿都市场去卖或交换其它产品。其次他们需要的是鸡蛋,但是却需要为鸡蛋付出购买鸡,建立鸡窝,饲养鸡的一系列成本和人力的投入。那么我们要先讨论经济没有发展到一定阶段的时候,为什么没有出现专业的养鸡场生产鸡蛋。具体原因包括:
没有形成规模效益,即使建立养鸡场,也无法体现规模效应下带来的成本节余。而要达到这个目标往往需要现代化和自动化的养鸡场的出现。
其它外围条件不具备,如市场交换体现,交通设施,物流配送体系等。如果集中化后,农户并不能有方便快速的手段能够吃到他们需要的鸡蛋。
而随着社会经济的发展,出现了专门的养鸡场,快捷的物流体系可以保证向市场大量提供鸡蛋,而农户也不再养鸡,而转变为到市场上去按需要采购鸡蛋。而专门的养鸡场即类似于云计算中的数据中心,它是一个能力提供中心。而快捷的物流体系即对应高速发展的互联网带宽(这个其实也是云计算出现的一个必要条件)。在这个过程演变过程中我们看到几个变化。
用户不再关心鸡或鸡窝,以及鸡的饲养问题。他们只关系鸡蛋,具体那只鸡生的蛋不关心。
用户可以按需购买鸡蛋和按需要付费,不存在资源浪费的情况。
农户自己的鸡,鸡窝可能都不再需要了,剩下的只是大型养鸡场,所有的原来农户自己建立的鸡窝都集中都了大型的养鸡场。对应域IT基础设置全部云化。
为何专门的养鸡场出现成为可能,首先养鸡场本身规模化和自动化,大大降低了单位鸡蛋的成本,其次发达的配送网络和营销体系方便了鸡蛋的消费。对应于云计算则是,作为计算能力和存储能力提供的中心,必须具有大规模和集约性的特点,对应配送网络和营销体系则对应于高速的互联网。
对应大型养鸡场,它是一个能力提供中心,对应饲养的鸡本身并不是顾客要的产品,而是需要鸡下的蛋。一个大型的养鸡场可能对应多个客户,在这里我们先假设为不对应终端消费者,而对应多年大型的超市即终端零售中心。为了方便对所有产能进行有效的管理,可以将养鸡场本身划分为多个标准的饲养单元,分配给不同的饲养人员进行管理。这样就能够比较准确的指导每个饲养单元每天能够生产的鸡蛋数量。在这里注意:
饲养单元类似于云计算中的能力提供单元,而能力提供单元在云计算中可以通过虚拟化技术实现。
饲养单元本身划分的大小很重要,太大不利于管理,太小管理工作量又太大。
对应大型的超市,往往由于他们所处的区域和人群的不同,对鸡蛋的需求量往往也存在差异,有得超市可能是月底需要的供货量大,而有的可能是月末需要的供货量大。那么现在的集中化得优势在哪里?如果有10家超市,每家需要的最大供货能力都是1000只鸡蛋,那么是否需要提供能够有10000只产能的养鸡场呢?显然答案不是,因为由于大家需求的时间段不同,往往有5000只鸡蛋提供能力的养鸡场即可满足需求,对应养鸡场可以根据时间段灵活的调配每天产生的鸡蛋。具体如下:
饲养单元和超市之间是一种松耦合的关系,一个超市可能需要1个或多个饲养单元。
饲养场可以根据需求灵活的调配饲养单元给不同的超市使用。
超市完全按需求量和使用量收费,不会为需求量降低的时候为富裕的饲养单元成本买单。
如果引入新的超市客户,养鸡场比较容易的增加新的饲养单元来满足市场需求发展。
最优化能力设计,满足资源利用率的最大化,而降低成本。
这这里即是我们所说的云计算里面另一个关键特征,这个关键特征有多种说法,可以叫弹性计算,无限伸缩扩展,动态资源调度等都是一个意思。关键的就是能够灵活按需进行资源的调度和分配,能力本身可以灵活的进行伸缩扩展。