技术小白成长之路 - 谷歌云端 GCP Cloud Engineering - 第一篇 - 核心架构 Core Infrastructure

谷歌云端 GCP Cloud Engineering Certificate - 第一篇 - 核心架构 Core Infrastructure

  • 谷歌云端平台GCP简介
  • 1. 谷歌云端平台GCP资源层次结构
  • 2. Virtual Machines in the Cloud 云端虚拟机
    • 虚拟私有云网络 Virtual Private Cloud(VPC) Network
      • Compute Engine
      • Important VPC Capabilities
  • 3. Storage in the Cloud 云端存储
    • Cloud Storage和Cloud Bigtable
      • Cloud Storage Classes 存储类别
    • Cloud Database数据库
      • 非关系型数据库(NoSQL) Cloud Bigtable 和Cloud Datastore
        • Cloud Bigtable
        • 为什么选择Bigtable?
        • Cloud Datastore
      • 关系型数据库 Cloud SQL和Cloud Spanner
        • Cloud SQL
        • Cloud Spanner
  • 4. Containers in the Cloud 云端与容器
    • Google K8S Engine (GKE) 谷歌容器引擎
      • Pod 和集群自动扩缩
    • 混合云和多云平台
      • Anthos 核心组件
        • Anthos GKE
        • Anthos Config Management
        • Anthos Service Mesh
  • 5. Application in the Cloud 云端与应用
    • 完全托管的无服务器应用平台 App Engine
      • App Engine 标准环境
      • App Engine 柔性环境
      • Cloud Endpoints 与 APIGEE Edge
  • 6. Developing, Deploying, and Monitoring in the Cloud 云上开发, 部署,监控
    • Development 开发
      • Cloud Source Repositories 谷歌云端代码存储平台
      • 运行代码最简单的方法 - Cloud Function
      • 简化云端管理 - Deployment Manager
    • Monitoring 监控 - Proactive instrumentation
      • 工具 - Stack Driver
  • 7. Big Data and Machine Learning in the Cloud 云端与大数据+机器学习
    • Google Cloud Big Data Platform 大数据平台
      • Cloud Dataproc
      • Cloud Dataflow (流式数据处理和批量数据处理)
      • Cloud BigQuery (云数据仓库)
      • Cloud Pub/Sub (全托管式实时消息传递服务)
      • Cloud Datalab
    • Machine Learning Platform 机器学习平台
      • Vision
        • Cloud Vision API
        • AutoML Vision
      • Natural Language
        • Cloud Natural Language API
        • AutoML Natural Language
      • Translation
        • Cloud Translation API
        • AutoML Translation
      • Video AI
        • Cloud Video Intelligence API
        • AutoML Video Intelligence
  • 8. 小结

谷歌云端平台GCP简介

Google云端平台(Google Cloud Platform,简称为GCP)是一系列由Google提供的云计算服务,在运行Google搜索和YouTube的服务器上提供基础设施服务、平台服务及无服务器计算环境。除了提供管理工具外,Google云端平台还提供了一系列模块化云服务,包括:云计算、数据存储、数据分析及机器学习等。(source: wiki)

Cloud Marketplace 之前称为“Cloud Launcher”。借助 Google Cloud Platform Marketplace,你可以快速部署在 Google Cloud Platform 上运行的功能软件包。即使你不熟悉 Compute Engine 或 Cloud Storage 等服务,也可以轻松启动熟悉的软件包,而无需手动配置软件、虚拟机实例、存储或网络设置,但可以修改配置。立即部署软件包,稍后在应用需要额外容量时扩缩该部署。Google Cloud Platform 会更新这些软件包的映像以修复关键问题和漏洞,但不会更新已部署的软件。但幸运的是,你可以访问已部署的系统,所以可以直接维护这些软件。

1. 谷歌云端平台GCP资源层次结构

这里的GCP资源(Resource)是指比如 VM,储存桶,表格,请求等等,所有组成项目的资源。这些项目(Projects)可以被整理到文件夹(Folders)中, 一个Folder可以包含多个Folder。然后这些所有的Projects和Folder可以被放在一起成为一个组织节点(Organization Node)。在所有这些之上可以定义一个Policy。
技术小白成长之路 - 谷歌云端 GCP Cloud Engineering - 第一篇 - 核心架构 Core Infrastructure_第1张图片
IAM Primitive Role: Primitive roles are broad. You apply them to a GCP project and they affect all resources in that project. These are the owner, editor, and viewer roles.
IAM Predefined Role: A finer grained types of roles. GCP services offer their own sets of predefined roles and they define where those roles can be applied.

Eg: Compute Engine offers a set of predefined roles, and you can apply them to Compute Engine resources in a given project, a given folder, or in an entire organization.

2. Virtual Machines in the Cloud 云端虚拟机

虚拟私有云网络 Virtual Private Cloud(VPC) Network

虚拟私有云网络是Global的, 可以在任何GCP地域(region)中有相同的子网(subnet),同一个子网可以是跨不同可用区(zone)的. 简而言之:Networks are Global, Subnets are Regional

Compute Engine

Compute Engine是一个基础架构服务,可以让你用Google的服务器来运行虚拟机。 Compute Engine 没有预付费用(upfront fee),而且可以让你在同一个系统上同时运行上千台CPU, 得到更强大的数据运算能力

Compute Engine 提供可管理的虚拟机实例。你可以使用一组预定义机器类型或自行创建自定义机器类型来选择实例的机器属性,例如虚拟 CPU 数量和内存量。

Compute Engine 实例可以运行 Google 提供的 Linux 和 Windows Server 版本的公共映像,也可以运行由你创建或从现有系统导入的私有自定义映像。

Type of Storage/persistent disks:Standard persistent disk(默认的), 或者SSD - 当Application需要high-performance scratch space选用local SSD。注意:当VM terminate,SSD中的内容会消失。故而Compute Engine virtual machines use Persistent Disk storage to contain their file systems.

Preemptible VM: You can save a lot of money with preemptible VMs, although be sure to make your job able to be stopped and restarted.、

更多内容: https://cloud.google.com/compute/docs/

Important VPC Capabilities

VPC路由表 - VPC Routing table是Build-in的。每个 VPC 网络都使用一种可扩缩的分布式虚拟路由机制。虽然某些路由可以选择性地应用,但 VPC 网络的路由表是在 VPC 网络层级定义的。

每个虚拟机实例都有一个控制器,可以从网络路由表中获知所有适用的路由。离开虚拟机的每个数据包都将按照某种路由顺序传递到适用的路由的下一个合适跃点。当你添加或删除路由时,系统会使用最终一致的设计将这组更改传播到虚拟机控制器。

云负载均衡 - Cloud Load Balancing:可以实现全球范围的自动扩缩和负载平衡。在 Compute Engine 上利用 Cloud Load Balancing,无需预热即可实现从零到所需容量的扩容。你可以将支持负载平衡的计算资源分布到单个或多个区域,使其更接近用户并满足你的高可用性要求。Cloud Load Balancing 能够将你的资源置于单个任播 IP 后,并利用智能自动扩缩功能来增加或减少资源。Cloud Load Balancing 提供多种平衡选项,并与 Cloud CDN 集成以实现最优化的应用和内容交付。

负载均衡根据不同的需求,有5种可以选择:Global HTTP(S). Global SSL Proxy, Global TCP Proxy, Regional, Regional Internet. 其中最后一个 Regional Internet是指内部 TCP/UDP 负载平衡,使用内部 IP 地址在 Virtual Private Cloud (VPC) 网络中同一区域内的虚拟机实例之间分配流量。

云域名解析服务 - Cloud DNS 是运行在 Google 基础架构上的可扩缩、可靠、托管式的权威域名系统 (DNS) 服务。它延迟低、可用性高,让你能以更经济实惠的方式将自己的应用和服务提供给用户。Cloud DNS 会将 www.google.com 这样的域名请求转换为 74.125.29.101 这样的 IP 地址。Cloud DNS 是可编程的。 你可以使用简单的图形界面、命令行界面或者 API,轻松地发布和管理数百万个 DNS 地区和记录。

8.8.8.8 是Google提供的免费公共域名解析服务(Public DNS)的IP地址。一般而言,DNS服务都是由你的ISP(互联网服务提供商)提供的,但是Google希望把这项任务交给自己,Google宣称这将让网民上网更加迅速以及安全。

Cloud CDN 可以实现在全球规模和范围内快速可靠地分发 Web 内容和视频内容。对于全球几乎每一家主流最终用户 ISP,Cloud CDN 都具有与之配对的边缘缓存,能够连接世界各地更多的用户.

云路由器 - Cloud Router, 通过 Cloud Router 路由器,你可以使用边界网关协议 (BGP) 在你的 Virtual Private Cloud (VPC) 和本地网络之间动态交换路由。

例如,如果你使用 Cloud VPN 隧道连接你的网络,则可以通过 Cloud VPN 隧道使用 Cloud Router 路由器与本地路由器建立 BGP 会话。Cloud Router 路由器会自动获知你 VPC 网络中的新子网,并将其通告给你的本地网络。

直接对等互连 - Direct Peering, Direct Peering可以让你在企业网络和 Google 边缘网络之间建立直接对等互连连接,并交换高吞吐的云端流量。该功能已面向全球 33 个国家/地区的 100 多个位置推出。如需详细了解 Google 边缘位置,请访问 Google 的对等互连站点。

专用互连 - Dedicated Interconnected - 专用互连在你的本地网络和 Google 网络之间提供直接物理连接。通过专用互连,可以在网络之间传输大量数据,这比在公共互联网上购买额外带宽更加经济实惠。
注意:Customers who want the highest uptimes for their interconnection with Google should use Dedicated Interconnect, in which customers get one or more direct private connections to Google. If these connections have topologies that meet Google’s specifications, they can be covered by up to a 99.99 percent SLA. These connections can be backed up by a VPN for even greater reliability.

3. Storage in the Cloud 云端存储

Cloud Storage 提供覆盖全球、高度耐用的对象存储系统,该系统可扩容到 EB 级数据规模。你可以即时访问任意存储类别中的数据,通过统一的 API 将存储机制集成到你的应用中,并轻松实现更高的性价比。

Cloud Storage和Cloud Bigtable

Cloud Storage 是一个二进制大型对象存储(Binary Large-object Storage)。注意,它和“File Storage”, “Block Storage” 是不同的。File Storage - You manage your data as a hierarchy of folders. Block Storage - your operating system manages your data as chunks of disk.对于Cloud Storage, 它不是一个File System,每一个数据对象(Data Object)对应了unique key,这些Unique Key的形式为URL, 意味着对象存储与网页技术有关。数据对象被存在数据桶(Bucket)中,数据桶的名字也必须Globally Unique.

Cloud Storage Objects 是不可变的(Immutable),意味着你不可以编辑Object,但可以更新。他默认Versioning 是关闭的,可以打开Versioning。Versioning若没有打开,新的版本会直接覆盖旧的版本。Cloud Storage 提供了对象生命周期管理功能, 每个生命周期管理配置都包含一组规则。 定义规则时,你可以为任何操作指定任意一组条件。 如果在规则中指定多个条件,则对象必须匹配适用于要采取的操作的所有条件。如果指定包含相同操作的多个规则,则在对象与任何规则中的条件匹配时执行操作。每条规则只应包含一个操作。

Cloud Storage Classes 存储类别

存储类别 API 和 gsutil 的名称 最短存储时长 典型的每月可用性
Standard 存储空间 STANDARD 多区域和双区域位置高于 99.99%, 各区域达 99.99%
Nearline 存储空间 NEARLINE 30 天 多区域和双区域位置达 99.95%, 各区域达 99.9%
Coldline 存储空间 COLDLINE 90 天 多区域和双区域位置达 99.95%, 各区域达 99.9%
Archive 存储空间 ARCHIVE ARCHIVE 365 天 多区域和双区域位置达 99.95%, 各区域达 99.9%

Cloud Database数据库

非关系型数据库(NoSQL) Cloud Bigtable 和Cloud Datastore

Cloud Bigtable

Cloud Bigtable 是 Google 面向大数据领域的 NoSQL 数据库服务。它也是为 Google 搜索、Analytics(分析)、地图和 Gmail 等众多核心 Google 服务提供支撑的数据库。

Cloud Bigtable 的延迟时间始终在 10 毫秒以内,是广告技术、金融技术和物联网(IoT)领域的理想之选。复制功能可实现更高的可用性和耐用性,以及在发生地区性故障时更出色的恢复能力。Cloud Bigtable 采用适合机器学习应用的存储引擎设计,并可与开源大数据工具轻松集成。Cloud Bigtable is offered through the same open source API as HBase, which is the native database for the Apache Hadoop project.

为什么选择Bigtable?

  1. Managed, scalable storage
  2. Data encryption in-flight and at rest
  3. Control access with IAM
  4. Bigtable drives major applications such as Google Analytics and Gmail

Cloud Datastore

Cloud Datastore 是一款服务应用,且具有出色扩容能力的 NoSQL 数据库。Cloud Datastore 可自动处理**分片(Sharding)复制(Replication)**操作,提供一个具有高可用性且可自动扩容的持久数据库,以帮助处理应用的负载。不同于Cloud Bigtable的是:Cloud Datastore 提供多种功能,如 ACID 事务、类似 SQL 的查询、索引等等。Cloud Datastore databases can span App Engine and Compute Engine applications。Cloud Datastore actually stores structured objects.

问: You are building a small application. If possible, you’d like this application’s data storage to be at no additional charge. Which service has a free daily quota, separate from any free trials? Cloud Datastore.

关系型数据库 Cloud SQL和Cloud Spanner

Cloud SQL

Cloud SQL是一个托管型的Managed RDBMS。适用于 MySQL、PostgreSQL 和 SQL Server 的全托管式关系型数据库服务,与他们的应用完全兼容。你可以在世界各地连接几乎所有应用。Cloud SQL 可自动执行备份(Automatic backup)、复制(Replication)、伸缩扩容(Scaling)和故障转移(Auto-Failover)操作,确保您的数据库可靠、灵活且具备高可用性。

Cloud Spanner

若Cloud SQL不可以满足你在水平方向伸缩扩容的能力,可以考虑使用Cloud Spanner。Cloud Spanner 是专为云端打造的首款具备强一致性且扩容能力极强的全球分布式企业级数据库服务,融合了关系型数据库结构与非关系型数据库横向扩容能力的优势。这种优势上的融合可以跨行、跨区域、跨洲实现高性能事务和强一致性。服务等级协议 (SLA) 承诺的可用性高达 99.999%,领先业界水平。该服务没有计划内停机时间,同时具备企业级安全性。Cloud Spanner 革新了数据库管理方式,并提高了应用开发效率。

4. Containers in the Cloud 云端与容器

App Engine属于PaaS,Compute Engine 属于IaaS。Kubernetes Engine属于两者之间。 Kubernetes Engine之所以像IaaS是因为它帮你节约了在Infra上的工作,它又之所以像PaaS是因为在构造时,考虑进去了开发者的需要。

Kubernetes pod 是:a group of containers. Containers in a pod are deployed together. They are started, stopped, and replicated as a group. 包含有至少一个container.
Kubernetes cluster是:a group of machines where Kubernetes can schedule containers in pods. The machines in the cluster are called “nodes.”

Google K8S Engine (GKE) 谷歌容器引擎

GKE 是一个适用于容器化应用的企业级平台,支持各种有状态和无状态应用、AI 和机器学习应用、Linux 和 Windows 应用、复杂和简单的 Web 应用、API 和后端服务。你不但可受益于四向自动扩缩和无压力 (no-stress) 管理等各种行业首创的功能,还可优化 GPU 和 TPU 预配方式,使用集成式开发者工具,并从 SRE 团队获得多集群支持。

The resources used to build Kubernetes Engine clusters come from Compute Engine, Kubernetes Engine gets to take advantage of Compute Engine’s and Google VPC’s capabilities.

The Kubernetes Engine team periodically performs automatic upgrades of your cluster master to newer stable versions of Kubernetes, and you can enable automatic node upgrades too.

Pod 和集群自动扩缩

根据 CPU 利用率或自定义指标进行的横向 Pod 自动扩缩,在每个节点池内进行的集群自动扩缩,以及持续分析 Pod 的 CPU 和内存用量并相应地动态调整其 CPU 和内存请求的纵向 Pod 自动扩缩。根据不断变化的工作负载需求,自动扩缩节点池以及多个节点池中的集群。

混合云和多云平台

Anthos 是一个开放式混合云和多云云端应用平台,支持你对现有应用进行现代化改造、构建新应用,以及在任何位置安全地运行这些应用。Anthos 以 Google 首创的多项开源技术(包括 Kubernetes、Istio 和 Knative)为基础构建而成,可在本地环境与云环境之间实现一致性,并有助于加快应用开发。

Anthos 核心组件

Anthos GKE

以可靠而高效的方式运行你的 Kubernetes 集群。通过简单快速的托管式安装以及由 Google 验证的升级,Anthos GKE 可以简化容器管理。另外,你可将 Google Cloud Console 用作单一管理平台,跨本地和云环境管理集群。

Anthos Config Management

在 Kubernetes 部署中大规模实现管理政策和安全措施自动化。Anthos Config Management 支持快速安全的应用开发,能让你对应用于本地和云中 Kubernetes 集群的管理政策创建通用配置。评估更改并将其发布到所有 Kubernetes 集群,从而保证集群状态始终符合你的期望。

Anthos Service Mesh

Anthos Service Mesh 是 Google Cloud 的完全托管式服务网格,可让你管理复杂的微服务架构,在摆脱繁重工作的同时享受微服务的所有优势。全方位简化服务的运营(从流量管理和网格遥测,到确保服务间通信的安全),从而极大地减轻运营团队和开发团队的工作负担。

5. Application in the Cloud 云端与应用

完全托管的无服务器应用平台 App Engine

GCP 有两种服务,一种叫做Compute Engine,另一种叫做App Engine。App Engine属于PaaS,是一种完全托管的无服务器应用平台,可用于大规模开发托管 Web 应用。你可以从几种流行的语言、库和框架中进行选择来开发应用,然后让 App Engine 负责配置服务器根据需求扩缩应用实例数目

在全托管式平台上构建和部署应用,将应用从零无缝扩容到全球级规模,而不用去管理底层基础架构。得益于零服务器管理零配置部署,开发者可以专注于构建出色的应用,省去管理开销。App Engine提供的服务包括:NoSQL databases, in-memory caching, load balancing, health checks, logging, and user authentication to applications running in it.

App Engine 标准环境

App Engine 标准环境基于在 Google 基础架构上运行的容器实例。容器预先配置了几种可用runtime(运行时)环境之一。借助 App Engine 标准环境,可以构建和部署在负载繁重并涉及大量数据的情况下仍能可靠运行的应用。

应用在安全的Sandbox沙盒环境中运行,使 App Engine 标准环境能够跨多个服务器分发请求,并能扩缩服务器以满足流量需求。你的应用在其自有的安全可靠的环境中运行,该环境与服务器的硬件、操作系统或物理位置无关。

App Engine 标准环境免费提供 1 GB 的数据存储空间和流量,可通过启用付费应用来提高此限额。但是,为确保系统的稳定性,某些功能施加有一些与配额无关的限制。

Google提供并维护runtime binaries。Scaling is finer-grained。Billing can drop to zero if your application is idle.

App Engine 柔性环境

借助 App Engine,开发者可以集中精力做他们最擅长的事:写代码。App Engine 柔性环境以 Google Compute Engine 为基础自动扩缩应用并平衡负载。它的特性包括以下几点:

  1. 自定义基础架构 - App Engine 柔性环境实例为 Compute Engine 虚拟机,这意味着可以利用自定义库,使用 SSH 进行调试,并部署自己的 Docker 容器。

  2. 性能选择 - 利用各种 CPU 和内存配置。可以指定应用的每个实例需要多少 CPU 和内存,柔性环境将配置必要的基础架构。

  3. 原生功能支持 - 微服务、授权、SQL 和 NoSQL 数据库、流量拆分、日志记录、版本控制、安全扫描和内容分发网络均功能享受原生支持。

  4. 托管虚拟机 - App Engine 将负责对虚拟机进行管理

Cloud Endpoints 与 APIGEE Edge

Endpoints 是一个 API 管理系统,可帮助你使用 Google 用于其自身 API 的同一基础架构来保护、监控、分析 API 并设置 API 配额。将 API 部署到 Endpoints 后,可以使用 Cloud Endpoints 门户创建开发者门户,这是一个可供 API 用户访问,以阅读文档并与你的 API 进行交互的网站。Endpoint可以支持开发者通过API logging和monitoring来构建服务。

APIGEE Edge 是一个API 管理平台,随时随地以直观且可掌控的方式来设计、保护、分析和扩缩 API。可以使用APIGEE来gradually decompose a pre-existing monolithic application, not implemented in GCP, into microservices.

6. Developing, Deploying, and Monitoring in the Cloud 云上开发, 部署,监控

Development 开发

Cloud Source Repositories 谷歌云端代码存储平台

云端代码存储平台用于设计、开发和安全管理代码。可以让用户在功能齐全、可扩缩的私有 Git 代码库上轻松协作。通过连接到其他 Google Cloud 工具(包括 Cloud Build、App Engine、Pub/Sub,还有 Cloud Monitoring 和 Cloud Logging 等运营工具),扩展 Git 工作流。
If the customer don’t want to host their own git instance, and they want to integrate with IAM permission, he can choose to use the Cloud Source Repositories.

运行代码最简单的方法 - Cloud Function

Cloud Functions 是 Google Cloud 的事件驱动型无服务器计算平台。 它让你可以在本地或云端运行代码,而不必预配服务器。从代码到部署,全面利用持续交付和监控工具。Cloud Functions 可纵向扩缩容量,你只需为使用的计算资源付费。通过与现有 Google Cloud 或第三方服务连接,轻松创建端到端的复杂开发方案。

简化云端管理 - Deployment Manager

Google Cloud Deployment Manager 可让使用 YAML 以声明形式来指定应用需要的所有资源。用户也可以使用 python 或 Jinja2 模板将配置参数化,实现一些常用部署范例的重复使用,例如一个支持负载平衡和自动扩缩的实例组。你可以将配置视为代码,执行可重复的部署。是一个Infrastructure management system for GCP resources.

Monitoring 监控 - Proactive instrumentation

工具 - Stack Driver

功能如下:

  1. Monitoring
  2. Logging
  3. Trace
  4. Error Reporting
  5. Debugger
  6. Profiler: Continuous profiling of CPU and Memory consumption

7. Big Data and Machine Learning in the Cloud 云端与大数据+机器学习

Google Cloud Big Data Platform 大数据平台

Cloud Dataproc

Dataproc 是一项迅捷而简单易用的全托管式云服务,为用户提供了一种更简单、更经济高效的方式来运行 Apache SparkApache Hadoop 集群。例如,过去需要几个小时或几天的操作,现在只需几秒或几分钟即可完成,而且用户只需为使用的资源付费(按秒计费)。此外,Dataproc 还可轻松集成其他 Google Cloud Platform (GCP) 服务,提供一个强大而完善的平台来执行数据处理、分析和机器学习等任务。

使用场景1:把on-promises Hadoop job迁移到云端
使用场景2:对已知大小的数据集进行数据挖掘和分析。

Cloud Dataflow (流式数据处理和批量数据处理)

Dataflow 是一项完全托管的流式分析服务,可通过自动扩缩批处理来最大限度地减少延迟、缩短处理时间并降低费用。得益于其无服务器的资源预配与管理方法,你可以获得几乎无限的容量来解决最大的数据处理挑战,而只需为所用的资源付费。
使用场景1:Orchestration 编排
使用场景2:Extract,Transform, and Load(ETL)

Cloud BigQuery (云数据仓库)

BigQuery属于一个完全托管型的,petabyte-scale, 经济实惠的分析型云数据库。它是属于无服务器,无需管理架构,且扩容能力强。用户可以直接从Cloud Storage或Cloud Data Store中直接加载数据到BigQuery中,你可以使用google架构的超级处理能力来跑super-fast SQL queries。除了SQL queries,你还可以通过Dataflow,Hadoop和Spark来方便地读写。

Google 的架构是全球性的,BigQuery也是,比如,若你想把data放在Europe, 你不需要在Europe set up一个cluster,你可以直接声明一个当你创建数据集的EU location,可以声明这个区域region来存放你的数据。

因为BigQuery会将storage和computation区别开来,所以也会分开付费,意味着对于query,你只需付那部分running 的query。

Cloud Pub/Sub (全托管式实时消息传递服务)

Pub/Sub 是一种可伸缩的,可靠的消息传递服务,可让你在独立的应用之间发送和接收消息。Pub - Publishers发布, Sub - Subscribers订阅。Applications可以发布消息,然后一个或多个订阅者可以接收。接收消息并不一定是同时的。
使用场景1:Internet of Things Applications 物联网应用
使用场景2:Analysing Streaming Data 分析流数据
使用场景3:Decoupling Systems 去耦系统

Cloud Datalab

Datalab一种简单易用的交互式工具,可用于浏览、分析和直观呈现数据,同时还支持机器学习。它会运行在Compute Engine的虚拟机上。除了Datalabs上的资源,用户不需要对Datalabe额外付费。Datalab集成了BigQuery,Compute Engine, 和Cloud Storage,所以使用这些data不会有权限的问题。当Datalaby运行之时,你可以使用Google Charts等等来进行数据可视化。

Machine Learning Platform 机器学习平台

使用场景1:Content Personalization 内容个性化
使用场景2:Sentiment Analysis 语义分析
使用场景3:Fraud Detection 欺诈识别

Vision

Google Cloud 提供了两款计算机视觉产品,利用机器学习技术以业界领先的预测准确率来帮助你理解图片。

Cloud Vision API

Google Cloud 的 Vision API 通过 REST API 和 RPC API 提供功能强大、经过预先训练的机器学习模型,可以为图片添加标签,并将其快速归入数百万个预定义的类别。可以检测图片中的对象和面部、读取印刷体及手写文本,并在你的图片目录中纳入有价值的元数据。

AutoML Vision

自动训练你自己的自定义机器学习模型。使用 AutoML Vision 简单易用的图形界面,轻松上传图片并对自定义图片模型进行训练;在准确率、延迟时间和规模方面优化你的模型;将模型导出到你的云端应用或者位于边缘的一组设备。

Natural Language

Cloud Natural Language API

Natural Language 利用机器学习技术来揭示文本的结构和含义。 你可以提取关于人物、地点、事件的信息,更好地理解社交媒体观点和客户对话内容。另外可以使用 Natural Language 来分析文本,还可将其与 Cloud Storage 上存储的文档相集成。

AutoML Natural Language

借助 AutoML Natural Language,只需极少的工作量和机器学习专业知识,即可训练出高质量的自定义机器学习模型,以对情感进行分类、提取和检测。用户可以使用 AutoML Natural Language 界面上传训练数据,然后测试自定义模型。使用 AutoML Natural Language 可以从一系列内容(例如文章集、扫描的 PDF 文件或者以前归档的记录)中提取信息。

Translation

Translation 服务让组织能够利用 Google 预先训练或自定义的机器学习模型,在多种语言之间动态互译

Cloud Translation API

Translation API 基本版让用户的网站和应用能够即时将文本翻译成一百多种语言。Translation API 基本版利用 Google 提供的预训练神经机器翻译技术来提供快速、动态的结果。

Translation API 高级版可提供与 API 基本版同样快速、动态的结果,并提供额外的功能来支持自定义。自定义对特定于领域上下文的术语或短语来说很重要。

AutoML Translation

即使开发者、翻译人员和本地化专家具备的机器学习知识有限,也可以快速创建可直接用于生产环境的高质量模型。用户只需上传已翻译的语言对,AutoML Translation 即可训练出能够扩缩并适应自己的领域特定需求的自定义模型。

Video AI

Google 提供了两种功能齐全的视频 AI 产品,可让视频库更易于搜索

Cloud Video Intelligence API

Cloud Video Intelligence 允许开发者使用 Google 视频分析技术作为其应用的一部分。借助REST API,用户能够在整个视频、每个片段、每个镜头和每帧级别使用上下文信息本地存储Google Cloud Storage 中存储的视频添加注释

AutoML Video Intelligence

AutoML Video Intelligence 提供图形界面,即使你只有极少的机器学习相关经验,也能轻松训练自定义模型,以分类和跟踪视频内的对象。该服务非常适合需要使用自定义标签的项目,而经过预先训练的 Video Intelligence API 不提供此类标签。

8. 小结

这期博客,主要介绍了谷歌云端平台GCP的核心架构。从资源层次结构入手,然后依次介绍了常用的服务:包括云端虚拟机,存储,数据库,容器,应用,以及云上开发、部署、监控,最后简单介绍了云端与大数据及机器学习的服务。

GCP相比于其他云服务商最大亮点就是它拥有最好的机器学习平台。它为所有类型的用户和用例提供了工具。从用于深度学习的低级虚拟机到高级API,服务数量巨大。技术成长之路艰辛但有趣,在后面的学习过程中,我会持续记录下来,和大家交流分享我的学习心得。谢谢您

你可能感兴趣的:(技术小白成长之路 - 谷歌云端 GCP Cloud Engineering - 第一篇 - 核心架构 Core Infrastructure)