谷歌精心打造的云平台让用户可以更轻松地启动实例或在需要时使用谷歌API。如果要说哪家公司真正拿出了以云为中心的计算系统,那么赢家非谷歌莫属。自成立以来,谷歌就确立了基于深度互联网环境的业务定位,其搜索引擎仍然是现代世界最强大的工程奇迹之一。你还记得谷歌搜索引擎上次宕机是什么时候吗?显然,每个企业都希望建立起像谷歌这样以信息为基础、横跨整个互联网的业务体系,从而积累丰富的经验。技术经验。作为该领域的先行者,谷歌如果需要一些技术解决方案,必须由其工程师自行开发,然后完成相关部署。今天,每个人都可以利用谷歌的技术,这意味着在每小时或每次点击的基础上构建谷歌级别的系统,并获得谷歌级别的可靠性水平。使用GoogleCloud最简单的方法是在GoogleComputeEngine中启动一个实例。只需点击几下相应的网页或调用几次API,就可以启动这个运行在谷歌基础设施机架内部的虚拟机系统。用户可以从18个标准Linux发行版(包括Ubuntu、Debian、RedHat、CentOS等)中进行选择,或者——这可能有点出乎意料——从两个WindowsServer版本(包括2008R2或2012R2)中进行选择。运行Windows的使用成本略高:单个vCPU虚拟机的标准版本每月额外支付14.60美元。这部分操作系统带来的溢价会随着计算核心数量的增加而增加。设备和容器Google还提供极其广泛的硬件选项以及大量预定义配置,包括多达32个虚拟计算核心和多达208GB的内存。如果你不喜欢这些标准选项,UI还提供了多种滑块设计组件,让买家可以选择10GB或34GB的内存容量。但是内存容量与计算核心数量密切相关,这就意味着我们不能选择一个极端的组合——比如单CPU配180GB内存……当然不可能所有人都用这个配置.对于开发者来说,更实用的选择包括微型和小型实例,它们使用共享CPU并提供几乎任何级别的内存容量(包括0.6GB内存或1.7GB内存)。它的使用价格也很低,甚至可以忽略不计。一个微型实例每小时的使用成本仅为0.9美分,这意味着运行一整月只需6.57美元。GoogleComputeEngine控制台允许您随时通过选择CPU数量和内存容量来启动您需要的计算实例。不过,最终价格可能会更低。谷歌已经通过提供“长期使用”折扣来奖励那些让他们的设备使用更长时间的客户。云服务在当月第一周按全价计算,但第二周继续运行服务的用户可享受20%的价格优惠。如果你能让你的设备运行整整一个月,最后两周的折扣分别高达60%和40%。这意味着如果我们每个月全职运行设备,我们最终会获得30%的价格折扣。需要注意的是,我们并不需要持续运行实例才能享受上述优惠价格。ComputeEngine帐户按分钟计费,并相应地调整费率。谷歌的虚拟机启动速度极快,半小时、一小时我们随时可以关闭。更短的间隔可能不可行,因为ComputeEngine继续将VM启动的计费时间设置为至少10分钟。此外,我们还可以通过其他方式节省成本。你可以通过预留一个实例来实现批处理和非必要工作的运行,而不管它是否实际执行或执行相关处理。当这些预购实例上线时,我们可以享受高达70%的折扣,这绝对是无法抗拒的。此外,与亚马逊的点实例计费方式不同,谷歌的预留实例采用固定计费机制,以拍卖市场出售的多余计算周期的价格为准。如果你想拥有成本预测能力,那么这种预约范例绝对不能错过。值得指出的是,磁盘空间使用量是单独计费的,部分原因是磁盘操作本身确实独立于设备。我们需要将一个永久性磁盘“附加”到一个计算实例,磁盘存储将在实例终止后继续存在。然后您可以将其附加到其他设备。另外,如果您不再需要这部分磁盘记录,可以将其删除。另外,我们可以使用快照功能对磁盘内容进行去重,甚至可以同时附加到多个虚拟机系统——但在这种情况下,磁盘将处于只读模式。您会在GoogleCloudEngine中发现大量预置的虚拟机选项——尽管其丰富程度仍无法与Amazon和Azure相提并论。谷歌云服务中的一种新型解决方案,该选项允许您使用谷歌自己的Kubernetes构建虚拟机集群——一种旨在对抗市场上已经广泛支持的Docker容器技术的工具。在这种情况下,每个虚拟机都将由ComputeEngine实现。要使用这个系统,您需要很好地了解Kubernetes带来的超越Docker的附加功能。您可以在一个pod上处理多个容器。这种方式特别适用于大量容器共享同一种资源的情况——比如使用同一个本地磁盘。使用这些功能的确切成本取决于您实际运行的ComputeEngine实例数量。如果您使用的节点不超过5个,则只需为这些实例付费。如果您有6个或更多节点,您将支付每个节点每小时15美分的费用。平台和API原始实例不是我们唯一的选择。AppEngine是一个完全不同的解决方案,并且从一开始就采取了非常积极的方式。与基于操作系统构建服务器系统并使用所有root权限相比,AppEngine更像是一个计算助手。我们可以使用相对较少的代码,AppEngine可以自己完成剩下的工作。具体来说,谷歌处理负载均衡器、服务器、操作系统甚至数据库的负载,并最终根据响应HTTP请求所需的计算周期数创建账单。这意味着我们可以相当轻松地构建应用程序。AppEngine的第一个版本只接受Python代码。今天,我们已经可以上传Java、PHP或Google自己的Go语言代码。Google的模板和库具有非常强大的处理能力。它的标准解决方案可以连接到Django(Python)或WordPress(PHP)等开源框架,然后为其添加一系列更多的扩展。其中最棘手的部分是重新访问我们的数据库访问过程。大多数基本的开源框架都假设它们可以写入本地磁盘。AppEngine当然希望我们将数据写入Google的CloudSQL、CloudStorage或NoSQLDatastore。这意味着AppEngine可以更轻松地将用户的应用一次扩展到更多的虚拟机,因为谷歌不希望用户被文件系统管理所束缚。谷歌云平台的大部分惊人功能,加上一些其他有趣的服务,都可以通过其开放的API获得。AppEngine可能是当今构建和运行应用程序最理想的平台,因为它在用户和数据库之间使用了一个相对“薄”的代码层。(Snapchat是迄今为止最著名的AppEngine成功案例之一。)某些应用程序任务可能会导致服务停机,例如将pi计算到小数点后一百万位。通过强制用户使用其云存储服务,谷歌可以更好地控制负载。谷歌将把用户的代码严格控制在“安全限制”之内,尽管这是可以商量的——特别是如果你是一个大的付费客户。当我们使用CloudEngine进行数据存储时,我们首选的解决方案是使用BigQuery,它是一组具有类似SQL接口的纯附加表。BIGQuery是基于日志的,记录在线数据,也就是常说的“大数据”信息。谷歌正在努力使用更复杂的工具来增强此功能,例如Datalab,旨在在BigQuery数据存储层之上提供图形和分析层。我们将信息保存在BigQuery中,然后AppEngine实例运行Datalab代码。Datalab旨在鼓励不同用户之间的协作流程,并允许我们通过笔记本登录。最后,谷歌云用户最感兴趣的另一大选择是访问谷歌基础设施并通过各种API享受特殊服务。目前提供了100多种不同的API,让你可以随意将负载交给谷歌资源。例如,我们可以相对容易地允许应用程序用户使用他们的GoogleID登录。翻译API可以随意在几十种自然语言之间转换文本内容。MapsAPI允许我们在我们的网站上添加地理位置信息。还有预测性API甚至是相应的服务来支持生物实验室的基因研究人员的工作。这样的API选项还有很多很多。我们最好将这些API视为独立于ComputeEngine的解决方案。我们不需要使用这些API在Google的数据中心本地运行我们的代码。当然,这种方式可以有效减少响应时间。但需要强调的是,如果服务器端代码需要访问API,则代码必须在Google的基础设施内运行。但是,如果您的客户端代码需要获取一段地图数据,那么即使将服务器代码托管在Google内部也不会带来更好的性能。毕竟,选择权在每个人的手中。谷歌设计的几乎所有服务都可以独立运行。如果你想使用ComputeEngine虚拟机,但需要使用自己的硬件来托管一些更敏感的数据,Google也很乐意通过其API帮助你采用一些强大的服务。总而言之,长期以来支撑谷歌云平稳运行的知识和经验现在可供所有人使用。原文链接:回顾:GoogleCloudflexesflexibility
