
本章节主要内容进行讲解:Azure云计算的核心体系结构组件中的:Azure物理基础设施(Physical infrastructure),区域(Regions)和区域对(Region Pairs)、地理数据中心(Geographies data centers)和可用区(Availability Zone)
本系列已经更新文章列表:
[ 云计算 | Azure ] Chapter 03 | 描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx
[ 云计算 | Azure ] Chapter 04 | Azure核心体系结构组件之数据中心、区域与区域对、可用区和地理区域
文章目录
Azure 数据中心是独特的物理建筑,它遍布全球,容纳了一组联网的计算机服务器。
如果你在 Azure 中购买了某一项服务,无论是 VM,还是数据库 databases 或者其他的任何Azure众多服务中的一个,所有这些服务都运行在物理基础设施下面的某种服务器上,托管这些物理服务器的地方就是数据中心,和数据机房一样,这些地方必然会有店员网络以及制冷系统等。

Azure 拥有自研数据中心也拥有 第三方合作的数据中心,比如:
Auzre 托管在欧洲波澜的 beyond.pl 数据中心,你可以去他们官网(文末最后)介绍,可以提供99.9999%的 SLA,可以说只要不发生战争几乎不会发生数据中心瘫痪的情况

Azure 区域是一组数据中心,部署在延迟定义的范围内,并通过专用的区域低延迟网络连接。
微软在全球有许多不同规模的区域,他们可以小到单个数据中心,也可以包含多个数据中心,单更重要的是,这些数据中心遍布全球
在区域中,需要注意的几点:

Azure 媒体服务只在东亚、东南亚、澳大利亚、欧洲、印度、中东和北美的一些区域提供。Azure 全球服务 (GRS) 和 Azure 冗余存储服务 (RA-GRS) 只在全球部分区域提供,这些区域包括: 东亚、东南亚、澳大利亚、欧洲、印度、中东和北美。Azure 异地冗余存储服务 (GRS) 和 Azure 冗余存储服务 (RA-GRS) 只在全球部分区域提供,这些区域包括:东亚、中国北部、中国东部、欧洲东部和美国东部。
Azure 可用性区域是 Azure 区域内唯一的物理位置,提供高可用性以保护你的应用程序和数据免受数据中心故障的影响。每个区域由一个或多个配备独立电源、冷却和网络的数据中心组成。
区域内可用性区域的物理分离可保护应用程序和数据免受设施级问题的影响。区域冗余服务跨 Azure 可用区复制你的应用程序和数据,以防止出现单点故障。

作为用户,你是无法控制你的产品或者程序部署在 Azure 的哪个数据中的,这也就是创建可用区的一个原因。用来区分可用区一般都是用序号来区分,可用区1、可用区2、可用区3… 这样来区分,每个可用区都有独立的设施,简单来说,可用区的主要目的就是防止数据中心发生故障,因为每个可用区都有自己的电源、冷却和网络基础设施,如果其中的某一个可用区出现故障,比如地震火灾,或者其他什么原因,造成某一个可用区不能使用了,那么其他的另外两个可用区还可以继续工作。
可用性区域主要用于 VM、硬盘、负载均衡器和 SQL 数据库。 支持可用性区域的 Azure 服务分为三类:

在同一地域内,大多数 Azure 区域都会与至少距其 500 公里左右外的另一区域配对。 此方法适用于跨地域复制资源,有助于减少因自然灾害、社会动乱、电力中断或物理网络中断等事件(影响整个区域)造成服务中断的可能性。 例如,如果一个区域对中的某个区域受到自然灾害,则服务会自动故障转移到其区域对中的其他区域。
重要:并不是所有 Azure 服务都会自动复制数据,或自动从故障区域回退以跨区域复制到另一个已启用区域。 在这些情景中,恢复和复制必须由客户配置。

Azure 地理区域是一个离散市场,通常包含至少一个或多个区域,可保留数据驻留和合规边界。地理位置允许具有特定数据驻留和合规性需求的客户保持其数据和应用程序关闭。地理位置具有容错能力,可以通过连接到 Azure 的专用高容量网络基础设施来承受整个区域故障。

https://azure.microsoft.com/en-us/explore/global-infrastructure/
https://www.beyond.pl/en/services/microsoft-cloud/
https://news.microsoft.com/source/features/sustainability/project-natick-underwater-datacenter/
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最
我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
您将如何构建一个简单的Sinatra应用程序?我正在制作,我希望该应用具有以下功能:“应用程序”更像是一个包含所有信息的管理仪表板。然后另一个应用程序将通过REST访问信息。我还没有创建仪表板,只是从数据库中获取东西session和身份验证(尚未实现)您可以上传图片,其他应用可以显示这些图片我已经使用RSpec创建了一个测试文件通过Prawn生成报告目前的设置是这样的:app.rbtest_app.rb因为我实际上只有应用程序和测试文件。到目前为止,我已经将Datamapper用于ORM,将SQLite用于数据库。这是我的第一个Ruby/Sinatra项目,所以欢迎任何和所有建议-我应
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
我知道还有其他相同的问题,但他们没有解决我的问题。我不断收到错误:Aws::Errors::MissingRegionErrorinBooksController#create,缺少区域;使用:region选项或将区域名称导出到ENV['AWS_REGION']。但是,这是我的配置开发.rb:config.paperclip_defaults={storage::s3,s3_host_name:"s3-us-west-2.amazonaws.com",s3_credentials:{bucket:ENV['AWS_BUCKET'],access_key_id:ENV['AWS_ACCE
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in