回顾AWS的10年划分

γ γ 意见(

在AWS,我们不纪念很多周年纪念日。但每年3月14日到来时,这是一个很好的提醒,亚马逊S3最初在Pi日推出,,3月14日,二千零六。亚马逊S3团队仍然用自制馅饼庆祝!!

3月26日,二千零八没有任何与之相关的美味甜点,但那是我们发射的那一天可用区域对于亚马逊EC2。改变基础设施架构的概念现在是AWS和客户可靠性和操作的核心。。

为组成AWS云的虚拟实例和其他资源提供动力的是真正的物理数据中心,其中包含AWS服务器。每个数据中心都是高度可靠的,并且有多余的权力,包括UPS和发电机。即使每个数据中心的网络设计都是大量冗余的,中断仍然可能发生。。

可用性区域围绕这些中断的范围和大小划清界限。不允许两个区域共享低级核心依赖关系,如电源或核心网。不同的区域甚至不能在同一建筑中,虽然有时它们足够大,一个区域可以跨越几个建筑物。。

我们在美国东部推出了三个自主可用区(N.弗吉尼亚州)。通过使用区域,以及故障转移机制,例如弹性IP地址和弹性负载平衡,你可以为你的基础设施提供冗余。当两个实例位于不同区域时,一个人受到低级别的干扰,另一个实例应该不受影响。。

多年来可用性区域发生了怎样的变化

可用区最初设计用于物理冗余,但随着时间的推移,它们已经被重新用于越来越多的目的。区域影响我们的建设方式,部署,并操作软件,以及我们如何在我们最大的系统之间实施安全控制。。

例如,现在构建了许多AWS服务,以便尽可能多的功能在可用区内自治。用于启动和管理EC2实例的调用,故障转移RDS实例,或处理负载平衡器后面的实例的健康,所有工作都在一个区域内。。

这种设计有双重好处。第一,如果可用区确实断电或连接,其余的区域不受影响。第二个好处是更强大:如果软件出错,影响其他区域的错误风险最小化。。

当我们部署新版本的软件时,我们可以最大化这个好处,或运营变更,例如配置编辑,因为我们经常逐区进行,一个区域中的一个区域。虽然我们自动化,并且不要手动管理实例,我们的开必威体育精装版app官网发人员和操作员知道不要构建可能影响多个可用性区域的工具或过程。我打赌每个新的AWS工程师都会在第一周内知道,如果不是第一天,我们不想一次接触多个区域。。

可用性区域在我们的AWS开发和运营文化中运行得很深,必威体育精装版app官网在每个级别。AWS客户可以考虑区域冗余,“使用两个或更多可用区来提高可靠性。“在AWS,我们认为区域是隔离,“停留在可用区域内,尽可能多。““

筒仓您的交通与否 - 您选择

当您的架构尽可能地保留在可用区内时,有更多的好处。一个是区域内的延迟非常快。今天,在同一区域中的EC2实例之间的数据包仅花费几十微秒到达其他实例。。

另一个好处是冗余的区域架构更容易从复杂问题和紧急行为中恢复。如果一个服务的不同层之间的所有调用都停留在一个可用区域内,然后,当问题发生时,可以通过从服务中删除整个区域来快速修复它们,不需要识别触发器的层或组件。。

你们很多人也用这种“筒仓你自己的架构中的模式,其中可以使用Amazon路由53或弹性负载平衡来选择可用性区域来处理请求,但也可用于在同一区域内保留后续内部请求和依赖项。这只是有意义的,因为AWS级别的区域之间存在强大的边界和分隔。。

区域隔离

在启动可用区域之后不久,我们还启动了我们的第二个区域,欧盟(爱尔兰)。在设计初期,我们考虑运营一个无缝的全球网络,在每个区域之间的实例之间的开放连接。像S3这样的服务将表现为“一大S3,“密钥和数据可从任一位置访问和更改。。

我们越是想通过这个设计,我们越是意识到区域之间存在问题和错误传播的风险,可能导致大规模的中断,从而破坏我们最重要的目标:

  • 提供最高级别的可用性
  • 允许区域充当彼此的备用站点
  • 为终端用户提供地理多样性和更低的延迟

我们利用可用性区域的好处的经验意味着,相反,我们在划分上加倍,并决定用最严格的界限将地区隔离开来。从那时起,直到今天,我们的服务在每个地区自主运营,完整堆栈的S3,DynamoDB,亚马逊RDS其他一切。。

许多人仍然希望能够运行工作负载并在全球范围内访问数据。对于我们的边缘服务,如Amazon CurrdFrand,亚马逊53号线,和AWS LAMBDA @ EDGE,我们运营超过100点的存在。每一个都是它自己的可用区域,并且有自己的分区。。

当我们开发和必威体育精装版app官网运送跨越区域的服务时,例如S3跨区域对象复制,Amazon DynamoDB全局表,和亚马逊VPC区域间对等,我们非常小心地确保区域之间的依赖项和调用模式是异步的,并且使用防止错误传播的高级安全机制进行环形保护。。

加倍分割,再一次

随着AWS的显着增长,即使我们最小的可用性区域也能为多少客户提供服务,这令人感到羞愧。现在有一段时间了,我们的许多服务都在运行服务堆栈,即使在区域内也是如此。。

例如,,AWS超平面-服务NAT网关的内部服务,网络负载平衡器,AWS PrivateLink-在内部细分为单元格,每个单元格处理一组不同的客户。如果单元格有任何问题,影响不仅限于可用区,但是对于该区域内的一部分客户。当然,各种各样的自动化立即投入使用,以减轻对甚至那个子集的任何影响。。

发射可用区十年后,我们感到兴奋的是,我们仍然坚持不懈地减少潜在问题的影响。我们坚信这是实现安全性和可用性的最高目标的最重要的策略之一。我们现在有54个可用区,跨越18个地理区域,我们已经宣布了另外12项计划。超越地理增长,我们将扩展可用区域越来越深的分区概念,比以往任何时候都更有效。。

评论

博客评论迪斯科