基于AWS构建云上数仓第二步:AWS常见服务简介
Posted 黑马程序员官方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于AWS构建云上数仓第二步:AWS常见服务简介相关的知识,希望对你有一定的参考价值。
AWS 常见服务简介[了解]
AWS(Amazon web service) - 亚马逊公司旗下云计算服务平台,为全世界各个国家和地区的客户提供一整套基础设施和云解决方案。AWS面向用户提供包括弹性计算、存储、数据库、物联网在内的一整套云计算服务,帮助企业降低IT投入和维护成本,轻松上云。
通俗的说,就是:AWS是亚马逊公司提供的一款 公有云计算平台,提供:IaaS
、PaaS
、SaaS
的各项服务,帮助企业快速构建业务。
我们来看一下,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构建云上数仓第二步:AWS常见服务简介的主要内容,如果未能解决你的问题,请参考以下文章