当前主流公有云厂商能力对比
近一段时间以来,国内外云计算市场再一次风起云涌。这一次热潮与以往热潮最大的不同,就是开始玩真的了。微软、AWS、阿里、百度、新浪、腾讯、360、IBM以及大量新兴企业,纷纷宣布近期在国内公有云领域的大动作,要么就是开始落地运营,要么就是推出大量的新服务,还有的开始大大免费牌。就连电子商务网站如同京东、美团都要进来掺乎一下(详见米扑博客:全球云服务商对比:阿里云,太贵了),要在现在公有云起步阶段站稳脚跟。
另外,百度、腾讯、360面向个人用户推出的免费网盘服务竞争的不亦乐乎。在这个过程中,最受益的当然是广大的用户,因为用户不是仅仅听到各大厂商的忽悠,而是可以实实在在的使用各家的资源和服务,切实的体验云计算的好处。
不过热闹归热闹,当用户真正去选择公有云时,就不难发现一个现实困境,就是如何选择一个适合自己的平台。公有云不像硬件,有着成熟的体系和标准,而用户选择时要考虑的因素也非常多,技术上主要的因素有性能、稳定性、安全性、网络、服务种类等等,而业务上则需要考虑价格、信任度、对自身业务上的帮助等。本文将简要对比下现在国内几个比较火的云平台(面向个人用户的除外,比如网盘),希望给大家一些初步的认识
本文对比的平台有以下:
新浪云(SAE、SCH)
新浪算是国内做公有云较早的厂商了。它的模仿对象是GAE,主要提供PaaS服务,名字也很类似,叫做Sina app engine, SAE。不过,近期新浪也准备推出虚拟机服务,进入IaaS领域。目前SAE支持PHP,Python,Java语言。其使用模式是:用户在本地开发代码,然后上传至SAE环境,SAE端为代码提供了运行环境和存储空间,SAE还提供监控、弹性伸缩等服务。这样,开发者不需要任何运维手段和工具,也不需要自己部署、管理服务器
目前,SAE提供以下4类服务:
存储类,包括MySQL、对象存储、Key-Value存储、Memcached缓存等
计算类,包括定时器、图片处理、邮件发送、网页抓取、消息队列等
辅助类,包括防火墙,以及一些应用迁移和调试工具
扩展类,包括地理信息服务,应该是由第三方提供的服务
SAE的管理界面很明显是以应用为核心的,每个应用的配置、代码及其关联的服务可以独立管理。
从其功能来看,SAE显然是面向互联网应用。
从技术层面来看,SAE的功能已经比较完整。
其优点是运行时间比较久,据官方说法已有52万个应用
不过,SAE的弱点也很明显:
1. 缺乏IaaS能力,这样就对开发者的自由度进行了局限。PaaS虽好,但是限制太多,语言、版本、组件、服务皆不能自由选择。
2. 缺乏与BAT(baidu, ali, tencent)抗衡的杀手锏。之前BAT都没有大举进入云计算特别是PaaS领域,而从今年开始,各家都推出了各自的AppEngine,而且,百度有搜索导入,腾讯有用户导入,他们会对SAE的用户产生很大的吸引力
3. 不提供备案,只对已备案的应用提供托管能力。这就是说,新的应用没法直接部署到SAE上,而是要找个第三方绕一下
百度云(BAE、BCC)
百度云推出的时间不长,与其声势浩大的网盘服务相比,其面向开发者的IaaS/PaaS服务相对有些默默无闻。百度网盘的首页是cloud.baidu.com,而面向开发者的首页是developer.baidu.com。如果直接搜索百度云,我们会直接进入百度网盘,可见百度对于云的定位还是以消费者为主,开发者为辅。后面为了区分百度云盘和面向开发者的云,我们把后者称为百度开发者云。
尽管如此,百度开发者云还是提供了完整的功能。
从其首页我们可以看出几个特点:
1. 面向web应用和移动应用
2. 将端和云整合在一起。尽管百度没有自己的应用商店,但是百度最近收购了91,其企图是通过强化移动入口吸引开发者,这样,百度就有了两个入口(搜索和手机助手)。因此,开发者门户并不是单纯的云服务门户,而是云+端+一系列工具一体的服务平台
在功能上,开发者云主要提供了AppEngine,称为BAE。这个BAE看起来功能比SAE更强大,SAE有的BAE都有,而且在存储上增加了redis和mongodb,通讯上增加了推送和触发服务。此外还提供了虚拟机服务。目前虚拟机服务只对少数开发者开放。
从文档上看,虚拟机服务支持windows/centos/ubuntu/redhat,规格上最小1核3G,最大4核32G,支持VNC连接虚拟机Console(这样虚拟机无需网络,甚至无需完全启动)。不过,很显然该虚拟机服务能力十分有限,首先它只有临时盘,无法进行数据持久化;其次它缺乏网络、安全支持。所以,目前的功能跟VPS类似,尚不是成熟的IaaS平台
另外,百度云并没有披露其物理机房信息和网络接入情况,目前来看部署应用时无法选择部署位置。这样的话,显然无法实现异地负载均衡和容灾,不太适合规模化应用。最后,与SAE一样,BAE并没有提出SLA承诺
做一个总结,百度开发者云定位在面向Web应用和移动App的PaaS平台,会主要和SAE和腾讯App Engine竞争
腾讯云
最近,腾讯也加入了面向开发者提供公有云服务的行列。目前,该服务只向少数用户开放,我有幸申请到一个账号,可以先睹为快
腾讯云的一个主要卖点是其游戏平台,众所周知,腾讯的主要收入来自于游戏,而腾讯也将自己的平台开放出来,让其他开发商的游戏接入进来,一同做大游戏市场。作为平台提供商,腾讯对于其接入的游戏有一定要求,收入分成就不用说了,除此以外,还需要将游戏托管在腾讯云之上,这也是腾讯云的起源。如今,腾讯把这个云平台开放给其他用户,不仅面向游戏,也面向所有Web和移动开发者。显然,云的利润比游戏低得多,腾讯这样做,主要也是希望聚集开发者,赢得人气
从腾讯云的公开案例来看,现在的用户都是游戏开发商
连入腾讯云的管理界面后,可以看到所有已订阅的服务。目前腾讯云上的服务比较少,核心服务就是3个:虚拟机、MySQL数据库、NoSQL存储。下面逐一了解下每个服务
虚拟机的配置可选范围较大,最小1个共享核1G内存,最大12核60G内存。操作系统包括3种Linux,不支持Windows
部署虚拟机时,没有地方选择部署机房,因此,腾讯云目前只有一个机房,估计在深圳
部署虚拟机后,可以对虚拟机控制,包括:重启、重置密码、回收、格式化。目测每个VM只支持一个系统盘和一个数据盘,而且数据盘部署以后无法改变大小,也无法从虚拟机解绑。腾讯宣布10月18日开始支持云硬盘,应该是对目前功能的改进
目前腾讯虚拟机没有任何安全防护,部署虚拟机后就直接暴露在公网上,安全性上有很大风险
云数据库是基于MySQL做的服务,最大支持600GB,支持7500/秒TPS。管理界面采用phpMyAdmin
NoSQL存储是一个兼容Memcached的高速数据存储服务,估计是借鉴了Memcached的内存存储服务,它支持数据持久化,类似Redis的思路。至于性能,腾讯并未公布
其他的几项服务,主要起支撑作用,比如CDN、云监控、负载均衡。值得注意的是,弹性Web服务也即将推出
综上,腾讯云目前的功能比较有限,而且也没有承诺服务质量,目前还无法做出完整的评价。不过腾讯的定位显然不是只做IaaS,而是希望成为完整的IaaS+PaaS服务提供商,从而支撑以游戏为主的生态系统。
上个月试用了下腾讯云,结果被黑了
腾讯云上来送了1000元费用,于是开个个虚拟机玩了下,总共开了没几天。结果前两天发邮件过来,说欠费800多,就是说不到一个月消费了1800。我赶紧查账单,结果看到了这样的计费
什么?带宽竟然收了600元。赶紧去查一下带宽怎么收费。原来带宽不算在虚拟机费用里面,是单独计费的。具体计费方法,简单来说就是:看你一天当中最大带宽占用,然后按此计费。也就是说,不管你总共传了多少数据,只看峰值,而且一个月里面只看峰值最高的几天。具体价格是这样:
IDC带宽当月总使用量小于等于300Mbps的部分,单价:1.80元/Mbps
IDC带宽当月总使用量大于300Mbps的部分,单价:3.60元/Mbps
我那几天的流量是这样的
因此,就算我一个月只有3天有流量,而其他时间流量为0,那么也按这三天算钱,而每天也是按峰值来算
其实我不记得为什么会有这么大峰值,也许是我下了个软件,也许是被黑了。但无论怎样,我收到一个天价账单(10倍于虚拟机的价格)
但另一方面,腾讯云并没有限制流量的方法,只要开公网ip,用户就要自己限制流量,否则就等着被黑吧
那么另1000块钱是怎么回事?腾讯云每个月会先冻结一部分金额,不管用不用,这样可能月初时账户就成负数了,到月末再把未消费的返还。账号变为负以后,会收到这样一封邮件:
为了保障您的业务能正常运营,请您务必充值缴纳全部欠费,如未能如期缴齐欠费,平台将采取包括且不限于以下措施,以维护平台的合法权益。由此造成的一切损失,由您自行承担:
1、系统自动回收您在腾讯云中所有的云资源(云服务器、云数据库、NoSQL高速存储、CDN所有数据);
2、要求您合法承担所欠金额(如从腾讯应支付给您的其他费用中直接抵扣);
3、法律范围内可以采取的其他措施。
太坑了吧,本来就是预付费还要预付中再预付,还没消费就把钱扣光然后要求充值抵账,电信运营商也没这么狠啊。按第三条,难不成还要起诉我?吓的我赶紧关掉所有服务
阿里云
如果说新浪SAE要做中国的GAE,那么阿里云就是想做中国的AWS。
阿里云早在几年前就布局云计算,时至今日已经小有规模。通过前几篇的分析,不难发现其他几家大型互联网企业的IaaS服务都是刚刚起步,而微软的Windows Azure也还没在国内正式运营。所以,目前想用IaaS的大中型企业之前基本上只有一个选择,那就是阿里云。不过,目前Windows Azure已经开始提供小范围使用,再加上其他几个厂商的加入,阿里云未来面临的竞争也会更加激烈。
阿里云的口号是,打造数据分享的第一平台,显然,做IaaS只是一个起步。阿里云在几年前收购了万网,获得了相应的IDC运营资质和用户,也解决了IaaS领域了大部分问题,比如备案、域名注册、安全防护等等。这跟微软与世纪互联合作,IBM与首都在线合作都是一个思路。这几家都是要踏踏实实做服务的,眼光不仅仅只是Web应用和移动应用,还包括了企业应用的范围。
从阿里云的服务类型来看,跟腾讯云十分类似。由于阿里云先,腾讯云后推出,可见腾讯云很大程度上参考了阿里云
在云服务器部分,阿里云提供windows/centos/ubuntu/redhat/debian多种OS,规格上,最小共享核512M内存,最大8核32G内存。全国有两个机房,分别在青岛和杭州
在部署模式上,阿里支持包月包年和按量两种,选择配置时,阿里云会实时计算出价格,这一点十分方便。同时,在部署和取消虚拟机时,阿里云都会短信确认,同时发送管理员密码到用户手机上。这一点上,更符合互联网用户习惯,或者说,跟支付宝是一个风格
从实际使用来看,按量付费十分不好用:部署后无法变更配置,无法增加磁盘,无法修改磁盘空间,无法停机。而且,启动按量付费的虚拟机时,账户余额必须大于100元。对于开发者来说,如果想临时启动一个虚拟机进行调试,就会比较麻烦。包月方式支持配置变更,但是最少也要花每月69元。按量付费唯一一个方便的功能,是支持定时删除虚拟机
包月形式的
虚拟机的管理界面比较简单,具有基本的虚拟机、磁盘、快照、镜像管理功能。虚拟机支持启动停止、修改密码。网络部分的功能十分欠缺
阿里云的磁盘支持快照,可以从快照回滚。不过不能从快照创建新的磁盘。另外,一个磁盘也无法从一个主机解挂,再加载给另一个虚拟机。也就是说,两个虚拟机之间无法通过磁盘、快照等方式进行数据移动,只能在应用层面进行网络拷贝。同时,按量付费的虚拟机只能加载一个数据磁盘,无法实现多块磁盘做条带化。而包月的虚拟机最多有4个数据盘
阿里云的资源管理和资源申请是在两个不同的门户里面。资源申请类似一个购物车,结账后资源出现在管理控制台里面。用户使用的时候,需要频繁在多个界面间切换
云引擎部分,支持PHP和NODE.JS,支持memcache,消息队列,计划任务
云数据库部分,支持MySQL和SQL Server
阿里云最具特色的要算它的存储服务,也正好印证了它的口号,要在数据上大作文章。阿里云在存储上的服务有6项,而存储之外的服务只有5项。在6个服务中,包含关系数据库、对象存储、结构化存储、大数据服务
另外,阿里也仿照AWS,建立了一个SaaS市场,为阿里云上的用户提供了一个用户入口。
阿里云前期积累的用户很多,有赞扬的,也有不断吐槽的,比如博客园。
总的来说,阿里云的优势是进入IaaS领域早,继承了万网的服务能力,提供免费的备案服务,提供免费的网站搬迁服务,这对中小网站十分有吸引力。同时,阿里云的市场推广力度大,广告打的到处都是,今天打折,明天赠送,很是热闹。阿里云的缺点,在IaaS部分缺乏虚拟网络和VPN,无法进行虚拟机组网,无法满足传统应用在在组网上的需求,而在PaaS上,阿里云的能力十分欠缺,这会导致客户粘性差,造成客户十分容易流失
青云
说起青云,很多人可能没听说过,不过,一年之内这个名字必然成为国内云计算热点。青云是一家创业公司,专注做IaaS,目标是超越亚马逊。这家公司成立只有半年,两个月前开始接受试用。它的试用是完全免费的,也不需要邀请,给个邮箱就行。
青云官网: www.qingcloud.com
青云为什么有超越亚马逊的志向?
下面我就简要分析下。青云的CEO richard来自IBM,IBM有蓝云,所以青云的意思很明显,是青出于蓝。Richard是个极客程序员,他另外两个合伙人,分别来自腾讯和百度,而这家公司目前的团队规模,我猜测不超过10人。是不是很有硅谷范儿?Richard在IBM的时候,开发了一个项目,叫HSLT(High Scale Low Touch),这个产品就是一个IaaS平台,跟青云十分类似。HSLT完全基于互联网技术开发,跟传统的IBM软件开发方式完全不同,其核心思想是基于大规模分布式的低成本硬件,构建高可靠的IaaS平台。HSLT有几个特点,第一是虚拟机部署快,第二是系统支持自愈,第三是全软件实现虚拟存储、虚拟网络。尽管功能上跟Openstack类似,但架构上HSLT跟Openstack完全不同。HSLT从架构上就是为了满足上万台虚拟机部署和管理而设计的,或者说,是为了满足大规模公有云的需求设计的。这个产品是有跟AWS竞争的潜力。而青云不仅具备HSLT的完整功能,还具备了额外的功能,那就是用SDN实现的虚拟网络
青云绝对不是简简单单实现各家都有的功能,而是在几个功能点上做到极致,从而体现它的“酷”,否则,这种创业企业是无法跟其他巨头竞争的。在这几个功能点上,青云可以秒杀国内所有的IaaS提供商,这绝对不是夸大。
下面就眼见为实吧。门户左侧是其提供的服务,似乎看不出什么特别。这几项都是IaaS常见的服务。不过它的门户很清爽,而且将服务实例、日志、账户余额乃至工单都集成在了一起。这就是小而精的好处
青云的奥妙,就在这每个服务里面。只能说,用过才知道
神奇1:虚拟机从申请到部署完成只需要8秒,启动只需要1秒!同时部署10个100个虚拟机也是一样快。基本上,用户只要点击创建虚拟机,一眨眼虚拟机就可以登录了。
要知道,AWS上启动虚拟机,最快也得一两分钟,而国内的IaaS服务,基本都得5-10分钟。那青云是怎么做到的呢?虚拟机的部署,一般过程是:从源存储位置拷贝一个OS镜像作为虚拟机系统盘-〉宿主物理机挂载该系统盘进行配置->启动虚拟机。青云对这个过程进行了优化,在拷贝时采用了Copy on write技术,就是不进行真正的拷贝,而是获得一个快照,并将后续的写操作写入新的空间,这样,虚拟机就可以即时启动。此外,青云对Linux进行了精简,只保留最基本的包,特别精简了自启动服务,这样实现了虚拟机从启动到现实登录界面只需1秒
从操作日志可以看出,不仅是虚拟机创建,基本上所有的操作,都是在秒级完成,可见青云将管理效率追求到极致
因为能做到秒级部署,所以青云提出按秒计费,世界上估计就此一家
神奇2:支持完善的虚拟网络和VPN,而且支持图形化设计
这个功能阿里云现在都还没有,更别说腾讯百度新浪了,而这个功能实际上是企业用户十分看重的,有了这两项功能才能更安全的连接虚拟机,并将云端的虚拟机与企业已有的云之外的服务器对接。虚拟网络的意思,是允许用户自己规划网络拓扑,将虚拟机进行二层互联或者三层互联,同网络内虚拟机可以互访,而不同网络的虚拟机相互隔离。VPN是将远程网络安全接入云网络
具体到实现机制,AWS和Windows Azure估计都是利用分布式路由表来实现的,而青云是采用SDN理念下的Openflow实现的。这两种实现机制的区别,是前者是静态路由,后者是动态路由。二者各有优劣,不过SDN最近特别火,又因为其开放性获得了相当多的关注
其他方面的各种小创新还有很多,虽然算不上神奇,但也可以说是让人眼前一亮。
在基本功能上,青云支持windows/ubuntu/centos/federa/debian OS, 最大支持8核32G内存
存储部分只提供块存储,不过一个虚拟机可以挂多个盘,每个盘最大500G
网络部分除了虚拟网络和VPN,还支持虚拟机同时加入多个自定义网络,可以自己手动分配IP。VIP支持流量控制
支持备案
监控支持从一分钟到一年的数据
提供API接口与命令行接口
回过头来,我们可以分析下青云的优劣势。
青云的优势是,使用简单,管理效率高,易用性强,这对于个人开发者十分具有吸引力。其弱点是,运营时间短,难以快速获得大中型客户的信任。个人认为青云可以定位为国内的Linode,靠低价和易用吸引低端用户。从长远看,如果青云能够一直保持这种技术上的领先优势,是很有可能做大做强的。
功能篇总结
经过比较,不难发现目前国内的公有云厂商分成两个路线,分别是IaaS和PaaS。IaaS以AWS为标杆,PaaS以GAE为标杆。新浪、百度目前以PaaS为主,腾讯、阿里、青云目前以IaaS为主。从长线来看,除了青云之外,其他所有厂商都会走向IaaS+PaaS的混合模式
下面,就对IaaS和PaaS领域内的公有云进行横向对比。同时,也将AWS、GAE和Windows Azure加入对比。
AWS、GAE和Windows Azure中在短期内只有Windows Azure会进入国内。因为IBM也宣布了落地国内的计划,有人可能会问IBM的公有云是什么样,其实IBM的公有云有好几套方案,一个是现有IBM Smarter Cloud的公有云方案,由TSAM和Websphere Pure application这种厚重的企业软件构成,一个是上一篇介绍过的HSLT,还有一个是IBM近期收购的SoftLayer的方案,最终在国内落地哪个还不得而知,这里暂不做比较
在PaaS部分,可以比较的厂商包括新浪SAE,百度BAE以及国外三巨头
很明显,国外三巨头领先优势明显,而且彼此之间难分伯仲。从国内来看,新浪和百度领先阿里较多,尽管新浪推出SAE较久,但BAE迅速赶上,功能上反而比新浪更多
在IaaS部分,可以比较的厂商包括腾讯,阿里,青云以及国外三巨头
同样的,国内厂商均落后于国际厂商。
Google目前在IaaS刚起步,明显落后于Azure和AWS。
Azure和AWS基本上同步,AWS比Azure强在提供更多的虚拟机规格和OS种类。
在国内,阿里显然比腾讯要强很多
通过总结可以看出,在虚拟机部分,国内的服务提供商目前提供的服务普遍缺乏配套的虚拟网络或者VPC功能,这使得虚拟机服务跟VPS服务区别不大
综上所述
Windows Azure和AWS是云计算领域最强的两个厂商,功能完善,覆盖广泛。
在国内,IaaS领域是阿里云目前领先,PaaS领域目前百度和新浪领先。
随着Windows Azure商用日期的临近,这种局面很快会被改写
另外,各个云服务各有各自的优势,短期之内估计很难出现AWS那种一家独霸市场的局面。
各家的优势领域总结
阿里云与新浪云:积累了许多早期用户,也积累了相应的运营经验
百度云:吸引“流量”型网站开发者
腾讯云:吸引腾讯系周边产品的开发者
青云:吸引独立开发者和部分小型开发商
Windows Azure:是企业用户和.NET阵营用户的首选。由于其强大的功能,相信也会吸引很多互联网开发者
最后,从机房分布来看,大部分大型的云服务提供商都把机房放在经济发达的城市,比如新浪在北京,阿里在杭州青岛,Windows Azure在北京重庆。这和国外的云服务提供商的分布有很大差异,同时,这也给了国内其他云服务提供商很多生存空间
国外云平台
先说明一点,由于国内公有云起步较晚,基本上所有的公有云都是模仿或者克隆国外现有的云平台,因此,这里不得不首先说明下国外几个主流的有代表性的云平台:
AWS
这个不用多讲,AWS是公有云第一品牌,也是业界标杆,从2006年起AWS就开始运营,可以说正是AWS造就了云计算当今的成果。AWS以IaaS起步,不过现今已经兼具IaaS和PaaS能力
Windows Azure
这个是微软的公有云,本人的博客有非常多的描述。
Windows Azure 从2009年开始运营,最初以PaaS为主,如今也兼具IaaS和PaaS能力
Google Cloud
起初Google主打PaaS服务App Engine,知道今年才推出IaaS服务
Linode
其特色是价格便宜,使用简便。
Linode是Linux node的缩写,不支持Windows。
Linode的定位是VPS,其网络能力比较弱,没法支持虚拟网络。
其价格差不多只有AWS和Windows Azure的一半。出于这些因素,Linode成为大量独立开发者的首选。