无论我们是在手机上播放电影、使用机器学习模型分析卫星图像,还是只是寻找晚餐约会对象,我们都希望我们所依赖的技术每次都能完美运行。信息技术 (IT) 越来越成为我们社交生活、工作、学校、医疗保健系统等的核心。正如我们都经历过的那样,当中断发生时,影响可能是痛苦的。对于构建我们使用的数字产品和服务的公司来说,满足我们日益增长的期望意味着确保这些服务始终可用,永远不会停机,即使在需求激增、自然灾害、网络攻击或人为错误的情况下也是如此。这种一致性就是所谓的 99.999% 正常运行时间,或工程术语中的“五个九”,而 Amazon Web Services (AWS) 工具正在使越来越多的客户能够实现五个九的可用性。我们有多个开发环境、测试环境、暂存环境和生产环境。这使我们能够拥有一个流程,将系统从开发实时转移到测试、暂存和生产,并且不会错过任何服务时刻。Roustem Karimov1Password 创始人与在云中运行的应用程序的安全性一样,这些应用程序的可用性和弹性是共同承担的。AWS 的讨价还价部分是构建一个能够承受几乎任何类型或规模的中断的云基础设施。AWS 首先通过在全球 AWS 区域构建多个可用区 (AZ) 来做到这一点。每个可用区由一个或多个数据中心组成,这些数据中心具有自己的电源、冷却和物理安全性。AWS 区域中的可用区通过冗余、超低延迟网络连接。据最新统计,AWS 在全球 30 个地理区域内拥有 96 个可用区。AWS 数据科学家是做什么的?从支持公共卫生组织应对疫情到帮助体育迷更接近比赛,亚马逊云科技数据科学家的一天从来都不是沉闷的。可用区经过精心设计,在地理位置上相距足够远,以降低任何一个事件可能影响 AWS 区域中另一个数据中心的风险。但是,如果客户在多个可用区中有工作负载(许多可用区都有),或者出于任何原因必须切换到另一个可用区,无论是由于需求大幅增长还是地震,那么业务连续性对客户来说并不是一个问题。AWS 基础设施有备份,然后是一些备份。责任等式的 AWS 客户方面是确保他们在 AWS 基础设施上运行的服务在设计时考虑到了相同的持续可用性和弹性。思科工程副总裁贾斯汀·韦特 (Justin Waite) 表示,虽然这种完全的弹性可能并不总是可以实现的,但诀窍是优化在出现中断时启动的流程。在技术领域很难做到完美,“韦特说。“潮起潮落、滴答作响,发生得如此之快,以至于你可以努力完善某些东西,然后有人可能会推出一种工具,让它完全过时。一切都会在某个时候失败。问题是,“我们如何优雅地失败,以及如何在失败发生时确保正确的客户体验?给工程师安全实验的空间韦特说,云改变了将想法发展为可以快速可靠地提供给客户的产品的方程式。现在,可以做出决定,灯泡可以在几分钟内亮起。我们不需要一年的计划和思考我们将如何在某个区域、数据中心或托管中使用某些硬件、网络等来启动所有这些。根据 Waite 的说法,构建“像魔术一样”工作且基本上没有停机时间的产品的一个关键要素是为工程团队提供自己的创作空间——一个他们可以自由地安全地修补云工具的地方。这些工具的功能类似于开放的画布,允许开发人员推动产品向前发展并开始玩弄“假设”场景,而不必担心真正破坏任何东西并导致核心业务出现问题。这与管理层分发带有硬件规格的产品路线图有很大不同。你开始看到开发人员解决问题——不一定是以更聪明的方式,而是通过更多的实验,“韦特说。“当然,会有一些失败,但这是为了鼓励'尝试和购买'的心态。想看看当有人拔掉插头或用户按下此按钮时会发生什么吗?太好了,就这样吧。尝试使用物联网 (IoT) 设备或服务?酷,就在那里。由于云,开发人员拥有更大的工具箱。一家气候变化初创公司如何使用 AWS 云计算来监测新森林的生长Terraformation 结合了本地专业知识和 AWS 云计算工具来重新种植植物。对于密码管理器 1Password 的创始人 Roustem Karimov 来说,AWS 云提供的“更大的工具箱”使他和他的联合创始人能够创建自己的公司并为他的客户提供持续的服务。十多年前,当 Karimov 与联合创始人 Dave Teare 一起首次制作 1Password 原型时,作为他们其他工作的副业项目,他和他的团队现在可以使用的一系列云工具并不可用。因此,他说,1Password 根本不可能实现。但在 2016 年,随着 AWS 技术触手可及,他表示,安全、大规模、实时地管理密码的商业模式终于有了意义。如今,全球有超过 100,000 家企业依靠 1Password 来管理他们的密码,他们希望随时可用(1Password 还为个人和家庭提供服务)。对于 Karimov 和他的团队来说,这意味着即使在流量异常高、代码的某个组件出现故障或黑客试图攻击他们的系统时,也能保持系统运行。否则,员工、经理和高管(1Password 的客户)可能会突然被锁定在他们的关键应用程序之外。那么,他们是如何针对世界末日情景进行设计的呢?首先,AWS 使我们能够确保没有单点故障。基础结构的每个组件都有一个故障转移选项。除此之外,我们实际上只需运行一个脚本,就可以构建整个 1Password 服务——整个环境——包括所有组件、数据库、缓存和应用程序服务器,“Karimov 说。基础设施的自动化使 1Password 能够建立新客户并快速、可预测和可靠地为现有客户提供服务。我们有多个开发环境、测试环境、暂存环境和生产环境,“Karimov 说。“这使我们能够拥有一个流程,将系统从开发实时转移到测试、暂存和生产,并且不会错过任何服务时刻。”1Password 通过云运行其所有服务,依靠 AWS 基础设施和云工具实现这种持续可用性。如果我们尝试在没有云的情况下手动完成,我们的正常运行时间将是不可能的,“卡里莫夫说。为事情向南发展做好准备:抵御中断的三个技巧亚马逊杰出工程师兼高级副总裁詹姆斯·汉密尔顿 (James Hamilton) 提供了三种方法,让每家公司都能在最高级别的可用性下获得最佳机会。尽可能自动化。根据正常运行时间研究所的说法,大多数中断是由人为错误引起的,通常在测试、备份和代码审查等任务中引入。尽可能多地自动化,这样就不会从一开始就发生人为错误。测试已知和未知,并在它们真正破裂之前破坏它们。测试可以采取有目的地破坏事物并观察会发生什么的形式。关键是将系统置于您可以预见的现实场景以及那些可能看起来超出可能性范围的场景。通过在受控情况下测试系统的限制,您可以准备好解决问题并避免出现问题时停机。如果你练习在灾难发生时会采取的行动和步骤,那么在真实事件发生之前——而且它会发生——你就会做好准备。持续收集和分析来自应用程序的数据,同样重要的是,统一数据。拥有单一事实来源将使您的开发团队更容易发现问题并修复它们。如果每个人都从同一组数据中读取并使用相同的分析工具,您可以大大减少故障排除和修复错误所花费的时间。




 与 CNBC 的吉姆·克莱默 (Jim Cramer) 的对话.jpg)





