新浪推出了自己的云计算服务平台,和Google一样,都叫App Engine。根据NIST的定义,Google App Engine属于PaaS平台型服务,那么它具体提供什么样的服务,新浪推出的Sina App Engine和Google的又有哪些区别呢?

背景

云计算服务在Google、Amazon等公司成功产品的引领下,正在商业化的道路上大步向前。在NIST的定义中,有三种云计算服务模型。

  • Software as a Service (SaaS):软件即服务模型,用户直接使用构建在云端的软件。例如,Google Docs, Salesforce.com
  • Platform as a Service (PaaS):平台即服务模型,用户使用云平台所支持的语言和工具,开发应用并部署在云平台。例如,Google App Engine, Force.com
  • Infrastructure as a Service (IaaS):基础架构即服务模型,提供处理器、存储、网络等(虚拟)硬件资源给用户,用户可任意安装软件和开发环境,包括安装操作系统。例如,Amazon EC2, Joyent

可见,三种模型从应用到平台再到架构,越来越底层,用户得到的可操作性和灵活性也越来越大。

Google App Engine是什么?

Google App Engine(GAE) 提供一整套开发组件来让用户轻松地在本地构建和调试网络应用,之后能让用户在Google强大的基础设施上部署和运行网络应用程序。配置可随应用的访问量和数据存储需要的增长轻松扩展,使用 GAE,将不再需要维护服务器:只需上传你的应用程序,它便可立即为你的客户提供服务。

简单来说,这和虚拟主机服务类似,只是运行环境不同。虚拟主机支持的是ASP, JSP, PHP等网页应用,而GAE现支持Java、Python和Google自家开发的Go这三种语言开发的应用程序,并为这三种语言提供基本相同的功能和API。

GAE提供大量的免费使用额度和灵活的资费标准。多达 500 MB 的存储空间,以及可支持每月约 500 万页面浏览量的足够的 CPU 和带宽,完全免费。选择付费服务则可按需提高相应配置。

功能支持

  • 网址抓取(URL Fetch):访问互联网上的资源,抓取检索数据。
  • 邮件(Mail): GAE可以利用基于Gmail的基础设施来发送电子邮件。
  • Memcache缓存:高性能的内存缓存保障,对于那些不需要持久性存储和事务功能的数据(例如临时数据或从数据存储区复制到缓存以进行高速访问的数据)很有用。
  • 图像操作(Image Manipulation):使用该 API,您可以对 JPEG 和 PNG 格式的图像进行缩放、裁剪、旋转和翻转,还能使用预先定义的算法提升图片的质量。
  • 计划任务和任务队列(Scheduled Tasks & Task Queues):允许将任务计划为按指定间隔运行,这些任务通常称为Cron job。另外可以通过在一个队列插入任务(以Web Hook的形式)来实现后台处理,GAE会根据调度方面的设置来安排这个队列里面的任务执行。

管理界面
GAE与Google帐户集成,进行登录管理和用户认证。登录控制台http://appengine.google.com/

GAE管理平台

GAE管理平台

Sina App Engine是什么?

Sina App Engine(SAE),是由新浪公司开发和运营的开放云计算平台。SAE为App开发者提供稳定、快捷、透明、可控的服务化的平台,并且减少开发者的开发和维护成本。和GAE一样,他们都属于PaaS平台型云计算服务。

SAE通过Web Service Pool,提供以PHP+HTTP为基础的计算中心,这对于一个普通网站来说完全足够了。这样一来,大量草根站长就可以使用SAE来当做虚拟主机免费空间,希望开放注册后新浪能够有足够技术和经济实力支撑住整个平台。

与传统主机托管服务相比而言,传统托管面向的是硬件软件设备,使用者得到的也是设备的使用权;而SAE面向的服务,使用者得到的是服务的使用权。开发者可以在其上通过在线调试、日志分析、协作共享等功能进行web开发。

最重要的是SAE提供的完整的分布式web服务的解决方案,具有高可靠性,开发者只需专注于应用的功能开发,而不必担心故障宕机、服务扩容,甚至不用关心主辅同步和读写分离,因为所有这些SAE都已经为用户完整提供。与虚拟主机采用固定计费的方式不同,SAE采用预充值方式,“所付即所用,所付仅所用”,按需付费更加灵活和节省成本,web服务的一切损耗均提供报表查询和账单汇总,用户一目了然。SAE可以为运营节约成本,包括运维成本。

使用SAE云计算,省钱+高效+可靠。由此可以预见,国内的虚拟主机商可能将因此面临不小的冲击。

功能支持

  • PHP运行环境
  • MySQL:分布式数据库服务,通过RDC提供
  • Memcache:分布式缓存服务
  • Storage:文件存储服务
  • Cron:定时服务
  • Image:图像处理服务
  • FetchURL:网页抓取服务
  • Mail:邮件服务
  • TaskQueue:异步轻量级任务队列
  • DeferredJob:异步大任务延迟队列
  • Counter:计数器服务

从上面可以看到,Sina App Engine提供了大部分Google App Engine支持的功能,另外SAE选择PHP作为首选支持语言,并支持MySQL数据库。这主要是因为PHP语言在目前国内Web开发的比重最大。未来SAE会考虑支持更多的Web开发语言,如Python、Java等。

在SAE上的所有服务都具有大型分布式系统的高可靠性、高扩展性、易维护性等优点。目前SAE的内核(即Runtime)和大部分服务之间的通讯是采用HTTP REST方式,SAE平台理论上可以对接各种服务,对接的第三方服务和内部服务一样可以通过在线管理平台进行管理、查看统计配额、计费等。

管理界面
登录http://sae.sina.com.cn,可以通过Web在线管理平台对应用进行管理。目前可以使用新浪微博帐号登录,并支持OAuth。

SAE在线管理平台

SAE在线管理平台

SAE和GAE的比较

Sina App Engine Google App Engine
云计算模型 PaaS PaaS
支持语言 PHP Java、Python、Go
数据库支持 MySQL 最大5GB 暂不支持
每个帐号可拥有app数量 10个 10个
单app存储限额 最多10GB,单文件不大于4M 1GB免费,无最大上限
代码大小 每帐户不超过100M,单app总代码不超过50M 单app不超过150MB
绑定域名 需另行申请,备案 支持
免费额度 各项服务通过扣除虚拟货币“云豆”实现限额
每日免费发放200云豆(实名认证后1000云豆)
每日6.5 CPU-hours,流入流出带宽各1GB,存储1GB。
具体额度
超过免费限额的收费标准 1元=100云豆,暂未支持支付 流入带宽:0.1美元/GB
流出带宽:0.12美元/GB
CPU 时间:0.1美元/CPU小时
存储:0.15美元/GB 每月

在政策的影响下,Google的大部分服务基本上都被墙奸,即使能够访问,用户体验也差好多。现在国内的企业都在嚷嚷着云计算,不过一直都是雷声大,雨点小,多数仅仅是属于概念炒作而已。而Sina App Engine的出现却让人眼前一亮,这个平台如果能够完善下去,的确可以成为中国云计算服务的典范。

 

注册Sina App Engine:http://sae.sina.com.cn/
注册Google App Engine:https://appengine.google.com/

参考链接:
Google官方介绍:什么是GAE
吴朱华:Google App Engine的简介
SAE开发者中心:服务总体说明
InfoQ:Sina App Engine数据存储服务架构