文/明道云创始人任向晖
围绕云计算相关的技术领域、技术名词和技术产品令人眼花缭乱。在云计算发端之初,应用开发环境和过去还没有本质不同,当时还有所谓的全栈工程师存在,意味着如果不考虑开发周期,一个人就能搞定整个应用软件。今天,这个称谓已经名不符实。很少再有一个人,甚至一个企业能够全面掌握和云计算有关的所有技术栈。他们可能会应用旁人完成的一些成果,结合自有的一些专有经验,来形成在某个细分市场有竞争力的产品,或者为客户交付期望的产出。
即使作为纯粹的应用者,要想全面了解和云计算有关的技术,做到合理架构,恰当选型,顺利完成集成开发和部署的全过程,也都比过去难得多,需要的技术人才也比过去昂贵。坦率来说,在当下的人才竞争度下,一般行业的企业,即使拥有信息部门,也都不太可能独立驾驭这样复杂的开发设施,他们将不得不广泛依赖云计算平台提供的服务。这给软件行业的解决方案商带来了新的市场机会。谁能够为数字化转型企业提供友好的应用开发和部署环境,谁就能够获得和保有客户。
这篇文章主要面向大中型企业的技术和非技术管理者。我通过描绘云计算技术和市场领域的发展过程,介绍关键技术和市场里程碑,包括不同技术域下的核心开源项目,让企业能够对云计算发展历史和相关技术域有一个通盘的了解。有了通盘的认知,你会更容易看透本企业应该怎样利用云计算,未来可能的市场机会和挑战在哪里?
本文受到Tom Siebel 2019年出版的Digital Transformation一书的启发,但我尽量结合了中国市场的实际情况通俗地来讲述。
云计算市场的形成和结构
我们今天能够享受经济和便捷的云计算服务,主要来自两大动力,一是计算资源的虚拟化技术,二则是规模经济效应。前者发端于2000年后VMWare推出的Hypervisor虚拟化软件,它不再依赖一个母体操作系统,就允许用户将硬件和网络资源划分成多个单元,从而实现计算资源的池化、共享和按需调度。
2006年,Amazon推出了S3对象存储服务和SQS简单队列服务,开创了公共云计算服务的先河。在此后,微软,IBM,谷歌,中国的阿里,腾讯和华为等都陆续加入了公共云服务的市场,提供的服务也从基础计算资源扩展到数据库、人工智能、物联网等多个技术领域。目前,这个行业已经成长为年收入2500亿美元的巨大市场。
在这十多年的发展过程中,当然出现了很多的公司,产品和服务,但是概括起来这些事物的涌现基本沿着两条明显的路线在进行:
(1)趋势一:从基础设施,到应用,再到应用相关的平台服务。
基础云 (Infrastructure as a Service)
最早的云计算服务就是最基础的云主机(Virtual Machine),服务商把裸金属装上Hypervisor,把计算和网络资源分块后就可以卖了。随后,基础服务被拆分为主机、存储、网络、数据库和安全等几个重要的基础云产品,允许用户灵活组合,并实现了弹性计费(目前国外基础云厂商大多都提供按分钟的计费精度,存储则可以按月计费,比如AWS的S3服务每GB数据的标准存储月费在0.0125美元,而深度归档存储的每GB月费可以低至每GB0.001美元)。
我们一般把主机,存储,网络,数据库和安全相关的计算服务统称为基础云服务。在这些服务之上,开发者需要完成所有的技术栈搭建,构建自己的数据架构,开发编码,部署运维,最终才能实现云端应用。而初代的云计算客户大多数都是互联网公司。他们并非云服务的最终消费者,而是生产者。
应用即服务(Software as a Service)
和Amazon Web Services几乎同时起步的另外一家公司Dropbox是一家面向个人和团队提供文件存储和共享服务的创业公司。赶上了AWS起步的时候,Dropbox就直接使用了AWS现成的S3对象存储服务,这让一家团队人数很小的初创公司有机会能够聚焦在应用开发和营销上,让Dropbox通过短短的几年时间发展成市场份额第一的文件共享应用。和Dropbox类似的大票SaaS企业大多也都是在随后的十年内陆续出现,他们千篇一律都使用了云计算平台的服务,而不再自建基础设施。这当中也包括一个超级大用户“奈飞“(Netflix),他们的下行流量占到整个互联网下行流量的15%之多,也是AWS的客户。
我们创办的明道协作应用诞生在2011年,也正好赶上了中国云计算平台开始的年份,所以我们也避免了很多基础设施的建设工作。广义来说,最早的云服务在基础云公司之前就出现了。1999年创办的Salesforce,就是一个典型的SaaS公司,只不过当年没有这样的行业术语。2016年,据说Salesforce也已经成为了AWS的客户。因为SaaS服务形式的存在,使得云计算能够间接提供服务给大量的中小企业和非互联网行业企业。今天,几乎所有的企业都或多或少应用一些SaaS服务。
云计算市场发展的第一波主要由互联网企业用户带动。他们具备比较完整的开发和自助运维能力,而且也有日益增长的用量,属于基础云服务最理想的客户群体。直到今天,阿里云和腾讯云的主要客户群体依然是泛互联网行业。
SaaS企业是云计算基础服务的重要推动者,虽然这个门类和2C的网络服务相比,贡献的经济价值要小得多,但是他们深谙企业市场的需求,推动了云计算平台的应用开发环境日益成熟。这就是趋势的下一步:平台即服务。
(开发)平台即服务(Platform as a Service)
所谓平台即服务,特指开发平台。应用开发工作从本地迁移到云端,自然需要在云计算环境中提供对应的更优解决方案。所以过去传统的中间件市场陆续发生变迁,逐一转换为在云计算平台上的某项服务。比较常见的开发平台服务包括:
通讯:提供音视频通信、消息推送、短信、邮件等服务
地理信息:提供地图、定位、导航相关的服务
应用开发框架:提供应用开发环境和运行时环境
媒体服务:提供图片和音视频等媒体文件的编码、加工和存储服务
机器学习框架:提供面向AI应用开发者的机器学习数据标注和模型训练平台
小到发送一条验证码短信也是一项PaaS服务。
作为PaaS服务,主要是为开发者服务的,所以除了功能性服务以外,PaaS厂商也要提供开发友好性相关的周边能力,比如弹性扩展的能力,调试和控制权限的能力等。参与的开发者越多,一项PaaS服务就能够有更多的改进机会和摊低的平均成本。
PaaS服务是不是一定由独立的PaaS厂商来提供呢?不一定。实际上,主流的PaaS服务大多被IaaS公司所覆盖了。如果你打开阿里云的产品列表,在数百个产品中,你会发现基础云服务只是其中一个门类,其他十几个门类都是和开发环境有关的服务。这意味着,一家创业公司想要独立成为一家成功的PaaS厂商,需要相当聚焦地执行,而且产品有明显的技术领先度。一旦做到这一点,也不用担心和基础云公司的竞争,因为我后面会讲到云计算市场的技术发展,其中已经有众多的技术趋势保障了独立性PaaS公司建立跨云服务的独特优势。
以上说的是云计算服务过去十五年发展中的一条脉络,从基础云到应用的共生,再到日益丰富的开发平台即服务。云计算覆盖的用户越来越多,依赖的是这三个层次的服务互为补充。
(2)趋势二:从公共云、私有云到混合云,再到多云
第二条脉络有关云计算服务的部署模式(Deployment Model)。当云计算概念被提出时,它显然指的就是公共云服务,客户不需要保有任何基础设施,直接像水电煤一样使用云计算资源就可以。但是商业的现实和技术企业的理想之间总是存在沟壑。云计算到底是技术还是服务,在很长一段时间内是缺乏共识的。
在云计算服务开启之前,很多大型企业和组织都有自己的服务器。2010年,全球服务器市场就有500亿美元的规模,这些服务器大多数都卖给了企业和政府。企业拥有了这些基础设施,难道再花钱买公共云服务吗?既然云计算技术这么好,为什么我自己来实现呢?政府、金融、医药等行业客户更加不可能在公共云计算服务诞生的初期就义无反顾地采纳,他们有各种各样所谓的合规要求。
私有云 (Private Cloud)
果不其然,有需求就有供给。2010年Rackspace和NASA公开了一个叫做OpenStack的开源项目组。它包含了一系列用于构筑云计算服务的开源软件。这意味着,所有拥有硬件基础设施的用户都可以用很低的成本来实现和AWS类似的技术架构。Rackspace是一家IDC公司,它这么做的动力显然是很强的。它认为只要帮助客户解决虚拟化问题,自己的主机托管生意一样可以兴旺发达。
虽然软件是开源免费的,但是要实施Open Stack依然需要云计算相关的专业知识。因此,从2010年开始,出现了很多基于OpenStack帮助企业建立私有云的服务商。在国内,公共云服务商甚至都提供过这类服务。十年过去了,这股由OpenStack带起的私有云风潮基本告一段落。除了极少数大型用户在经济上能够承受自己维护独立的云计算平台,绝大多数用户根本无法得到经济上合理的回报。虚拟化只是云计算服务的一个技术前提,但并非所有的价值。私有云方案永远无法利用到资源弹性利用(可大可小)和真正的规模经济效应,除非用户根本不关切经济理性。
在中国市场,重点行业可能至今依然无法使用商业云服务,但是电信运营商和一些国家级的科技企业也在公共云服务商的帮助下建立了各种行业云。比如移动云,联通云和电信天翼云都是这样形成的,他们为金融、政府、交通、教育等重点行业提供公共云服务。
故事到这里,似乎公共云已经大获全胜。但是,商业现实又回来了。在越来越同质化的云计算服务市场,客户难道完全没有议价能力吗?客户的需求如果不能得到满足,总有供应商会愿意创新。于是混合云(Hybrid Cloud)出场了。
混合云 (Hybrid Cloud)
其实混合云并不是什么独特的云计算技术,它实质上是一组通讯服务。只要堆上足够好的网络设备和奢侈的专线连接,世界上任何地点的计算设备都可以组成高速专网。即便客户预算有限,只要对安全性和连通性的要求没有那么高,也可以自助搭建经济的网络。围绕通过商业网络连接组建混合云的技术被称之为“SD-WAN”(软件定义广域网)。有了网络连接,就可以把客户自有的计算设施和公共云计算设施连接在一起,称之为“混合云”。
混合云对客户的好处是明显的。首先,每个企业都可能有云计算基础用量,但也可能有短期的激增需求。有了混合云,客户就可以围绕自己的基础用量采购自有IT资产,自己运营私有云,而短期波动的增量则可以通过公共云服务满足,等需求高峰过去,就可以去掉这部分的开支。企业也可以将运维难度比较低的基础云服务保留在自己的设施内,而同时使用公共云提供的复杂计算服务,比如机器学习平台等。Dropbox是一个大规模的SaaS应用,它在2016年做了很大的架构调整,大部分的服务不再使用AWS的公共云,一举节省了7000万美元的年度云计算开销。
混合云策略现在已经得到了厂商和客户的双重支持,它终结了公共云和私有云非黑即白的争议,让整个IT产业更加务实。这其中也诞生了很多的商业机会。微软,亚马逊,IBM,Google等领先的云计算厂商都推出了自己的混合云解决方案。因为混合云方案主流化,云计算厂商的竞争开始从基础云资源的成本向应用开发生态环境迁移。因为在混合云架构下,客户面临如何规划流畅的数据连接,如何快速交付云原生应用的新挑战。所以,云计算的终极竞争不是硬件的竞争,也不是软件的竞争,而是应用开发和部署(AD&D)环境的竞争。
多云 (Multi-Cloud)
多云概念是云计算市场最近几年出现的概念。它把所有的云计算平台,客户的私有云设施全部视作一般基础设施。所有的应用在所有的云上都能一致并可靠地运行。多云解决方案不仅是基础设施提供者需要协调的,更重要的是应用开发和部署要面向多云运行目标。
2013年,Y Combinator孵化企业Docker Inc开源了Docker项目。它成为应用跨云部署的重要前提。Docker允许用户将复杂的应用、数据和依赖的环境,包括操作系统本身打包到一个“容器”中,通过标准的Docker引擎,在任何计算环境中都可以一致地运行。有了这项技术,把一个应用系统从阿里云转移到腾讯云就和传输一个文件一样简单,云和云之间已经没有边界。为什么Windows和mac OS的应用永远不兼容,而云计算厂商却眼睁睁地看着这些事情发生呢?很简单,因为整个云计算技术生态都建立在开源软件上,亚马逊再大,它也只是一个服务提供者,收的是租金。而客户方,则越来越看重自主可控性,他们不希望被单一的云计算公司锁定,毕竟自己的客户和交易数据都运行在云计算上,它是所有企业的命脉了。
2015年,Google开源了Kubernates项目,让多云解决方案更胜一筹。K8S能够对容器的创建、扩展等进行自动编排。这意味着无论应用有多么复杂,它都能够在多云环境中进行统一运维。比如自家的某种类型存储用完了,就可以临时购买一些亚马逊的存储。数据过时了,就定期自动地转移到低价格的冷存服务中。
有了多云技术框架和服务,同时意味着云计算平台必须提供广泛支持。阿里云当然希望多卖一些云主机服务,但是如果因为技术框架落后,客户就会流失。所以,全世界的云计算平台目前都义无反顾地支持了多云策略,希望在这个过程中继续以专业服务商的地位存在。
多云策略对应用开发者的影响也很大。首先开发者必须从第一天就按照云计算环境来规划,支持多云部署,自动伸缩,采用微服务架构以实现容器部署。其次,应用开发者也能够从这样的架构中受益。因为它使得客户获得私有软件也像应用SaaS一样简单,唯独不同的是应用和数据运行在客户控制的计算环境中,但是软件本身都是基于单一代码库的(Single Code Base)。我们明道云原来是一个SaaS形态应用,客户只需要在mingdao.com上注册即可使用,现在,通过容器技术,我们的客户也可以在自己的云计算环境中安装和升级。这些都有赖于多云技术架构。
前面我们提到了云计算公司的竞争将向应用开发和部署环境迁移。那么它具体指的是什么呢?它有关于围绕云计算相关的四个技术领域。Tom Siebel把他们概括为云计算本身、大数据、人工智能和物联网。在本文的第一部分我已经介绍了云计算本身相关的技术演变,后续的连载我将分别介绍另外三个技术领域的历史,以及他们今天和云计算的互生关系。
【本文是51CTO专栏作者“明道云”的原创稿件,转载请通过51CTO联系原作者获取授权】