从概念入手,了解AWS在IaasPaas,Saas层的服务

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从概念入手,了解AWS在IaasPaas,Saas层的服务相关的知识,希望对你有一定的参考价值。

文章目录


**课程目标**
  1. 了解云平台的基础概念
  2. 了解AWS云平台的常见服务

前置技能

学习本课程同学们需要:

  1. 熟练SQL的使用

  2. 掌握传统数仓开发模式,理解数仓分层、星型模型、事实表、维度表等传统数仓开发的概念

  3. 了解ETL的基本概念

  4. 懂得Scala语言、了解Spark

  5. 对云平台有一定的了解(阿里云、亚马逊、微软云等均可)

    虽然课程中也会对云平台做简单的介绍,但是除了课程主线所需要的云服务外,其它云服务不会花太多的篇幅进行详细讲解。

云平台的基础概念[了解]

1.1 前言

随着云计算概念的不断落地和推广, 目前云平台已经得到了非常广泛的使用.

云平台帮助用户在:

  • 应用落地
  • 服务落地
  • 安全保障
  • 性能

等方面获得比传统方式更高效, 更节省, 更稳定, 更方便的优势.

1.2 云平台的概念

云平台也称云计算平台. 云计算, 顾名思义, 就是将计算在云上运行.

那么在这里面的3个概念

  • 云: 通俗的理解就是远程计算机, 并且是一组 一堆, 这些远程计算机协同工作构建出一个平台,对用户提供服务
  • 计算:这是一个概念很大的名词,小了说可以认为是对业务数据进行计算分析的算力,不过通俗意义上,计算是指构建业务系统的各种需求
  • 平台:将云(远程硬件资源)和计算(远程软件资源)组合在一起,就形成了一个平台,对用户提供各种各样的服务。

我们可以这样理解: 云平台 就是 一个云上的平台, 为用户提供各种各样的 远程服务

举个例子:

现在有一个 人力外包中心, 其内部有非常多的人力资源可供客户购买使用.

那么有一个客户, 从人力资源外包公司, 花钱雇10个人干活, 发现效率不行又雇了100个一起干活, 最终活儿按时完成.

那么, 上述例子就是对云平台的一种模拟.

人力资源中心 提供的是服务, 提供的是资源, 客户只需要按量购买即可.

在例子中, 客户如果不使用人力资源中心 就需要自己招聘相应的员工, 签订劳务合同, 让自己的员工去为自己服务.

但是, 如果需求结束了, 员工又不能随意辞退, 那么这些员工就相当于资源闲置了.

人力资源中心 就是提供了 资源 供客户使用, 按需求 按用量付费即可, 用完即停止. 对客户来说资源没有闲置.

PS: 现在很多软件人力外包, 就是这样的思路.

很多甲方公司, 不愿意招聘正式员工, 仅仅某个项目需求人手, 就从外包公司招人来做, 项目完成, 人员也就遣返回外包公司了. 甲方按人数和时间给外包公司付款.

回到计算机的世界中

云平台提供的就是 计算的资源.

那么计算的资源主要有:

  • 硬件资源: 主要指服务器 交换机 磁盘 GPU等硬件资源
  • 软件资源: 主要指 各种软件工具域名服务 虚拟内网 数据库软件 等.

云平台为客户提供了 一站式的解决方案.

客户可以没有任何一台服务器 同样可以搭建起来自己的业务.

业务 就运行在云平台之上.

通俗的理解, 使用了云平台之后, 客户就不需要自行搭建机房了, 不需要自购服务器了.

服务器等硬件资源 从云平台购买使用即可.

并且因为云平台上的资源是很多的, 如果客户觉得资源不足, 可以追加购买. 如果觉得资源过多, 可以减少购买. 灵活方便.

毕竟, 自建机房成本很高, 并且服务器等硬件购买是一次性.

买回来发现用不到,造成资源的闲置 也是无可避免.

特别是某些业务突增的需求, 导致资源紧张, 临时加了N台服务器.

等到业务下降的时候, 这么多追加的服务器的资源就闲置了.

消费者还能在闲鱼让闲置游起来. 但是服务器领域…就算也能各种二手倒腾, 在机房频繁的上架下架 也是很繁琐的. 特别是运维同学, 估计要打人…

1.3 云平台的分类

云平台主要有 2大类, 分别是:

私有云平台

私有云平台, 简称私有云

顾名思义就是私人的云平台, 一般是企业自行搭建, 提供给企业内部去使用.

如, 各个业务部门 或者各个项目组作为客户, 从平台上购买资源,或者申请资源去使用,费用一般企业内部结算。

是一种提高企业内 资源利用率的手段,同时,基于云平台上提供的各种服务,也方便企业内部的开发。

但对于企业本身来说, 其硬件资源是自行组建的.(如 自建机房 自购服务器等)

公有云平台

公有云平台就是提供给大众使用的云平台.

任何人 或者任何企业 均可以在公有云平台内去 购买 申请 相应的资源.

对于公有云平台的提供商来说, 其本身的硬件资源是自行组建的(如自建机房, 自购服务器, 搭建数据中心)

本次课程, 主要给大家讲解公有云平台.

1.4 主流公有云平台

提供公有云服务的平台有许多, 我们来列举一下(顺序不代表排名):

  • AWS: Amazon web service: 是亚马逊提供的一个公有云平台. 也是最早提供云平台服务的一批企业. 也是目前全球公有云的龙头标杆. 在全球市场占有率处于领先地位. 就如苹果带领手机的发展方向一样, AWS目前处于引领云平台发展方向的地位.
  • Azure: 微软提供的一个公有云平台. 市场占有率一般, 目前处于上升期.
  • GCP: Google cloud paltform: 谷歌提供的云平台, 占有率还行, 也是处于上升期.
  • 阿里云: 阿里提供的云平台, 在国内市场很强势. 处于No.1地位, 在国际上占有率一般, 处于上升期.
  • 腾讯云: 腾讯提供的云平台, 国内占有率还行, 价格便宜, 目前正在大片的抢占市场.
  • 京东云 \\ 金山云 \\ 时速云 : 占有率比较低. 处于下层梯队.

1.5 云的三种服务

那么我<们再来了解一下PaaS SaaS IaaS

IaaS

Infrastructure as a Service: 基础设施即服务, 是指把IT基础设施作为服务提供

  • VPS:virtual private server
  • 网络带宽
  • VPC:virtual private cloud(大公有云内的小私有云,就是一个云上的私有内网)

PaaS

Platform as a Service : 平台即服务.是指将平台作为一种服务对外提供. 那么我们要学习的云平台, 就是一种PaaS服务. 其他还有如

  • 腾讯地图开发平台
  • 小程序开发平台
  • 分布式文件存储平台
  • 分布式缓存服务平台

SaaS

Software as a Service: 软件即服务, 是指将软件作为一种服务对外提供.

  • 云上数据库
  • 云上NoSQL
  • 云上消息队列
  • 域名服务
  • DNS服务

那么我们理解, 阿里云是一个PaaS平台, 提供IaaSSaaS服务.

AWS 常见服务简介[了解]

AWS(Amazon web service) - 亚马逊公司旗下云计算服务平台,为全世界各个国家和地区的客户提供一整套基础设施和云解决方案。AWS面向用户提供包括弹性计算存储数据库物联网在内的一整套云计算服务,帮助企业降低IT投入和维护成本,轻松上云。

通俗的说,就是:AWS是亚马逊公司提供的一款 公有云计算平台,提供:IaaSPaaSSaaS的各项服务,帮助企业快速构建业务。

我们来看一下,AWS之上常见的服务

IaaS层服务

弹性计算-EC2 (VPS、云上虚拟机)

EC2(Elastic cloud compute),弹性云计算,是AWS提供的一款IaaS层的服务,其本质是提供的一系列的云上虚拟服务器的解决方案。

Amazon EC2 提供以下功能:

  • 虚拟计算环境(虚拟服务器),也称为实例
  • 实例的预配置模板,也称为 Amazon 系统映像 (AMI),其中包含您的服务器需要的程序包(包括操作系统和其他软件)。
  • 实例 CPU、内存、存储和网络容量的多种配置,也称为实例类型
  • 使用密钥对的实例的安全登录信息(AWS 存储公有密钥,您在安全位置存储私有密钥)
  • 临时数据(停止或终止实例时会删除这些数据)的存储卷,也称为实例存储卷
  • 使用 Amazon Elastic Block Store (Amazon EBS) 的数据的持久性存储卷,也称为 Amazon EBS 卷
  • 用于存储资源的多个物理位置,例如实例和 Amazon EBS 卷,也称为区域可用区
  • 防火墙,让您可以指定协议、端口,以及能够使用安全组到达您的实例的源 IP 范围
  • 用于动态云计算的静态 IPv4 地址,称为弹性 IP 地址
  • 元数据,也称为标签,您可以创建元数据并分配给您的 Amazon EC2 资源
  • 您可以创建的虚拟网络,这些网络与其余 AWS 云在逻辑上隔离,并且您可以选择连接到您自己的网络,也称为 Virtual Private Cloud (VPC)

EC2的计费类型

EC2在计费上有3中类型的实例可选:

按需实例

按照小时计费,根据使用时间的多少进行付费。

优点:

  • 随用随开
  • 不用随时删除

缺点:

  • 最贵的使用方式

预留实例

预留实例就是预购买的实例。

可以按照1年、3年、5年的时长一次性购买对应时间的服务器使用权。

优点:

  • 价格便宜有折扣

缺点:

  • 使用方式不够灵活

Spot实例

Spot是指竞价实例。

在AWS中会有一堆实例的资源池,这些资源池里面的实例价格是浮动的。

你可以购买这些实例按照按需的方式使用付费。并在购买的时候给定你所能接受的最高出价。

如果浮动价格超过了你所能给的最高价格,这些实例将会被AWS回收。如果在你给定的最高出价内,你可以一直持有这些实例。

优点:

  • 价格最便宜的方式

确定:

  • 不稳定,适合在大规模计算集群任务的时候进行购买。

    比如,要计算一个很大规模的Spark任务,可以购买一批Spot实例使用。

    用便宜的价格得到想要的算力。就算因出价限制被回收,只要不超过一定数量不影响整个任务的继续执行。

    你可以配置Spot和正常服务器的比例来确保哪怕Spot被全部回收也不影响业务。

简单来说,EC2就是AWS上的虚拟机服务器,根据你的需要去购买使用。

VPC - Virtual Private Cloud(虚拟私有云、虚拟局域网)

Amazon Virtual Private Cloud (Amazon VPC) 允许您在已定义的虚拟网络内启动 AWS 资源。这个虚拟网络与您在数据中心中运行的传统网络极其相似,并会为您提供使用 AWS 的可扩展基础设施的优势。

通俗来说,就是在AWS云平台内,为你创建一个虚拟的局域网环境,你的所有AWS资源均可定义在这个VPC内,从而实现和其它资源的隔离,以及实现VPC内高速网络带宽的访问。

简单来说,VPC就是云上的私有内网。你可以创建一个虚拟内网,将你所需的服务放入这个虚拟内网(局域网)内。让服务之间均是内网访问的状态。

AWS Direct Connect

Direct Connect是一款专线服务,可以提供 直通AWS云的专线服务。

日常和云服务的通讯是走公网的,日常开发没有影响,不过如果有大量本地内容要和云服务进行通讯,那么传输效率就会受到公网带宽的限制。

Direct Connect就可以帮助公司摆脱这种限制,享受直达云服务的服务。

简单来说,这个服务就是拉专线到AWS数据中心。

让你可以直连到你在云上的服务。

PaaS层服务

S3 - Amazon Simple Storage Service

S3 是一种面向 Internet 的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以使用 AWS 管理控制台简单而直观的 web 界面来完成这些任务。

通俗的说,S3就是AWS提供的一款 分布式的对象存储服务。可以认为S3是AWS云上的HDFS。

我们可以将其当做是一个云上的私有网盘存储。

可以帮助我们存储公司内的业务数据,并支持各种编程语言对其进行开发

简单来说,就是云上的HDFS、或者网盘。

可以存储数据,同时S3支持编程开发,可以使用许多编程语言操作S3.

AWS Deep Learning AMI

AWS Deep Learning AMI 可以为机器学习专业人员和研究人员提供基础设施和各种工具,从而加速云中任意规模的深度学习进程。您可以在 Amazon Linux 或 Ubuntu(预先安装了流行的深度学习框架)上快速启动 Amazon EC2 实例。框架示例包括 Apache MXNet 和 Gluon、TensorFlow、Microsoft Cognitive Toolkit (CNTK)、Caffe、Caffe2、Theano、Torch 和 Keras。您可以使用这些框架训练复杂的自定义 AI 模型、试验新算法或学习新技能和技术。

Cloud Watch - 云监控平台

AWS Cloud Watch 是一个统一的指标收集、监控、报警等功能一体的监控处理平台。

全部AWS服务均可无缝对接CloudWatch(系统内置功能),所有服务均可从CloudWatch上进行指标查看、报警配置等。

对于自定义需求,CloudWatch也支持SDK进行定制开发。

简单的说,它就是云上的zabbix,所有的aws服务可以自动发送关键指标到CloudWatch内。

然后你可以在CloudWatch内查看这些指标,并绘制成图表。

Cloud Watch Log - 云日志平台

CloudWatchLog是AWS提供的统一日志收集处理平台,所有的AWS服务均内置将重要日志写入CloudWatchLog进行集中存储的功能。

同时你可以通过SDK来管理自定义的日志。

SaaS层服务

在SaaS层面,AWS提供的服务就非常的多了。

从软件开发的全周期、到业务部署的全流程,从数据处理的管道工具、到分析处理的各种框架

等等,AWS提供了各种各样的软件工具服务,来帮助企业完成业务架构。

RDS - 云上关系型数据库

RDS全称:Amazon Relational Database Service

是一种 Web 服务,可让用户更轻松地在云中设置、操作和扩展关系数据库。

同时,RDS也是一款Server Less(无服务器化、全托管)的服务,也就是,不需要准备服务器,只需要鼠标点击几下即可在云上得到一款可用的数据库。

用户只需要通过网络连接到数据库就可开展业务开发和应用。

同时,关于数据库的维护、高可用、异常处理等均无需用户管理,这些交由AWS进行管理

简单来说就是在云上创建关系型数据库,然后通过网络连接使用。

DynamoDB - 云上的KV型NoSQL数据库

DynamoDB是AWS提供的一款KV型、列式存储的NoSQL数据库。

它也是一款Server Less的服务,用户只需要通过web页面简单的配置,即可得到一款可用的DynamoDB数据库。

通过网络连接到DynamoDB之上,即可进行业务的开发和构建。

DynamoDB 的架构和HBase有一定的相识度,它继续分区键来确定数据分区,基于排序键来确定数据排序

同时支持二级索引,可以为一个DynamoDB表增加最多5个二级索引来加速检索。

RedShift - 云上的数据仓库服务

Amazon Redshift 是一种快速、完全托管的 PB 级数据仓库服务,它使得用现有商业智能工具对您的所有数据进行高效分析变得简单而实惠。它为从几百 GB 到 1PB 或更大的数据集而优化,且每年每 TB 花费不到 1 000 USD,为最传统数据仓库存储解决方案成本的十分之一。

Redshift是AWS提供的一款:快速、大容量、分布式、完全托管(非Server Less)的PB级数据仓库服务。

Redshift底层基于Postgresql而构造,可以认为是一款分布式的Postgresql数据库,并且Redshift为数仓应用进行了单独的优化,完全适合作为公司内的PB级的大型数仓来使用。

同时,在市面上,Redshift很受欢迎,许多数仓的生态都加入了Redshift的支持,比如常见的BI领域,许多BI工具都可以直接对Redshift进行BI分析。如:Tableau、PowerBI等。

Redshift将是我们课程的一个重点,在后面我们会详细的去学习Redshift的相关内容。

AWS Glue - 云上的ETl工具

Glue是AWS提供的一款ETl工具,可以帮助企业快速构建ETL应用。

AWS Glue 包括:

  • AWS Glue Data Catalog 的中央数据存储库(元数据管理)
  • 自动生成 Python、Scala 代码的 ETL 引擎
  • 可处理依赖关系解析、任务监控和重试的灵活的计划程序。
  • 全自动构建Spark集群来运行ETL代码
  • AWS Glue 是一项Server Less服务,因此无需设置或管理基础设施。

AWS Glue 同样是本次课程的重点,我们将在后面详细学习。

EMR - AWS提供的Hadoop平台

EMR 是AWS提供的Hadoop平台,可以帮助我们一键构建Hadoop集群,并自动提交Spark、MR等计算任务。

我们可以控制EMR实现:

  • 集群模式:EMR可以一键自动创建好可用的Hadoop集群,集群内的组建可自由选择
  • 步骤模式:EMR可以一键自动构建好可用的Hadoop计算集群,并自动执行我们提交的计算JOB,并在计算完成后,自动删除集群来节省成本。

Kinesis - 云上的实时计算和消息队列

Kinesis是AWS提供的一款完全托管的实时计算服务,同时也可以作为消息队列进行使用。

AWS上的服务有很多,我们就不一一介绍了,感兴趣的同学可参考AWS官网(中国):https://www.amazonaws.cn

AWS中国区域账户目前只允许公司注册,个人注册可以去:https://aws.amazon.com ,注册全球账户。(全球账户需国际信用卡才能注册)

AWS (全球账户)长期有12月免费体验套餐,个人体验和学习基本够用。

总结

如图,AWS提供了很多的服务,无论是传统的企业开发或者大数据开发或者机器学习平台等等,均能得到良好的支持。

常见的大数据架构可以:

  • 基于Glue,SQS,Kinesis等服务完成数据管道的建设
  • 基于S3完成中心存储
  • 基于EMR、Athena完成海量数据的分析和计算
  • 基于DynamoDB提供KV型的NoSQL、缓存系统
  • 基于Kinesis完成流式数据的计算
  • 基于RDS提供关系型数据库
  • 基于Redshift提供PB级别的数仓
  • 基于Lambda、API Gateway 快速构建RESTFun API
  • 基于QuickSight构建商业BI系统(中国区未上线,全球区账户提供)
  • 等等

一系列的服务,满足了我们在大数据领域各种各样的需求,并提高了企业开发效率。

以上是关于从概念入手,了解AWS在IaasPaas,Saas层的服务的主要内容,如果未能解决你的问题,请参考以下文章

看不懂IaaSPaaS和SaaS?一个来自吃货的解读,保准你懂

IaaSPaaS 和 SaaS:云服务模型概述

IAASPAAS与SAAS

云计算IaaSPaaS和SaaS

云计算的三种服务模式IaaSPaaS和SaaS的差别

isss paas saas区别?