#MIA# Azure IaaS 系统学习(1)Azure IaaS 概述

Azure IaaS 概述

云计算
Microsoft Azure
Azure 计算
Azure 存储
Azure 网络

云计算

云计算是基于网络的计算,云计算里面的服务器、存储、应用程序是通过网络传到企业计算机设备的,而不是通过LAN。也就是说,企业的数据中心是由第三方公司托管的。服务器和网络等基础设施不再是本地的了,而是由第三方来托管。

公有云
共有云的服务和基础设施都不是本地提供的,全部通过internet进行访问。比如Microsoft Azure
私有云
私有云的服务和基础设施是在私有内网进行维护的。比如Microsoft Azure Stack
混合云
混合云包括公有云和私有云的功能。比如Azure 和Azure Stack

云计算的优点:
便宜:用多少花多少 pay-as-you-go
灵活:资源无限,随意扩展。(如果是本地硬件资源,总是有限的)
减少管理成本:Vendor来管理硬件,这意味着更少的软件管理开销。
在这里插入图片描述
云计算可以应对以上的情况。

云计算服务可以分为三大类: IaaS PaaS SaaS

IaaS可以看作云服务的基础,IaaS由高度自动化和可扩展的计算资源组成。
PaaS提供软件开发和部署的平台。PaaS把与服务器交互的事儿全部简化了,给客户端提供一个运行系统的环境。底下关于硬件服务器和网络基础都不用自己管,这样用户就只有专心进行软件开发和scalability,而不用去管底下的硬件管理。
SaaS是服务器上跑的软件提供一个客户端,让用户可以访问。SaaS是用户最熟悉的一种形式,SaaS把管理和部署软件交给第三方进行管理。比如,最熟悉的SaaS O365.
在这里插入图片描述
Microsoft Azure
Azure 在全球64个地区可用,然后12个地区计划实施。选择地理扩张非常重要,因为这直接关系到终端用户可以reach到近的数据中心,这样由更好的性能

Azure全球由200多万台服务器,每个机架(rack)有大约50台服务器,20台机架(rack)构成一个群集(cluster)(或者称为节点node),一个群集可以视为一个容错隔离单位。
在每台rack里面,50台里面有5台服务器是专门用来给 Fabric Controller(FC)
FC是Azure云运维系统的核心,FC负责处理各种任务:数据中心资源的分配,数据中心资源提供,服务生命周期的管理,服务健康检查管理。
其次,对于这种超大型的基础设施,可以使用Software Defined Networking,layer 2,这个功能的好处在于,可以在联机(on the fly)状态下进行scale。

Microsoft Azure 付费原则:

  1. 用了多少付多少钱
  2. VM付费是按时间 没秒多少钱
  3. 对于已经解除分配(deallocated)或停用的VM,是不收钱的,但是VM相关的存储也是要收费的

但是付费方式还是基于合同协议的,比如EA 和非EA(enterprise agreement)
在Azure 付费里面不需要单独去买服务器的license,比如说,你要用Azure SQL database的某些功能,你不需要单独去买一个SQL的license,因为其实License的费用已经加在Azure 功能里面了。但是,如果你自己有license,你也可以用自己的license。

Azure云计算
Azure云计算有9个服务:虚拟机VM,虚机Scale set,Batch(批处理),云服务,Server Fabric,Kubernets服务,容器实例,Azure 功能,Azure App Service。

*Batch(批处理服务):是在管理程序的控制下,对一批作业自动进行处理而不需要人工干预的一种技术,这种技术旨在提高系统的吞吐量和资源利用率。

IaaS:虚拟机VM,虚机Scale set,Batch(批处理服务)
PaaS:云服务,Server Fabric,Kubernets服务,容器实例,Azure 功能,Azure App Service。

  1. 虚拟机(IaaS)
  • VM在底层是由数据中心的Hyper-V进行托管的,VM也是按需去进行扩展的,如果运行虚拟机的话,就不用去买硬件设备,也不用去维护硬件设备。
  • VM里面包括虚拟磁盘,这个虚拟磁盘在Azure中是以VHD格式的 page blob进行存储的,这些page blob存在Azure存储账户中。
  • VM agents在部署中默认安装的,agent可以视为VM里面一个本地的安全控制服务,这个agent会加载各种拓展功能,用于完善功能,比如杀毒软件阿等等。
  • 如果需要VM和其他设备进行通信,就要部署网络,通过部署endpoint终结点去控制访问权限。
  • 虚机可以用来干嘛? 比如,部署、测试;在云上跑应用;把本地数据上云;灾难恢复。
  1. Azure 虚机扩展集
  • 扩展集是用来部署和管理一系列一样的虚机的。 Scale set用来自动扩展部署VM,而且这个扩展部署不需要预先部署。原来旧版本的VM,必须要先有这个VM才能进行自动扩展部署。但现在新的scale set版本就没有这个限制。
  • Scale set里面集成了负载均衡器和应用网关。如果scale set自动增加了VM数量,相关的负载均衡器就会自动生成,用来确保VM总是能够连接上。Scale set控制入站连接,这样比通过NSG来管理,基于IP地址,控制端口的VM要安全很多。
  • 托管很多VM,一般需要高可用性。高可用是集成在Scale set里面的。当你扩展VM数量时,VM 要保证更新和容错域,和最大可用性。同意,当缩小VM数量时,VM 的移除也是要考虑最大可用性的。(maximum availability)?
  • 在scale set里面进行 OS 镜像的升级时,没有downtime。也就是说,如果你需要更新VM镜像,你不必关闭scale set,你可以直接更新 model,然后就可以手动更新你想更新的VM。
  • 支持Visual studio
  • REST API, powershell, azure CLI
  1. Batch 批处理服务
  • 批处理的核心是用调度高扩展的工作的,类似于一种管理服务。相当于跑一大堆相似的task,然后才能得到想要的结果。例如:软件测试、工程压力分析,或者进入风险模型等等。
  • 从更高级别来看,Batch批处理的功能是用来创建和管理VM池,然后分配工作给VM去跑。
  • Azure Batch可以用Batch API,Batch powershell cmdlets,Azure CLI,.NET来管理通讯。批处理服务允许你的Azure计算资源并行地执行应用。
  1. Azure 云服务(原来叫Aure托管服务)
  • Azure 云服务就像容器一样去存储相关的角色功能。云服务有不同的角色,不同的角色有不同的配置和功能,比如:Web role(IIS),Worker role(Server VM),VM(任何种类的VM)
  • 最后一种云服务的组件时“实例”instance,实例就是在角色里面跑着的一个VM。所以总而言之,在一个角色里面会跑着好几个VM实例或者好几个server,然后角色是存在与container里面的,这个container就叫cloud service。
  • 所以云服务就像workload里面的计算部分。Web 和Worker 角色是属于PaaS,而VM属于IaaS。
  • 所有的角色都可以配置成RDP access
  1. Azure Service Fabric(PaaS)
  • Fabric给软件开发工程师提供一个平台,在平台里面,工程师可以开发一些有微服务组成的应用程序。
  • service fabric由一堆组件组成:VM,操作系统,网络,存储等等。这些都是由微软管理的,但是开发人员也可以看到这些组件。
  • 微服务在2005就存在的概念,并不是啥新概念。微服务是一队小的,又独立的组件,他们之间可以相互通讯,然后一起组成一个大的复杂的应用程序。微服务转变了原来开发软件的逻辑,原来开发软件都是整体开发,里面的组件都是紧密相连的,但是微服务把应用拆分开成小的独立的组件,这些组件就叫微服务。微服务的优点:易于维护和测试。可以在组件级别进行维护和测试,而不是应用级别。
  1. Azure Kubernetes Service
  • 软件开发要区域容器基准的方法,所以协调管理资源就变得至关重要。K8s就是一个平台,这个平台提供可靠的协调安排服务,从而协调应用工作负载的容错能力。
  • AKS 由两个组件构成:cluster master节点提供核心K8s服务,协调应用的工作负载;第二个是节点node,每个节点跑一个应用程序。
  • K8s是由Azure管理的,你只能管理和维护agent node
  • 托管的K8s是免费的,你只需要给agent node付费,cluster master不收钱。
  1. Azure container instance
  • 如果你由完整的容器编制,比如包括多容易的service discovery,自动扩展,应用程序协同升级,就推荐使用AKS。
  • 但是,如果只需要跑一个单独的容器,就推荐用Azure container instance。
  • Container比创建虚机有更多优势,container可以几秒内启动,而不像虚机一样部署管理。
  1. Azure Function
  • Azure 公式,是一种计算资源,它允许你按需跑一段代码,而不需要去部署管理基础设施。Azure 公式可以跑一个脚本或一段代码,比如C#,F#,javascript。
  1. Azure App service
  • Azure应用服务是一个托管的web应用服务。

Azure 存储

Azure存储是一种可扩展,持久的,高可用的云存储方案。自动负载均衡可以根据流量的多少来自动分配存储的大小。也就是说,如果你的应用需求增加没那么Azure 存储就会自动分配合适的资源来满足需求。
Azure 存储全世界可用,有三种存储账户类型可供选择:

  1. General purpose storage account v1

  2. General purpose storage account v2

  3. Blob storage account

  4. General purpose storage account v1
    v1的话,在存储账户里,你可以用table,queue,files,blobs,Azure VM disks。
    v1类型的存储账户里面有两个性能tier:tier1 叫标准存储性能层:标准里面可用用table,queue,files,blob,azure VM disk。tier2叫高级存储性能层:高级里面只支持Azure VM disks
    standard的意思时用 HDD hardware disk进行存储,存储便宜,访问次数少
    premium用SSD存储,延迟小,贵

  5. General purpose storage account v2 (建议都用v2)
    v2 支持v1的所有功能 + 冷热tier

Hot - Optimized for storing data that is accessed frequently.
Cool - Optimized for storing data that is infrequently accessed and stored for at least 30 days.
Archive - Optimized for storing data that is rarely accessed and stored for at least 180 days with flexible latency requirements (on the order of hours).

  1. Blob storage account
    这个账户专门用来存储非结构的数据,比如blob或者对象。
    Blob storage account access tier:冷&热
    热:hot tier表示你的数据会频繁进行访问,hot tier让你每次访问便宜点儿。
    冷:cool tier表示你的数据不会频繁被访问,cool tier 让你存储数据便宜点儿。
    如果你想更换冷热模式,可用随时换。

Azure 存储的类型

Blob storage 用来存储非结构数据,比如文档、视频,.vhd file
有两种blob:1. page blob 专门用来密集读取活动,比如持续读、写活动, VHD
2. block blob 专门用来 传输和存储的,比如SQL backup
table storage 存储结构化的数据集,比如 NoSQL key-atrribute data store
queue storage 是一种可靠的通信系统,messaging system,比如:Azure Service Bus
File storage 向前兼容,之前用标准SMB协议,提供一个共享文件夹功能。(也就是说在Azure上也可以像在本地一样,进行共享文件。
Disk storage 提供VHD disk storage,但不需要管理存储账户的开销。

存储的持久性和高可用
Azure上的存储账户为了满足SLA,克服硬件故障,Azure上的数据就需要总是复制,从而保证持久性和高可用。
一共有四种复制模式:本地冗余存储、区域冗余存储、地理冗余存储、可读地理冗余存储。

  1. 本地冗余存储(LRS):只能用来克服简单的硬件故障,不能克服一个单一facility的整体故障。
  2. 区域冗余存储(ZRS):ZRS有三份复制的数据,在一个区域内,将三份数据放在两个或者三个数据中心,比LRS强,但ZRS也只能保障一个区域内的存储高可用。
  3. 地理冗余存储(GRS):地理冗余存储时默认模式,GRS有六个副本,GRS将其中三个副本存在一个主区域,然后把另外三份存在辅助区域,辅助区域离主区域十万八千里远。看这个怎么转移故障?/???
  4. 可读地理冗余存储(RA-GRS)这个和GRS一样,3+3模式,但是RA-GRS,在辅助区域里面的数据时可读的,也就是说,主或辅区域一个死掉了以后,另一个都可以用。

Azure网络

Azure网络由很多不同的组件组成,
Virtual Network (Vnet)
Virtual Private Network (VPN)
VPN gateway
VNet peering
Load Balancer
ExpressRoute
Network Security Group
Traffic manager
Azure DNS
Application Gateway

除了 VPN和Traffic manager,其他组件都只能在一个网络区域内使用,不能跨区域使用。

VNet代表在云端属于你自己的网络。在所定义的网络地址空间之间时逻辑隔离的。VNet地址空间也时分为公有地址和私有地址的。
在这里插入图片描述
Vnet也还可以分为很多子网,即使VNet被分子网,默认情况下,这些子网都是相通的。

(IKE internt key exchange是IPsec的一部分,用来进行私钥密钥的交换)
(IPsec Internet protocol security,是一系列安全协议,是用来在internet上机密地传输IP packets)
Azure支持四种VPN连接

  1. Site-to-Site IPsec/IKE VPN
    这个连接是连接本地网络和Internet上的Azure虚拟网络
  2. VNet-to-VNet IPsec/IKE VPN
    这个连接是用来连接Azure上的两个虚拟网络(这连个虚拟网络可以位于同一个datacenter,也可以位于不同的datacenter)
  3. Point-to-Site certificate VPN
    是用来连接Windows系统的电脑和Azure Virtual Network,这个VNet没有部署专门的软件,所以这个安全通道得基于证书。没懂这里的区别在哪里?2和3?
  4. ExpressRoute
    Azure数据中心————本地数据中心,用专线连接,贵!ExpressRoute用哈希加密,加密模式是由客户端决定的。

VPN 网关
Azure VPN网关是在网络之间用来发送流量的,比如:从VNet上发数据给本地网络,或者从Vnet发给Vnet。

由六种网关大小:(每种都有自己规定的最大吞吐量和最大VPN tunnels数量)

  1. Basic
  2. standard
  3. high performance
  4. VpnGw1
  5. VpnGw2
  6. VpnGw3
    由两种VPN网关种类:
  7. VPN
  8. ExpressRoute(本地数据中心–连-

-云上数据中心)

VPN网关路由类型是用来确定VPN网关要专门路由两个网络之间的数据流量。
有两种:policy-based / route-based

这块再看看
policy-based 之前叫静态路由网关,基于策略的VPN网关加密数据包,然后基于IPsec策略进行数据包的转发,IPsec策略是基于本地网络和Azure虚拟网络之间的地址前缀而进行配置的。
在这里插入图片描述
基于路由的VPN网关之前叫动态路由网关,用“路由”是因为VPN转发数据包时根据IP转发或者路由表转发,转发发哦相对于的隧道端口。隧道端口进行加密,出隧道进行解密。
在这里插入图片描述

VPN还有连接类型可以选择,VPN网关之间有四种VPN连接方式。
IPSec、VNet2VNet、ExpressRoute、VPNClient
IPSec:IPSec要求公有IPv4地址,IPv4是建立连接的基础。
VNet2VNet:没有要求IPv4地址,但是要基于其他的VNet去进行连接
在这里插入图片描述

这里再看

VNet Peering (通过Azure 主干网建立的,backbone network)
Peering就是把两个处于同一个区域或不同区域的虚拟网络连接。连接了的虚拟网络,里面的虚机可以直接用私有地址进行通信。
Peering也可以连接本地网络到peered虚拟网络。

Peering和VPN啥区别呢?
Peering走内网,VPN走公网。

Azure负载均衡器
负载均衡大概就是用来分配入站流量的。有两种负载均衡器级别可以选择,基础basic和标准standard。标准比基础功能牛逼。

可以在内网入站流量进行负载均衡,这种均衡有好几种方式:可以均衡一个虚拟网络里面的虚机、也可以均衡云服务里面的虚机,也可以均衡本地计算机和跨地区虚拟网络里面的虚机,还可以配置把流量传给外部指定的虚机。

这里再看

Network Security Group NSG
NSG里面有一系列访问控制表,Access Control List,这些规则控制流量从哪些端口能走,哪些不能走。NSG里的访问规则有两种,一种是入站规则,用来控制入站的流量。另一个是出站规则。

Traffic Manager
Traffic manager可以再全球范围内,不同数据中心进行流量分发,这就像一个全球高级版的负载均衡器一样。Traffic manager可以支持Azure VM, Web 应用,cloud service,也可以外部的非Azure的终结点。

Traffic manager通过DNS把终端请求转发到合适的终结点,转发规则基于配置的流量路由方法和当前的终结点健康状态。这样客户端就可以连接到合适的服务终结点了。
一共有6中路由方式可以选择。

  1. Priority 优先级,优先把流量专门转发到这个点,当然这个有优先点有backup
  2. 权重转发
  3. 基于性能转发:比如低延迟、比较近等等
  4. 地理位置转发,哪个近转发给哪个
  5. multivalue 可以得到多个终结点的健康状态值
  6. 子网,利用子网可以把终端用户的一组IP地址映射到制定的终结点。

Traffic manager也提供连续的终结点健康监控,自动检测终结点故障转移,从而确保终结点的高可用性。

Azure DNS
托管服务,提供域名儿解析。
Azure DNS用Anycast网络,目的是为了让每一个DNS询问都能够被最近的可用的DNS server进行答复。 这样可用更快更高可用。

应用网关 Application gateway
应用程序网关是一个web流量负载均衡,让你可用管理流入web应用程序的流量。传统的负载均衡器工作再传输层(TCP/UDP),并且是基于源IP地址进行流量路由到目标IP地址和目标端口。
那么,应用网关基于HTTP请求里的信息来进行流量路由。比如URI path 或者主机头。比如,应用网关可用把图像流量转发到图像server,可以把视频流量转发到视频server。应用网关的路由时在应用层(第七层),路由是基于URL的。

发布了19 篇原创文章 · 获赞 0 · 访问量 1207

猜你喜欢

转载自blog.csdn.net/qq_24550639/article/details/100555749
今日推荐