云平台教程 GCE 和 AWS 的简单比较
Google Compute Engine(GCE)是 Google 云服务的一部分,和 Google App Engine(GAE)不同,GCE 提供了完整的虚拟机服务,而不是单纯的程序运行环境。GAE 一直被人诟病的是它移植难度高,很多开发者担心一旦入了 GAE 的门就很难再出去了,于是 GAE 一直推广不开。和 Amazon Web Service(AWS)如日中天的现在,Google 也无奈地跟风推出了 GCE 服务。
本博客使用 GCE 差不多也有一个月了,这里总结一下两者各种的优点和缺点。
网络架构
数据中心:AWS 在亚太有四个主要的数据中心:东京、新加坡、悉尼和北京,另外还有八个次级数据中心(Edge Location,主要用于 CDN 和 DNS)。相比之下,GCE 在亚洲只是一个数据中心,位于台湾彰化县。在美国和欧洲,AWS 对于 GCE 也处于同样的压倒性优势。AWS 在南美有一个数据中心,而 GCE 则完全没有。
DNS:AWS 支持分区域 DNS,即可以设置在亚洲地区解析到亚洲的 IP,在美洲地区解析美洲的 IP。GCE 只支持普通的 DNS 设置。
静态 IP:AWS 和 GCE 都支持静态 IP 绑定。除了分区域的 IP 地址之外,GCE 有一个功能称为全球 IP 中转,它可以使用一个不限定区域的 IP 地址来指向任意区域的机器,用于容灾。而 AWS 中必须在不同的区域使用各自独立的 IP,一旦某个区域的虚拟机全挂,就无法通过 IP(反向代理)把流量导向其它区域,只能修改 DNS。
跨区域备份:GCE 中的硬件备份(Snapshot)可以在所有区域中共享,网页中即可操作;而在 AWS 中则需要通过命令行方式手工复制。
分组路由:两者都提供了虚拟机分组,并可自定义组内的路由。
防火墙:两者都支持端口和协议限制,比如对于普通网站来说,只开放 80 和 443 端口,用于保护主机不被攻击。
虚拟机硬件
主机类型:标准类型,GCE 的 N1 和 AWS 的 M3 几乎一模一样,应该是 GCE 直接照抄了。两者也同时提供了临时测试的机型,f1-micro、g1-small(AWS)和 t2.micro 和 t2.small,配置也几乎一模一样。
SSD 硬盘:两者都支持 SSD 硬盘,在创建主机的时候可选。AWS 的 SSD 分为“通用 SSD”和“针对 IO 优化的 SSD”两种,而 GCE 的 SSD 还在试用阶段,并且不是每一个数据中心都提供了 SSD 支持。
虚拟机软件
官方操作系统:AWS 提供了 AmazonLinux,它是 RHEL 的分支,由 AWS 官方维护,另外还提供了对 Windows Server 2003 / 2008 / 2012、RHEL 6 / 7、SUSE 11 / 12 的支持。GCE 则没有定制系统,它支持 CentOS 6 / 7、Debian 7、RHEL 6 / 7、SUSE 11 / 12、Windows Server 2008 R2 等。
第三方操作系统:AWS 支持其它组织创建并公开的第三方系统镜像(AMI),基本上所有主流的 Linux 发行版(和主要软件,如 Oracle)都能在其中找到,无须自己安装。而 GCE 尚未开放这一功能。在 GCE 中,你可以创建一个镜像,但只能自己使用,无法分享。
数据存储及分发
数据存储:两者都有,Google Cloud 中称为 Cloud Storage,AWS 中称为 S3。概念也基本一样。AWS 还额外提供了廉价的 Glacier 存储服务,用于长期存放不经常改动的数据。
CDN:两者都有,Google Cloud Storage 自带 CDN 功能,AWS 中由 CloudFront 提供。
布署和管理
命令行:AWS 和 GCE 都提供了命令行工具,用于操作远程的主机和设置。
布署:AWS 中有 Elastic Beanstalk 和 CodeDeploy 可以用来布署机器,而 GCE 中目前只有 Startup Script 来配置机器。感觉 AWS 更成熟一点。
远程登录:两者都开放远程登录功能,视操作系统不同而不同,SSH(Linux)或 RDP(Windows)。GCE 额外提供了网页版的 SSH,无需 SSH 帐号即可登录,比 AWS 方便。
安全
帐号管理:GCE 中的项目(Project)绑定了管理员的 GMail 帐号,并且可以添加更多的 GMail 帐号做为管理员。AWS 中也类似。
主机监控:AWS 提供了 CloudWatch 来监控虚拟机的状态,并且在发生问题时可以发邮件通知或采取一些自动化措施,比如自动升级主机性能。GCE 中暂时还没有相应的功能。
费用
免费额度:AWS 对每张信用卡提供了一年的免费额度,可以使用 micro 类型的主机。GCE 没有类似的设定。
标准费用:以最便宜的标准机型来说,AWS 在亚洲地区的费用是每小时 $0.101,GCE 是 $0.069。
打折费用:GCE 中用满一个月可自动获得七折优惠,即所支付的费用直接降 30%;AWS 则需要事先购买一年或三年的套餐,折扣也在五折到七折左右。另外 AWS 还提供了低价的 Spot Instance 可供临时需要。
总体而言,从生态环境的完整度来说,AWS 有着巨大的优势,GCE 还需要一点时间才可以追上。但是,如果你的需求已经能被 GCE 满足,那么 GCE 的操作方便、价格低廉则比较有吸引力。