阿里云基本概念与基础架构 #yyds干货盘点#

Posted 江晓龙的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云基本概念与基础架构 #yyds干货盘点#相关的知识,希望对你有一定的参考价值。

阿里云基本概念与基础架构

@[TOC]

1.云的基本介绍

1.1.什么是云平台

云是一种思想,是按需付费的模式,这种模式提供了计算、存储、网络等资源,这些资源能够被快速提供。

如下图:云需要依托于虚拟化技术才可以实现,由一组高配置的多个机器通过虚拟化技术形成一个逻辑上的资源池,这个资源池所提供的资源是海量的,用户是无法感知到资源池中到底有多少资源,当用户有需求需要使用虚拟机时,就可以从资源池中创建所需配置的虚拟机,虚拟机的具体配置就需要按需付费了,不同的配置有不同的付费标准。

用户可以在资源池中创建所支持的主机类型,根据所需配置进行付费即可。

付费标准有两种:

  • 包年包月:不管你用产生多么大的开销,一年或者一个月就是规定的价格,即使用超了或者没有达到目标值,都不做价格的调整。
  • 按需付费:好比是手机流量,产生多少就付多少钱,不够使用的时候再自行购买。

简而言之云就是依靠虚拟化技术创建出的虚拟化平台,不过底层虚拟化平台是厂商负责管理,用户只需要根据自己的需求再云平台购买产品并使用的一种思想。

1.2.云平台的分类

1)公有云

公有云也公共的云,公有云相当于某些厂商提供的服务,任何人都可以在公有云中进行使用,常见的公有云有阿里云和腾讯云。

公有云用户只具备按需付费和使用权,不具有整个云平台的管理权,也就是说用户只需要放心使用这个平台即可,产生的一切底层系统问题都由专门的云平台工程师负责处理。

公有云也有一定的劣势,用户是不具备公有云的管理权的,如果我们在公有云中运行的业务是本公司核心业务,云平台的工程师是有权限看到我们购买云主机中运行的业务的,就会造成数据的不安全,虽然在合同中会说明不会去查看主机中的程序,但是linux系统一切皆文件,工程师只要想看运行了什么程序以及文件的内容,都是分分钟的事情,即使他们看到了文件内容,用户也是不知道的,因此数据不安全就是公有云平台的一个劣势。

在之前熊猫TV就使用的是公有云(阿里云),熊猫TV相当于阿里云的用户,但是阿里云投资了斗鱼,这两家是竞争对手,阿里云工程师完全可以看到熊猫TV的数据,转手就可以告诉斗鱼,这对熊猫TV来说是非常不安全的手段,因此熊猫TV迅速就将主机迁移到了腾讯云。

2)私有云

私有云就是个人的云平台,是公司自己的机房、自己搭建、自己为负管理的云平台,所有的服务器、文件只对本公司开放,在一定程度上做到了数据的安全性。

私有云平台也有一定的局限性,相较于公有云,公有云中的资源是海量的,但是私有云中的资源都是固定的,如果某天业务量突飞猛涨,资源不够用了,私有云的环境,还需要工程师将新的服务器上架、装系统、加入到云平台,过程是非常复杂的,很可能需要一天的时间,而公有云的资源都是海量的,当资源不够用时,直接再购买一台云主机即可。

另外维护私有云对于工程师的要求是比较高的,整个机房的网络、服务器各方面都需要管理和维护,如果机房产生故障也会影响我们运行的业务,如果技术手段达不到,还是建议使用公有云。

私有云技术有很多种,包括OpenStack、Docker、Kubernetes,私有云也是将多台性能较高的物理机,通过这些技术手段,逻辑组成一个庞大资源池,根据业务的需要,按需进行创建,使用对应的资源。

私有云平台的好处是数据安全,劣势就是需要自己维护和管理、成本较高、无法快速扩张节点。

私有云与传统物理机房的区别:

  • 私有云是将多台机器逻辑捆绑在一起,组成庞当的资源池,在资源池中创建对应的虚拟机提供业务
  • 传统机房就是将物理机托管在机房,然后在物理机中部署业务系统。

3)混合云

混合云也是大多数公司最常用的云平台。

所谓混合云就是即使用了公有云也使用了私有云,一般主营业务放在私有云平台,当有临时需求私有云无法支撑时使用公有云平台,按需使用按需付费,待结束后释放资源,保证业务稳定性的同时,也可以节省一定的成本。

混合云常见的应用场景:

  1. 公司正常的运行应用系统,临时要上线几十万用户,资源可能不够使用,但是这几十万用户只是在这一个月内使用,下个月将不再使用,这时就可以借助云平台来快速扩展业务,使用完毕后再释放资源。
  2. 重要的业务、核心的业务在私有云平台运行,像官方等这些数据不敏感的业务可以托管在公有云平台运行。

1.3.为什么使用云平台

  • 海量资源池灵活调配

    • 云平台资源池的容量是我们无法想象的,底层可能会有几十万台物理机在提供服务,无尽头。
  • 无处不在的发网络访问

    • 只要在有网络的地区就可以随时随地访问云资源。
  • 随需应变的自助服务

    • 包年包月、按需付费,只要钱到位各种资源都可以随取随用。
  • 保证服务的高可用性

    • 如果云平台提供的物理机出现了故障,会迅速将该物理机中提供的虚拟机服务迁移到正常的节点上,保证服务高可用,云平台主机出现故障工程师解决后,会发生邮件通知。
  • 能实现快速弹性伸缩

    • 快速扩展主机、快速缩减主机、自愈(当有一个云主机故障,可以将其删除,然后根据算法会自动创建一个一模一样的云主机)。

2.阿里云基础架构

2.1.云平台有那些厂商

主流的有阿里云、腾讯云、华为云、Ucloud、青云、AWS、京东云、滴滴云。

其中AWS云的使用方法与其他云平台不同,使用方式比较反,不过功能方面基本一致。

京东云和滴滴云的的诞生主要是因为自己公司服务器太多,而资源使用量并没有那么大,空闲的机器也会造成资源浪费,从而开始搭建云平台,将资源提供成服务给用户使用,当自己公司的流量增高时,比如京东的双十一,这时京东云就会从用户这里收取资源,比如用户购买了京东云128G内存的服务器,如果内存没有使用这么高,京东云会自动回收,对于用户而言是无感知的,回收后的资源充当自家服务器的资源,支撑业务系统。

2.2.阿里云产品对应的技术栈

云产品 技术栈
物理服务器 阿里云平台
服务器 ECS、快照、镜像
负载均衡 SLB
数据库 RDS
存储服务 NAS、OSS
防火墙 安全组、高防IP、WAF
远程访问 VPN、Jumpserver。OpenVPN
消息队列 MQ

2.3.应用程序部署在阿里云环境的架构图

图中黑线表示程序之间的调用,红线表示用户访问程序的流程。

程序层面:

DNS解析域名后,请求首先达到CDN加速器,CDN会提前会将一些程序的静态页面进行缓存,CDN会部署在用户最近的边缘网络,提高网站的访问速度,紧接着,CDN加速器会将请求发送至WEB集群的负载均衡器,也就是SLB,阿里云中的负载均衡器统称为SLB,SLB会将请求随机分发到不同的WEB节点,阿里云中的每一台虚拟机都是ECS,提供应用服务,程序的一些数据都会从redis集群中读取,如果redis缓存数据库中没有该数据,redis会从mysql中读取,MySQL在阿里云中称为RDS,RDS是非常稳定的数据库产品,WEB应用程序产生的数据都会存储在RDS服务中,程序产生的文件会存储在NAS存储也就是我们常见的NFS服务,或者选择存储在OSS中,OSS是对象存储,OSS中的每一个文件都会有单独的域名访问地址,最后还会使用一个ESS服务,ESS是弹性伸缩监控服务,负责监控所有服务的使用状态,判断是否需要扩容。

网站的图片大多数公司都会选择存储在OSS中,OSS中的每一个文件都有域名访问地址,只需要将图片的路径嵌入在前端页面中,阿里云各产品之间都可以通过内网进行互通,不产生额外带宽,也可以提高网站静态资源的加载速度。

用户层面:

用户请求先到达DNS,域名解析后,请求被转发到网站的CDN加速器,由CDN加速器将请求转发到网站的SLB负载均衡器上,或者由CDN从OSS对象存储中获取网站的静态页面,请求到达SLB之后,将请求转发给WEB集群中,要写入数据时,程序就会去连接RDS数据库服务,当浏览数据时,程序就会调用Redis获取数据,如果Redis中没有要查询的数据,就会从RDS中获取,最后将上传的文件存储在NAS或者OSS中。

以上是关于阿里云基本概念与基础架构 #yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章

微服务架构 | 1. 微服务相关基础知识 #yyds干货盘点#

#yyds干货盘点#算法学习的基本概念

#yyds干货盘点# Kubernetes 是如何搞定“不可变基础设施”的?(04)

#yyds干货盘点#HBase 基础及核心架构解析

#yyds干货盘点#kubernetes入门基础-Ingress的概念与使用

#yyds干货盘点#kubernetes入门基础-Service的概念以及相关操作