在GCE上部署云应用技巧及优劣势比较

简介:

云应用开发者应该仔细选择IaaS平台。为了帮助你做出正确的选择,下面是对在GCE上部署云应用的利弊分析。

在GCE上部署云应用技巧及优劣势比较

云应用开发者应该在选择一个用于开发和部署云应用的基础架构即服务(IaaS)平台之前做好功课。选择错误的平台可能会导致不可预测的定价和计费模式,限制开发语言,限制操作系统的选择,几乎无法帮助客户履行合规性要求,并无法提供足够的安全性。

让我们来看看在一个比较流行的IaaS平台:谷歌计算引擎(GCE)上开发和部署云应用的的优缺点。GCE提供运行在谷歌管理的数据中心里的虚拟机(VM)。它让外部的企业和软件开发人员在谷歌的全球基础架构上运行他们自己的软件。那些用于Gmail,地图和其他谷歌应用的硬件和软件栈,现在也用来托管GCE的虚拟机。GCE采用Linux基于内核的VM虚拟化管理软件(KVM)。它支持多种Linux发布版本和Windows。

Google App Engine(GAE)是在2008年发布,而GCE则是在2012年6月宣布推出。GCE以及GAE被视为Google Cloud Platform中最重要的两个服务,谷歌云平台是在2012年5月推出并在2013年5月全面启用。

GCE的特点

现今,与GCE有关的用例常常包括了计算密集型应用,如视频转码和渲染,基因组测序,聚类,机器学习和分析,解决的问题与大数据系统差别不大。

虽然GAE为开发者提供了一个“现成”的开发和部署环境,但GCE仍然也是一个“自己动手”的环境。客户可以创建自己的实例然后进行管理,包括虚拟机上运行的软件。GCE提供各种工具,让你可以与GCE的实例交互和管理。例如,你可以启动和停止实例,附加磁盘存储和配置网络访问。大部分这些事情GAE会在应用需要时自动做好。

要开始使用GCE的时候,你首先需要在开发者控制台,与GCE交互的三种工具之一(一个基于Web的用户界面)中创建一个GCE项目。一个项目是关于你正在开发的应用程序信息的集合,它充当你的计算引擎的容器。磁盘,防火墙,网络和虚拟机都会关连(并包含)在一个单独的项目中。

用户可以使用开发者控制台,加上GCloud,一个用来管理实例和资源的命令行接口,或GCE API(一个RESTful的接口)与GCE实例和资源交互。

GCE提供几种机器类型的支持。每一种机器类型提供了预定义的配置选项集合,例如虚拟CPU的数量及虚拟RAM的容量。机器类型包括:

  • 标准--内存和处理能力的平衡组合
  • 高内存--相对于处理能力来说更高内存容量的选项
  • 高CPU--相对于存储容量来说更高处理能力的选项
  • 共享型--更便宜,更小的配置

GCE支持GAE使用的托管虚拟机环境在可配置的GCE虚拟机上运行GAE应用。此功能为GAE开发者提供了更多的灵活性,通过提供更多的操作系统选择,更多的语言运行时间选择,以及更多的CPU和内存选项来运行GAE应用。GAE会自动为开发人员管理GCE创建的VM。

GCE为你提供了可抢占的实例,可以用比平常更低的价格创建和运行GCE实例。但GCE可以终止一个可抢占的实例并拿走部分或全部的资源,如果这个资源正被其他某些价格较高的(不可抢占的)实例所需的时候。GCE的可抢占实例数量是有限的,所以在高峰使用期要创建一个可抢占的实例也许不大可能成功。

一个GCE VM的基础软件包括了操作系统(及其他系统软件)和应用软件,这个基础软件通常被称为镜像。GCE支持数个标准的镜像(其他IaaS平台,例如AWS也一样)。但是你可以创建自己的自定义镜像,可以从头开始或是修改某个标准镜像。开发者通常有自己想用的操作系统,开发语言运行环境等等。他们可以直接将这些软件包含到他们的镜像中。

GCE支持几种开发人员可以选择的存储系统。[2] 磁盘持久化存储是用于块存储的主要存储机制,一般被选为存储文件系统数据的存储机制。它还提供了针对非结构化数据的谷歌云存储,Cloud Datastore,一个NoSQL数据库和CloudSQL,一个MySQL的存储解决方案。

跟GAE一样,GCE也利用了谷歌的海量网络资源。数据在GCE 虚拟机之间传输的速度比其他依赖互联网传输数据的云平台更快。使用GCE,你会获得一些默认的网络和防火墙功能——项目中的所有实例都连接于一个网络,而实例只能与项目之中的其他实例通信。但你可以配置额外的网络和防火墙功能。[3]

GCE也支持全球负载平衡,借由把传入请求分配于数个实例群和数个区域之间,从而可以实现最大的性能,吞吐量和可用性。

类似于GAE和AWS,GCE将世界划分为地区和区域。一个区域对应于一个物理数据中心,而一个地区则代表一个大的地理范围内数个区域的集合。目前GCE支持三个地区和八个区域。

GCE提供一个SLA保证每月99.95%的正常运行时间。AWS也提供相同的保证。

使用GCE的技巧

GAE和大多数用于开发和部署云应用的平台的利弊列表上主要有几点。虽然定价对每个云平台来说都是挑战,但GCE和AWS的定价和计费模式变化如此之频繁让我们很难给出定价方面的建议。在选择过程中,请了解每个候选平台的最新定价/计费模型。

优点:GCE的客户能够利用所有谷歌在云自动化方面的创新,这些创新已经在谷歌的高压环境下测试过了。

GCE使用谷歌的私有全球光纤网络(也就是谷歌基础架构的骨干)来连接数据中心里的虚拟机,这自然比任何其他的云平台更快,包括使用公共互联网的AWS。

GCE的标准计算实例与AWS相比成本较低,除非你愿意预先绑定支付AWS三年的预留实例。如果谷歌继续沿用摩尔定律的方式定价,那么绑定三年期的AWS 预留实例增加了未来的降价可能会抵消一些你预期省下的成本的风险。对于高内存高CPU的虚拟机来说,谷歌GCE和AWS定价的比较结果是比较复杂的——其中没几个有可比性的项目。

GCE的定价对小一点的企业来说是一大优点,因为它是以每分钟收费的,最低收费则是10分钟,而AWS是以小时收费,不足一小时按一小时计。

GCE能够让你把一个持久化读/写磁盘以只读的方式挂到一个虚拟机并将它连接到同一区域内的数百台VM。这允许你在短时间内将数据分发给大量的工作节点。AWS的客户仍在挣扎于寻找一种在大量的AWS实例之间分享数据和信息的方式。

GCE可以基于负载的增加或减少,在管理实例组内添加或删除虚拟机来自动执行负载平衡。这允许应用程序处理流量的增加和当资源需求较低时降低成本。然而,GCE的负载平衡没有那么自动,因为GCE需要用户指定自动调节的策略,并且它不能用于标准实例,只能在管理实例上使用。AWS的弹性负载均衡会执行类似的功能,但它需要预热(比如,配置负载均衡器使其在预期流量的范围内有适当级别的容量)。GCE允许地区之间的负载平衡并支持基于内容的路由,而这个亚马逊的EC2则做不到。

GCE会即时加密那些写入永久磁盘的数据,传输,然后将其以加密的格式存储。它已经完成了ISO 27001,SSAE-16,SOC 1,SOC 2,及SOC 3的认证。

GCE可以让你以非常具有成本效益的方式使用可抢占的虚拟机来运行大批量和计算的作业。

缺点:GCE仍在服务方面,地区(3比11),客户的数量,产品在存储,计算,数据库,网络和配置管理的广度落后于AWS。AWS的容量是排在它之后的最大的12个竞争对手加起来的五倍。AWS在云市场的占有率是28%;微软是10%而Google是5%(包括GAE和GCE)。

AWS支持多种操作系统,包括Amazon Linux、Red Hat Enterprise Linux、CentOS、Debian,SUSE Linux Enterprise Server、Ubuntu、Oracle Enterprise Linux、FreeBSD和Windows(2003 R2,2008,2008 R2,2012)。GCE支持CentOS,Red Hat Enterprise Linux,Debian,SUSE Linux Enterprise Server、Ubuntu和Windows Server 2008 R2。(对Windows的支持仍在Beta模式。)尽管AWS略胜一筹,但它并没有显著的优势。

GCE在合规方面远远落后于AWS。AWS的合规服务完胜GCE的合规服务。AWS可以帮助企业处理大部分他们可能需要满足的法规。GCE(和Google Cloud Platform)正在尽力赶上AWS的合规服务。

围绕GCE和谷歌云平台的服务数量与AWS和微软Azure相比是较小的。在Forrester的企业公有云平台报告中,作者列出28个重要的AWS服务,22个微软的云服务和只有6个谷歌云平台的服务,包括GAE,GCE,Google Cloud Storage、Google Cloud Datastore、Google Cloud SQL和BigQuery。

GCE缺乏广泛的地理分布。GCE只有三个地区(美国,欧洲和亚洲)和三个可用区域。而AWS,有着11个地区和超过20个的可用性区域。如果你需要一个具有广泛的地理多样性的静态网站并不介意为此付费,又或者你需要托管的大量数据,例如视频或文件下载,建议你使用AWS EC2和AWS S3。


本文作者:佚名

来源:51CTO

相关文章
|
25天前
|
运维 Prometheus 监控
构建高效稳定的云基础设施:自动化运维策略与实践
在动态的云计算环境中,自动化运维(AIOps)已成为确保服务稳定性和效率的关键。本文将深入探讨构建高效稳定云基础设施的策略,重点关注自动化工具的选择、配置管理的最佳实践、持续集成与持续部署(CI/CD)流程的优化,以及监控和日志分析的重要性。通过这些策略的实施,企业能够减少人为错误,提高响应速度,并最终实现运维效率的显著提升。
|
4月前
|
运维 安全 数据处理
上云部署的优势
上云部署的优势
|
11月前
|
JSON 运维 Kubernetes
一文详解如何在 ChengYing 中通过产品线部署一键提升效率
本文介绍如何通过对ChengYing产品线部署的技术设计,一键完成繁琐工作,极大提升部署效率,希望帮助对「一站式全自动化全生命周期大数据平台运维管家 ChengYing」感兴趣的开发者更好地了解和使用 ChengYing。
111 0
|
人工智能 运维 Kubernetes
青云 QKE 托管版:向 Serverless 的终极形态再迈进一步
自从 2012 年,Serverless 这个词被 Ken Form 带到大众面前,Serverless 架构就一直在以一种“实现云计算最初梦想”的姿态不断更新和迭代。时至今日,我们尚未实现 Serverless 的终极形态,但已经出现了不少成果,托管版作为其中重要的一种形态,具体代表什么含义?青云 QingCloud 最新发布的 QKE 托管版可以解决哪些问题?适用于哪些人群?
162 0
青云 QKE 托管版:向 Serverless 的终极形态再迈进一步
|
安全 应用服务中间件 PHP
云上部署的便利性和方案
低门槛上云的可选部署方案
248 0
云上部署的便利性和方案
|
存储 机器学习/深度学习 编解码
展望未来:在多云架构中管理数据
云计算战略的最重要的原则包括可扩展性、冗余性、成本效益和适应性,最好通过根据组织的技术和业务需求定制的真正多云设置来实现。
269 0
展望未来:在多云架构中管理数据
|
边缘计算 缓存 运维
边缘使用 K8s 门槛太高?OpenYurt 这个功能帮你快速搭建集群!
为了降低 OpenYurt 的使用门槛,帮助更多地开发者快速上手 OpenYurt,社区提供了 OpenYurt 易用性工具 yurtctl。该工具致力于屏蔽 OpenYurt 集群创建的复杂性,帮助开发者在本地快速地搭建 OpenYurt 开发测试集群。
边缘使用 K8s 门槛太高?OpenYurt 这个功能帮你快速搭建集群!
|
弹性计算 运维 数据可视化
阿里云混合云管理平台发布 帮您管好云
略正式发布:全栈建云、智能管云、极致用云。同步发布专有云敏捷版(Apsara Stack Agility)、 混合云管理平台(Apsara Uni-manager)以及下一代企业级一站式DevOps平台“云效”三大新品。阿里云智能资深技术专家王小瑞对混合云管理平台
1444 0
阿里云混合云管理平台发布 帮您管好云
|
弹性计算 容器
免费 | 开发部署效率提升 12 倍,这款应用托管服务让云上运维更简单
应用托管服务,顾名思义,就是一个用来构建和部署应用的全托管式平台,简化部署和运维过程。 在使用应用托管服务之前,上线一款简单的应用,需要经历: 购买 ECS; 配置 VPC; 配置 RDS; 配置 SLB; 前前后后可能有12个步骤,而借助阿里云Web应用托管服务,可省去云端资源的申购与编排、软件运行时环境的安装与配置、应用程序的启停与维护、部署环境模板的分发与重放等多个环节,一步便能实现赢得上线。
2615 0