【关键概念】

IaaS(Infrastructure as a Service):即“基础设施即服务”,一般指云计算所提供的计算、存储、网络等基本底层能力。是基于软件技术对物理硬件进行的封装和虚拟。

区域(Region):云计算的顶层概念,云服务以区域为单位对外开放。在云计算行业中,区域对应的则是云计算厂商在某个地理位置提供的所有云服务的组合,是厂商对外提供云服务的基本单位和容器。一般以国家或地区命名,也经常辅以城市和序号予以区分。比如,阿里云的华北 1 区(青岛)、华北 2 区(北京),以及 AWS 的美国西部 1 区(加利福尼亚北部)、美国西部 2 区(俄勒冈州)等。

可用区(Availability Zone):可用区是区域的下级概念,是指一个具备完整而独立的电力供应、冷却系统、网络设施的数据中心单元。一个区域通常由多个可用区高速联网组成。区域内的可用区一般位于同一个城市,之间相距在100公里以内。可以理解为一个个“机房”,很多机房组合起来,完成了一整套可用的网络(区域)。这可以解决区域中HA的问题,让各个可用区互备。所以涉及IaaS加购的时候,也可以指定一下可用区。这样区域就可以依靠可用区,做好HA,也可以做好业务扩展~而可用区也是衡量一个区域规模的重要指标,作为我们选择区域的一个参考。

【区域的开设】

开设区域,即要开设这个区域需要的所有服务,包含了云计算服务商在某个地区建立数据中心,安置大量的计算、存储、网络等硬件资源,以及部署虚拟化、服务组件、资源调度等各种复杂软件,最后与外界互联网相连,获得批准对外提供云服务的全过程。所以区域的设立和分布,相当程度地体现了云厂商的业务重点和地区倾向。考虑到经济效益和地理冗余,在典型情况下,云厂商设置的不同区域之间的距离,一般为数百公里或以上,这也对应了单个区域能够辐射和服务的范围。

云厂商在选址时一般会有两种思路:一种是考虑放在人口稠密的中心城市,离用户和商业更近,以提供较快的接入体验;另一种则是在相对偏远的地区,当地往往能够提供良好的气候条件、充足的建设空间,以及较低的电力、带宽等运营维护成本。比如:AWS 在中国开设的两个区域:由光环新网运营的北京区域,位处繁华都市;由宁夏西云运营的宁夏区域则地广人稀。有时这样的搭配被称为“前店后厂”模式。由于每个区域的增加,都会增加对应的设备、资源,复杂性和流量费用也会增加,同时还有维护工作带来负担,所以一定要做好评估在开设新的区域。

【新老区域的比较】

1、新开的区域,通常涉及环境搭建和服务人员的合作磨合,所以真正有效运行起来,需要一点时间,好处是,新开的区域,通常会使用最新一代的硬件和云端服务,资源也会更充沛一些;

2、老的区域,提供的服务会更全面稳定,人员配合也比较默契,有成熟的技术支持,但有时对新特性的部署和落地,可能会因为原有条件的限制而进展得缓慢一些。如果早期规划过于保守,极端情况下还可能出现局部“满服”而无法扩展某类资源的尴尬局面。

【怎么选择区域】

1、考虑地理位置。越靠近最终用户的区域越合适。1是可以提高接入速度,2是如果涉及本地数据中心和云端的接入,那么专线等成本也是根据距离收费的,可以降低成本;

2、考虑区域之间云服务的差异。同一个云,在不同的区域,提供的服务和规模很可能是不同的;

3、考虑成本。同一个服务,在不同区域的价格是不一样的。区域的流量费用,主要分为三类:入站、出站、内部流量。通常,入站流量、内部流量会免费或者区域免费,出站流量会计费;

4、考虑区域规模。如上讲到的可用区多少,就是衡量一个区域规模的重要指标,基于这个我们也可以选择符合需要规模的区域。

 【多区域架构】

可以理解为,为了联合多种需要的服务或者性能考虑,我们一种分布式的架构。要做到这个,首先需要云厂商具有必要的基础能力,如:

1、物理层面:各区域之间有专线,有较高的带宽和较低的延时;

2、软件层面:允许各个区域之间的虚拟网络通过专线互联;

3、DNS解析:通过DNS牵引(通常会使用cname方式),将流量牵引至最近的区域,获得最快的响应速度。

综上,可以看出,骨干网是多区域架构非常重要,也是核心的基础能力。然后我们就可以将不同的区域打造不同的服务,担任不同角色,在多区域架构中,联动配合,达到业务目的。比如,在一个多区域架构中,面向消费差服务的触点,部署到多个区域,便于就近服务;偏向后台数据分析的,则可以安置在性价比较高的非一线城市区域,再通过骨干网回传数据即可。

最新文章

  1. Python之路,day5-Python基础
  2. 如何在ubuntu里面关掉后台的meteor
  3. Sqli-LABS通关笔录-14
  4. 谈谈三层架构中Model的作用
  5. 【转载】两个Web.config中连接字符串中特殊字符解决方案
  6. 五,整型变量的读入——scanf函数
  7. 利用JDBC连接Eclipse和mySQL5.1.26数据库
  8. Session,ViewState用法
  9. phpStudy下安装memcache扩展
  10. MySQL中information_schema数据库的内容
  11. VS 中 无法嵌入互操作类型“……”,请改用适用的接口的解决方法
  12. java 对象的一点小问题
  13. redis简单应用
  14. SpringCloud之初识Hystrix熔断器 ----- 程序的保护机制
  15. 关于K8S证书生成方面的脚本草稿
  16. C++中文件读写的操作
  17. 弹框alertView
  18. BZOJ5020 [THUWC 2017]在美妙的数学王国中畅游LCT
  19. TensorFlow笔记-01-开篇概述
  20. WCF技术

热门文章

  1. Linux基础之用户、组和权限管理
  2. Module理解及使用
  3. vue3 语法糖setup 兄弟组件传值
  4. HACLABS: NO_NAME
  5. Vulhub 漏洞学习之:Docker
  6. .net 中的几种事务
  7. 打印出来的数据{ob: observer}、vue 中 [__ob__: Observer]问题
  8. js控制关闭layui的switch开关
  9. vue3中inject无法获取provide传递的最新的值
  10. No.2.2