1. 基本概念
云计算在我看来,就是云端+计算资源+外包。
1)云端:云端是相对于自有(homegrown)、本地(local)而言。
2)计算资源
计算资源从底层到高层可以分为:Infrastructure, Platform, Application。
Infrastructure就是一家互联网公司最基本的building block,比如处理器、网络连接、硬盘,这是一切上层的基础。
在Infrastructure之上,根据实际的软件设计实践,有很多常见的平台性资源。比如,数据库以及文件存储系统是用来记录数据的计算资源。
再Platform往上,就是Application层,是云计算最高的一个抽象层次。广义地说,大部分互联网公司的产品都是在Application层次。比如微信公众号、Facebook个人/公众主页,天猫商城。
此外,Platform和Application的区分是相对的,当一个Application在系统设计中的变得越来越常用,越来越基本,那可以认为其转化为Platform。
不难发现,计算资源的层次从低到高,离Business越来越近。
3)外包
这个是云计算的核心概念了–把本地的计算资源外包给第三方的云端计算资源。以Amazon AWS为例,她发家的杀手级业务是EC2、EBS、和S3,都是在Infrastructure和Platform层次的。由于价格便宜、计费方法合理,深受小公司喜爱。创业公司不再需要建立自己的数据中心(Data Center),可以直接在AWS上建自己的网站。
随着AWS的做大做强,其不算发布的新服务不断完善着AWS的Platform生态系统,并将云计算引入了人工智能的领域。例如,AWS Polly是一个text-to-speech的只能语音服务。
2. 再谈Iaas,Paas,Saas
由于云端+外包是任何云计算公司必备的资质,计算资源所覆盖的层次,成为对公司进行分类的一种“粗暴”方案。不难发现,计算资源的Infrastructure,Platform,和Application与Iaas,Paas,Saas一一对应。
单纯做Iaas的公司变得很少很少。从云计算的购买者(甲方)而言,购买了Infrastructure之后,还要花大量的人力来搭建Platform和Application,这很不划算。从云计算提供商(乙方)而言,Infrastructure需要建设自己的数据中心,这是一项极为砸钱和粗暴的事业。大量投入之后,做更“高层”的Platform来赚钱,是一种必然选择。
单纯做Paas的也不多了。原因很简单。做Iaas的会动Paas的蛋糕,由于Iaas公司直接有自己的数据中心,其计费更合算,更有竞争力。当然,如果Paas的产品已经做到业界领先,无可取代,则仍能生存,比如MogoDB。
Sass的例子也很多,比如Salesforce。