关于 Google Cloud 服务

本概览介绍了一些常用的 Google Cloud 服务。如需查看服务的完整列表,请参阅“产品和服务”页面

此概览介绍以下类型的服务:

计算和托管服务

Google Cloud 为您提供了多种可选的计算和托管方案。您可以选择执行以下操作:

  • 利用无服务器环境。
  • 采用托管式应用平台。
  • 利用容器技术以获得高度灵活性。
  • 构建您自己的云基础架构,以获得最大的控制力和灵活性。

您可以想象这样一幅图谱:一端是您自己担负大部分资源管理职责,另一端则是 Google 担负这些职责的大部分。

无服务器计算

Cloud Functions 是 Google Cloud 的函数即服务 (FaaS) 产品,可为构建和连接云服务提供一种无服务器执行环境。借助 Cloud Functions,您可以编写单一用途的简单函数,并将您的云基础架构和服务发出的事件关联到这些函数。当所监控的事件发生时,您的函数就会被触发。您的代码将在全代管式环境中执行。您无需预配任何基础架构,也不必费心管理任何服务器。

您可以使用 JavaScript、Python 3、Go 或 Java 编写 Cloud Functions 函数。 您可以将自己的函数部署到任何标准的 Node.js (Node.js 10)、Python 3 (Python 3.7)、Go(Go 1.11 或 1.13)或 Java (Java 11) 环境下运行,轻而易举地实现可移植性以及本地测试。

Cloud Functions 函数非常适用于包括以下方面的使用场景:

  • 数据处理和 ETL 操作(用于视频转码和 IoT 流式数据等场景)。
  • 用于响应 HTTP 触发器的 Webhook。
  • 用于将松散耦合的逻辑编写到应用中的轻量级 API。
  • 移动后端函数。

应用平台

App Engine 是 Google Cloud 的平台即服务 (PaaS) 产品。凭借 App Engine,Google 可为您处理大部分资源管理任务。例如,如果您的应用因网站流量增加而需要更多计算资源,Google 会自动扩缩系统,从而提供所需资源。如果系统软件需要安全更新,Google 也会自动为您完成相关处理。

在 App Engine 上构建应用时,您可以执行以下操作:

  • 使用 Go、Java、.NET、Node.js、PHP、Python 或 Ruby 构建您的应用,并使用预配置运行时自定义运行时以任何编程语言编写代码。

  • 让 Google 为您管理应用的托管、扩缩、监控和基础架构。

  • 与 Google Cloud 存储产品连接,例如 Cloud SQLDatastore 模式的 Cloud FirestoreCloud Storage。 您还可以连接到代管式 Redis 数据库,并在 Compute Engine 上、其他云提供商处、本地环境中或第三方供应商处托管第三方数据库(如 MongoDB 和 Cassandra)。

  • 使用 Web Security Scanner 来补充现有的安全设计和开发流程,以识别安全漏洞。

如需查看 App Engine 功能的完整列表和说明,请参阅 App Engine 文档

容器

借助基于容器的计算功能,您可以专注于应用代码,而无需部署和集成到托管环境中。Google Kubernetes Engine (GKE) 是 Google Cloud 的容器即服务 (CaaS) 产品,它以开源 Kubernetes 系统为基础构建而成,不仅可以提供 Google Cloud 的公有云基础架构,还可让您灵活选择本地云或混合云。

使用 GKE 构建应用时,您可以执行以下操作:

  • 创建和管理一组运行 Kubernetes 的 Compute Engine 实例(称为集群)。 GKE 将 Compute Engine 实例用作集群中的节点。每个节点运行 Docker 运行时、一个用于监控节点运行状况的 Kubernetes 节点代理和一个简单网络代理。

  • 创建一个简单 JSON 配置文件来声明 Docker 容器的要求。

  • 使用 Container Registry 提供安全、私有的 Docker 映像存储空间。您可以将映像推送到您的注册表,然后利用 HTTP 端点将映像拉取到任何 Compute Engine 实例或您自己的硬件。

  • 创建单容器和多容器 pod。 每个 pod 代表一个逻辑主机,其中可包含一个或多个容器。pod 中的各容器通过共享资源(例如网络资源)协同工作。一组 pod 结合使用,可以构成整个应用、一个微服务或多层应用中的一层。

  • 创建和管理副本控制器,以用于根据模板创建和删除 pod 副本。副本控制器有助于确保您的应用具备可靠运行和适当扩缩所需的资源。

  • 创建和管理服务。 服务会创建一个抽象层,以用于将前端客户端与提供后端函数的 pod 分离开来。通过这种方式,客户端可以安心地工作,而不用在意哪个时刻创建和删除了哪些 pod。

  • 创建外部网络负载平衡器。

虚拟机

Compute Engine 是 Google Cloud 的非代管式计算服务。您可以将 Compute Engine 视为一个提供基础架构即服务 (IaaS) 的产品,因为该系统会提供一个强大的计算基础架构,但您需要选择和配置要使用的平台组件。使用 Compute Engine 时,您需要负责系统的配置、管理和监控工作。Google 将负责确保资源的可用性和可靠性,让您可以随时使用,但要由您来预配和管理这些资源。这一做法的好处在于,您可以完全控制系统并获得无限的灵活性。

在 Compute Engine 上构建时,您可以执行以下操作:

  • 使用虚拟机(称为实例)来构建应用,具体方法与使用自己的硬件基础架构大致相同。您可以选择各种实例类型,以根据自己的需求和预算自定义配置。

  • 选择用于部署资源的全球性区域和地区,从而控制数据的存储和使用位置。

  • 选择您喜欢的操作系统、开发堆栈、语言、框架、服务和其他软件技术。

  • 基于公共或私有映像创建实例。

  • 使用 Google Cloud 存储技术或您喜欢的任何第三方技术。

  • 使用 Google Cloud Marketplace 快速部署预配置的软件包。例如,只需点击几下即可部署 LAMP 或 MEAN 堆栈。

  • 创建实例组,以更轻松地同时管理多个实例。

  • 对实例组使用自动调节功能,以自动添加和移除容量。

  • 根据需要挂接和分离磁盘

  • 使用 SSH 直接连接到您的实例。

组合使用计算和托管选项

您不必只使用一种类型的计算服务。例如,您可以将 App Engine 和 Compute Engine 结合起来,以充分利用每项服务的特性和优势。如需了解同时使用 App Engine 和 Compute Engine 的示例,请参阅在 Compute Engine 上可靠地安排任务

如需详细了解用于托管和服务网站的选项,请参阅托管和服务网站

存储服务

无论您的应用是什么,您都可能需要存储一些媒体文件、备份文件或其他类似文件的对象。Google Cloud 提供了各种存储服务,包括:

  • Cloud Storage 中的一致、可扩缩、大容量数据存储服务。 Cloud Storage 有多种类别:

    • 标准 Cloud Storage 提供最高的可用性。
    • Cloud Storage Nearline 存储类别提供低成本的归档存储,非常适合访问频率不到每月一次的数据。
    • Cloud Storage Coldline 存储类别提供更低成本的归档存储,非常适合访问频率不到每季度一次的数据。
    • Cloud Storage Archive 存储类别为备份和灾难恢复提供成本最低的归档存储,是您预期访问频率不到每年一次的数据的理想之选。
  • Compute Engine 上的永久性磁盘,适合用作实例的主存储服务。Compute Engine 可提供基于硬盘的永久性磁盘(称为标准永久性磁盘)和固态永久性磁盘 (SSD)。

  • Filestore 中的全代管式 NFS 文件服务器。您可以使用 Filestore 实例来存储在 Compute Engine 虚拟机实例或 GKE 集群上运行的应用的数据。

    如需了解 Google Cloud 上的各种存储服务及其优势,请参阅详细了解我们的存储方案

数据库服务

Google Cloud 提供各种 SQL 和 NoSQL 数据库服务:

  • Cloud SQL 中的 SQL 数据库,该服务可提供 MySQL 或 PostgreSQL 数据库。

  • Cloud Spanner 中可用于关键任务的全代管式关系型数据库服务,该服务可提供全球范围内的事务一致性、架构、SQL 查询和用于实现高可用性的自动同步复制功能。

  • 两种 NoSQL 数据存储方案:Firestore(用于类似文档的数据)和 Cloud Bigtable(用于表格数据)。

您还可以选择使用永久性磁盘在 Compute Engine 上设置首选数据库技术。例如,您可以为 NoSQL 文档存储设置 MongoDB

如需了解数据库服务之间的差异,请详细了解 Google Cloud 数据库

网络服务

当 App Engine 为您管理网络,而 GKE 使用 Kubernetes 模型时,Compute Engine 会提供一组网络服务。这些服务有助于您跨资源实现流量负载平衡,创建 DNS 记录,以及将现有网络连接到 Google 的网络。

网络、防火墙和路由

Virtual Private Cloud (VPC) 提供了一组网络服务供您的虚拟机实例使用。一个实例可以有多个接口,但每个接口都必须连接到不同的网络。 每个 VPC 项目都有一个默认网络。您可以在自己的项目中创建其他网络,但不能在不同项目之间共享网络。

防火墙规则控制传入网络中各实例的流量。默认网络具有一组默认防火墙规则,您也可以创建自定义规则。

借助路由,您可以在实例中实现更高级的网络功能,例如创建 VPN。路由指定如何对实例发出的数据包进行定向。例如,路由可以指定应由您配置和操作的网关虚拟机实例来处理发往特定网络范围的数据包。

负载平衡

如果您的网站或应用在 Compute Engine 上运行,或早或晚,您可能会发现需要在多个实例之间分配工作负载。服务器端负载平衡功能为您提供了以下方案:

  • 网络负载平衡可让您根据传入 IP 协议数据(例如地址、端口和协议)在同一区域中的各服务器实例之间分配流量。例如,如果您希望满足网站流量增加的需求,则网络负载平衡是一个很好的解决方案。

  • HTTP(S) 负载平衡可让您跨区域分配流量,因此您可以确保将请求路由到最近区域,或者在发生故障或超出容量限制的情况下,将请求路由到下一个最近区域中运行状况良好的实例。您还可以使用 HTTP(S) 负载平衡根据内容类型分配流量。 例如,您可以对您的服务器进行设置,以便从一个服务器提供静态内容(如图片和 CSS),而从另一个服务器提供动态内容(如 PHP 页面)。负载平衡器可以将每个请求定向到提供相应内容类型的服务器。

Cloud DNS

您可以使用 Google 所用的基础架构发布和维护域名系统 (DNS) 记录。还可以使用 Google Cloud Console、命令行或 REST API 来处理代管地区和 DNS 记录。

高级连接

如果您希望将现有网络连接到 Google Cloud 资源,可以选择 Google Cloud 提供的以下高级连接方案:

  • 借助 Cloud Interconnect,您可以通过可用性高、延迟时间较短的企业级连接将您的现有网络连接到 VPC 网络。您可以使用专用互连直接连接到 Google,也可以使用合作伙伴互连通过受支持的服务提供商连接到 Google。

  • 借助 Cloud VPN,您可以通过 IPsec 连接将现有网络连接到 VPC 网络。您还可以使用 VPN 将两个 Cloud VPN 网关相互连接。

  • 借助直接对等互连,您可以在 Google 覆盖范围广泛的某个边缘网络位置交换您的企业网络与 Google 之间的互联网流量。如需详细了解边缘位置,请参阅 Google 的对等互连网站

  • 采用运营商对等互连,您可以借助服务提供商,通过可用性高、延迟时间较短的连接将您的基础架构连接到 Google 的网络边缘。您还可以利用网络之间的 VPN 隧道,通过运营商对等互连链接将您的专用网络扩展到专用 Virtual Private Cloud 网络。

大数据服务

大数据服务可让您处理和查询云端的大数据,从而快速获得复杂问题的解答。

数据分析

BigQuery 提供数据分析服务。借助 BigQuery,您可以执行以下操作:

  • 创建自定义架构,以将数据整理到数据集和表中。
  • 从各种来源加载数据,包括流式数据。
  • 使用类似 SQL 的命令,非常快速地查询海量数据集。 BigQuery 针对速度进行了设计和优化。
  • 使用网页界面、命令行界面或 API。
  • 使用作业加载、查询、导出和复制数据。
  • 使用权限管理和保护数据。

若要快速轻松地试用 BigQuery,请尝试使用网页界面快速入门查询公共数据集。

批量数据处理和流式数据处理

借助 Dataflow 提供的代管式服务和一组 SDK,您可以执行批量数据处理和流式数据处理任务。Dataflow 非常适合用于高数据量计算,尤其是在处理任务可以轻松明确地划分为并行工作负载的情况下。此外,Dataflow 还非常适合提取-转换-加载 (ETL) 任务,此类任务有助于在不同存储介质之间移动数据,将数据转换为更理想的格式,或将数据加载到新的存储系统。

异步消息传递

Pub/Sub 是一种异步消息传递服务。您的应用可以将消息以 JSON 数据结构的形式发送到发布单元(称为主题)。由于 Pub/Sub 主题是一种全球性资源,因此您所拥有项目中的其他应用可以订阅该主题,以在 HTTP 请求或响应正文中接收消息。如需熟悉 Pub/Sub,请参阅 Pub/Sub 快速入门

Pub/Sub 的用处并不局限于大数据。在许多情况下,如果您需要异步消息传递服务,都可以使用 Pub/Sub。如需查看使用 Pub/Sub 协调 App Engine 和 Compute Engine 的示例,请参阅在 Compute Engine 上可靠地安排任务

机器学习服务

AI Platform 可提供各种功能强大的机器学习 (ML) 服务。您可以选择使用相应 API 来提供针对特定应用优化且预先训练的模型,也可以使用托管式 TensorFlow 框架构建和训练您自己的大型复杂模型。

机器学习 API

Google Cloud 提供了多种 API,让您可以充分利用 Google 的机器学习服务,而无需创建和训练自己的模型。

  • Video Intelligence API 支持视频分析技术,该技术可以提供标签检测、不良内容检测、镜头变化检测和区域化功能。

  • Speech-to-Text 可让您将音频转换为文本,可识别的语言和语言变体超过 110 种,从而为您的全球用户群提供支持。您可以转录用户在应用中对着麦克风口述的内容、实现语音命令控制功能、转录音频文件,以及进行其他操作。

  • Cloud Vision 可以轻松集成视觉检测功能,这些功能包括图片标记、面部和地标检测,以及光学字符识别 (OCR) 和不良内容的标记。

  • Cloud Natural Language API 可以添加情感分析、实体分析、实体-情感分析、内容分类和语法分析。

  • Cloud Translation 可让您快速将源文本翻译成 100 多种受支持语言的任何一种。如果源语言未知,可以借助语言检测功能。

  • Dialogflow 可让您为网站、移动应用、热门通讯平台和物联网设备构建对话界面。您可以使用该 API 构建能够与人类进行自然而丰富的互动的界面(例如聊天机器人)。

AI Platform

AI Platform 将 Google Cloud 的代管式基础架构与 TensorFlow 的强大功能和灵活性结合在一起。该服务可以大规模训练您的机器学习模型,并托管经过训练的模型以用于预测云端的新数据。

AI Platform 可让您通过在 Google Cloud 上运行 TensorFlow 训练应用来训练机器学习模型,并为您托管这些经过训练的模型,以便您可以使用这些模型预测新数据。AI Platform 可管理您的训练作业需要运行的计算资源,因此,您可以更专注于模型,而无需配置硬件或管理资源。

如需试用 AI Platform,请参阅《使用入门:使用 Keras 进行训练和预测》

下一篇:了解开发者工具和管理工具