码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Bond随你温故Azure Architecture】之HA&DR篇


    上次复盘数据保护策略还是在《数据需要找回怎么办?我们如何选择正确的恢复/退回方式?》探讨了在application&DB层面上,不同level的数据保护有不同策略。而它也恰好是今天HA&DR版图的一角(RDBMS部分),同时今天在cloud上同样会根据不同level的资源进行相应的保护策略复盘。

    开篇灵魂6问:(亚运期间,摸着胸口的国旗,沉思片刻)

    1. HA 与 DR 在Azure里是如何实现的,它们在架构版图中的哪个位置?

    2. 你的场景里具体是哪部分需要HA or DR?

    3. Geo,Region,AZ,DC 真的分清楚了吗?

    4. 众多资源中,最需要被保护的对象是什么?

    5. Azure中如何衡量HA与DR的指标?

    6. 如果是Aliyun或者AWS,在HA或者DR的特性上,它们类似吗?

    众所周知,Azure能提供的数据完整性与安全性功能,与通常各种cloud产品白皮书所提到的一样,连邻居的叔叔阿姨都能说上一二,这里不再赘述。

    但是作为工程师需要知道,Azure之所以能提供数据高可用与灾难恢复的能力,不仅是因为产品自身架构的“可靠性 Reliability”,同时需要管理员进行“弹性 Resilience”逻辑的设计与实施。

    有时候过多的言语不如一张图来地直观:

    ps:家里小娃评价这张图颜色还不错,如果能加上一只可爱的🐤就好了,所以满足一下:)

    1. DR一般指的是跨Region (几百公里)的灾难恢复,实际上是尽可能远。  
       Region内会有多个AZ,通常是做HA (也可以是Availability Set),AZ之间延迟小于2ms
       注意:两region三个AZ 并非传统说法的“两地三中心”,原因是“三中心”里的只有一个DC是处于不同的地域(或者城市)。切勿套用!(见图左上部分)

    2. 业务场景中最需要保护的是stateful的对象,即用户DB数据,其余stateless的资源大多都可重建或者一次性部署(见图右上部分)
    3. Azure已经做好了Region Pair (见图左上部分)
    4. 确认DR为目的之后,再看需要被保护的是IAAS 还是 PAAS,有多个层级 (见图右上部分)
    5. 常规可选策略:(见图右上部分)
        a. 重建Infra ARM, IaC.  但是不包括上层服务
        b. 逻辑或者物理备份定期转移(费时费力)
        c. replication 针对data。 例如MSSQL的跨region的always on.  AzureSiteRecovery
           stoageaccount也是可以被自动同步到不同region的 (见图左下部分)
    6. Azure有小部分服务并不是仅部署再一个region内的,称作Global服务。通常这类服务已经具备DR能力. 例如Azure AD,CDN,AzureFrontDoor(七层用于负载多个不同地区网络流量的LB),TrafficManager(基于DNS的LB)

    7. 针对不同服务的DR方式 从上至下,金额成本递减;同时RPO/RTO指标也递减. 所以使用DB原生的PaaS服务进行保护指标最好 (见图右上部分)
        a.APP层内的数据, 利用app本身具备的DR,例如MSSQL alwayson, 主读写节点,向从只读节点同步或者异步复制,异地通常都是async方式。 (除了存储,网络费用,还需要计算资源)
        b.OS内的站点 可以利用siterecover(ASR)服务  (至少需要存储,网络费用)
        c.resource层
            storage account利用GRS服务(GeoredundantService);
            AzureBackup中的CRR(CrossRegionRestore)将主region的数据进行备份并发送至辅助region (至少需要存储,网络费用)
            重建Infra ARM, IaC (灾难发生前几乎没有辅助站点资源消耗)

    8. 重要的HA,DR指标 (见图右下部分)

    9. 方案规模从小到大:(前三为HA,第四位DR)
        当使用single VM时,针对disk,可以选择Premium SSD (SLA 99.9%)来提高SLA指标,因为数据是默认被存储为3份的; Standard SSD (SLA 99.5%); Standard HDD (SLA 95%)
        当使用Datacenter时,某一个机架坏掉,导致多台server不可用. 可以将VM放在Availability Set中,这样Azure会将他们放进不同Azure Fault Domain的机架上 (SLA 99.95%)
        当一个Datacenter坏掉,一般是电源或者网络导致。可以放在不同的AZ上 (SLA 99.99%)
        整个Region因为天灾(洪水或者地震)变得不可用,需要启用DR。 例如ASR

    10. 如果是Aliyun,也是大同小异。它同样有Region的布局,通过CEN去连接不同的VPC实现跨区域通信,在应用与DB层面也会利用主从复制,读写分离,前面LB分流+DNS,后端ESS+OSS的方式实现各种HA或者DR的需求。后面打算更新一期“Transform Your Azure Knowledge to Aliyun”。

    今天没有白话,言语见拙,若影响了阅读或者未能详尽之处,还请见谅,可参考官方文档,例如且不限于下面:

    What are Azure availability zones? | Microsoft LearnLearn about availability zones and how they work to help you achieve reliabilityicon-default.png?t=N7T8https://learn.microsoft.com/en-us/azure/reliability/availability-zones-overview?tabs=azure-cli

    Azure cross-region replication | Microsoft LearnLearn about Azure cross-region replicationicon-default.png?t=N7T8https://learn.microsoft.com/en-us/azure/reliability/cross-region-replication-azure#azure-paired-regionsData redundancy - Azure Storage | Microsoft LarnUnderstand data redundancy in Azure Storage. Data in your Microsoft Azure Storage account is replicated for durability and high availability.icon-default.png?t=N7T8https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy

    后记:HA或者DR的思想是伟大的,但是若生活里在同城有HA或者大洋的彼岸还有一个DR的肯定是不对的哦:)

  • 相关阅读:
    博科交换机使用
    31、成语大全API接口,免费好用
    基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章
    Docker 笔记(二)--镜像
    LeetCode 121:买卖股票的最佳时机
    自然语言处理 Paddle NLP - 开放域对话系统-理论
    [Python从零到壹] 四十九.图像增强及运算篇之顶帽运算和底帽运算
    第4章,在 PyCharm 中创建、打开、关闭项目的操作
    这是一篇用python画3D爱心的代码
    1041 考试座位号 (分数 15)【C++】
  • 原文地址:https://blog.csdn.net/cainiaofly/article/details/133671772
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号