东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

Werner Vogels 报告“21 世纪的(云)架构”:可用性、可靠性和恢复能力

  • 2017-12-10
  • 本文字数:2780 字

    阅读完需:约 9 分钟

Amazon 的 CTO Werner Vogels AWS re:invent 2017 大会上做了一个主题演讲,探讨了构建“21 世纪架构”所需的核心理念。要点涉及:介绍“云原生”革命性架构中涌现的实践、安全正成为每个人的责任、混沌工程(Chaos Engineering)的优点等。

在演讲开篇,Vogels 就提出,当前驱动关键技术发展的是数据、物联网(IoT)、基于GPU 的机器学习计算(以 AWS’s EC2 P3 实例为代表)和深度学习。这些趋势的使用,在社会中引发了一系列的创新。例如,在业务内部采用“大数据”做分析,创建“智能环境”等。但是在过去的二十年中,用于与这些系统接口的数字输入和输出设备并未发生太大的改变。Vogels 认为,下一轮技术演进将聚焦于以人为中心的数字接入,尤其是“人人可用的语音解锁数字系统”。

接下来,Vogels 转而开始探讨有效架构设计的需求问题。有效的架构设计为接口支持技术和数据处理系统提供了动力。Vogles 给出了一系列的云架构实例,其中的关键主题(或支柱)就是在 AWS“架构良好框架(Well Architected Framework)”白皮书的中提出几点原则:

  • 卓越运营(Operational excellence);
  • 安全性;
  • 可靠性;
  • 性能效率;
  • 代价优化。

设计运行于云上的系统时,应遵循一系列的原则。包括:避免揣度容量的需求、在生产规模上测试系统、通过自动化简化架构试验、允许演进架构(Evolutionary Architectures)、用数据驱动架构、通过“游戏日”提高等。

系统用户数每增加两个量级,很可能架构就需要做根本上的改进。

Vogels 强调指出,构建一个安全的系统现已成为每个人的责任,包括开发人员、运维人员、应用程序安全及合规性团队。他提出了一系列的安全原则,包括:身份认证(实施强大的身份认同)、侦查性控制(允许可追溯性)、基础设施保护(在所有层面应用安全措施,并自动执行安全最佳实践)、数据保护(保护传输中的数据和静态数据)、事件响应(通过游戏日为安全事件做好准备)。

没有任何借口去回避数据加密。至少要对 PII(个人身份信息,Personally Identifiable Information)加密,并建立威胁模型……

好的安全实践应通过持续交付构建流水线得以强制执行。在流水线和系统中,事件前后均要应用“控制和验证”。架构即代码(IaC,Infrastructure as Code (IaC) )应该存储在版本控制系统(VCS)中,系统代码应尽早做验证,基础架构更改应强制通过模板进行,并在有需要时或是拿不准时阻止事件。在事件发生后,工程师应始终追踪敏感API 的访问情况,并使用SSoT(真实单一事件源,Single Source of Truth)做配置、验证来源,进而决定是否采取补救措施。为助力上述流程的自动化,Amazon 提供了一系列的AWS 服务,例如 AWS CloudTrail AWS Config Rules 以及新发布的 Amazon GuardDuty

Vogels 继续指出,可用性、可靠性和恢复能力是 21 世纪架构的核心原则。可用性的实现借助于以下方面:将系统部署到多个(地理)可用性区域、部署冗余组件、使用微服务体系结构实现系统、专注于面向恢复的计算、遵循分布式系统的最佳实践等。为提高可靠性,工程师必须考虑设计适用的“ N 个 9 量级的高可用性”,并对硬依赖和冗余依赖有一定了解。恢复能力可以通过快速失败(Failing Fast)、流量节流、指数回落(Exponential Fallback)重试,电路熔断(Circuit Breaking)以及使用幂等性标识(Idempotency Tokens)和过滤器等措施实现。

如何实现一个具体的可用性目标,这是一个商业上的决策。AWS 提供了工具,并确定设计和成本。

接下来,Vogels 向听众介绍了演讲者 Nora Jones 。Jones 是一名 Netflix 的高级软件工程师,她在演讲中探讨了恢复能力和混沌工程。大多数组织在使用云技术和微服务架构时,都采用了复杂的分布式系统。构建这样的系统中,尽管单元测试和集成测试也是非常重要的,但是它们尚不足以保证恢复能力。Jones 认为,对于解决一些复杂系统中的固有问题,混沌工程这一新兴学科至关重要。

混沌工程的核心思想是实践一些可在系统内引发失效的实验。工程师可以提出一个会导致系统失效的假设情景,进而设计一个实验去引发或模拟该情景,并以受控的方式开展实验。通过对结果的分析,进而继续循环开展实验。Jones 在演讲中提出了“混沌的力量”,即对系统内恢复能力测试的可能革新,其中包括:良好受控的重启和降级、有目标的混沌工程、级联失效和失效注入。

Netflix 在 2014 年就建立了一种称为“失效注入测试(FIT,Failure Injection Testing)”的框架。FIT 框架现在已经演变为“混沌自动化平台(ChAP,Chaos Automation Platform)”。ChAP 平台支持工程师自动开展混沌实验。更多细节可参见 InfoQ 在 QCon SF 大会上的相关访谈。Joines 在结束演讲时指出:“混沌(工程)并不会引发系统问题,而是会揭示这些问题”。为进一步探索这些概念,她向听众推荐了一本关于混沌工程的迷你书。这本书是她和Casey Rosenthal、Lorin Hochstein、Aaron Blohowiak 合著的。另外她也推荐去访问 www.principlesofchaos.org 网站。

Vogels 接下来介绍了 AWS 高级技术专家 Abby Fuller ,谈论容器技术在 21 世纪架构中发挥的作用。Fuller 介绍了包括 Segment Capital One 在内的一系列客户案例研究。在这些案例中,容器的打包和部署应用发挥了关键作用。随后,Fuller 简要地介绍了新发布的 AWS 托管 Kubernetes 服务 Amazon Elastic Container Service for Kubernetes( Amazon EKS )和 AWS Fargate 。AWS Fargate 是一种用于 Amazon ECS 和 Amazon EKS 的技术,使得无需托管服务器或集群就可运行容器。Fuller 在演讲中给出了一个重要信息,即 AWS 提供的托管服务使客户可以“只聚焦于工作负载”,而不必去做管理底层基础架构的“千篇一律的繁重工作”。并且只要保证系统架构的正确,应用程序就可以安全、可扩展并可靠地执行。

在结束 21 世纪体系结构的演讲前,Vogels 让听众构想一下未来软件应用程序开发的情形。他提出,在不远的将来,编写代码将完全是用于实现业务逻辑。Vogels 认为,随着“无服务器”架构(“功能即服务”和托管服务)的日益普及,这一愿景的实现可能会早于许多人的预想。

AWS re:invent 2017 大会中产品发布和公告的详细内容,可参见 InfoQ 的相关新闻报道:

更多 AWS re:invent 大会信息,可访问此次大会的官方主页。

查看英文原文: Werner Vogels on “21st Century [Cloud] Architectures”: Availability, Reliability and Resilience


感谢罗远航对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-12-10 18:001565
用户头像

发布了 391 篇内容, 共 126.7 次阅读, 收获喜欢 255 次。

关注

评论

发布
暂无评论
发现更多内容

合约编写基础知识介绍基础篇

BSN研习社

创新驱动转型:软件外包企业迎接AI赋能时代

知者如C

CSS中的各种格式化上下文-FC(BFC、IFC、GFC、FFC)| 社区征文

肥晨

年中技术盘点

实现价值替代,不只是功能替代

用友BIP

国产替代

想要用Altair的仿真软件,记住这个入门级配置

智造软件

有限元分析 altair Hypermesh hyperworks 有限元技术

CSS架构之BEM设计模式| 社区征文

肥晨

年中技术盘点

温州堡垒机厂商哪家好?咨询电话多少?包含哪些功能?

行云管家

网络安全 堡垒机 温州 温州企业

用css实现简易报警灯| 社区征文

肥晨

年中技术盘点

制造行业全面预算可以这样管!

用友BIP

全面预算

【直播预告】HarmonyOS 极客松赋能直播第六期:产品创新从哪里来?

HarmonyOS开发者

HarmonyOS

非常小的一个东西,Spring依赖注入Bean类型的8种情况

不在线第一只蜗牛

前端 spring-boot

NLP领域再创佳绩!阿里云机器学习平台 PAI 多篇论文入选 ACL 2023

阿里云大数据AI技术

人工智能 自然语言处理 nlp 企业号 7 月 PK 榜

复杂「场景」数据导入导出

不在线第一只蜗牛

前端 场景搭建

用友23大行业数智底座解决方案,助力企业高质量发展

用友BIP

数智底座

CAE软件配置要求

智造软件

CAE 有限元仿真技术 有限元分析 CAE软件 计算机软件

新版危险废物标签二维码制作教程

草料二维码

二维码 二维码生成

Mes系统|开源Mes|万界星空

万界星空科技

开源 mes 免费

开发了一个Java库的Google Bard API,可以自动化与AI对话了

快乐非自愿限量之名

Java 数据库 架构搭建

国企采购堡垒机就选行云管家!优势多多!

行云管家

云计算 云安全 堡垒机 国企

OpenHarmony社区运营报告(2023年6月)

OpenHarmony开发者

OpenHarmony

MySQL之InnoDB存储结构 | 京东物流技术团队

京东科技开发者

MySQL 数据库 innodb 企业号 7 月 PK 榜

浅谈常态化压测 | 京东物流技术团队

京东科技开发者

测试 压力测试 常态化压测 企业号 7 月 PK 榜

房地产LED广告显示屏项目方案

Dylan

广告 项目 房地产 LED显示屏

Seal AppManager v0.2 发布:进一步简化应用部署体验

SEAL安全

软件开发 运维‘ 平台工程

PCB板为什么要做树脂塞孔?

华秋PCB

PCB 电路板 PCB设计 树脂塞孔 高密布线

使用 INFINI Console 实现 Elasticsearch 的增量数据迁移

极限实验室

数据迁移 infini 实现原理 功能介绍 增量迁移

聊一聊Java中的Steam流 | 京东物流技术团队

京东科技开发者

Java steam 企业号 7 月 PK 榜

TiDB简述及TiKV的数据结构与存储 | 京东物流技术团队

京东科技开发者

数据库 TiDB TiKV 底层架构 企业号 7 月 PK 榜

Sping Security前后端分离两种方案

EquatorCoco

前端 前后端分离 springboot

有限元分析软件Hypermesh的配置要求

智造软件

有限元分析 计算机软件 altair 有限元仿真 Hypermesh

主流开源分析引擎梳理,看看你最中意谁?| StoneDB数据库观察

StoneDB

MySQL 数据库 StoneDB

Werner Vogels报告“21世纪的(云)架构”:可用性、可靠性和恢复能力_架构_Daniel Bryant_InfoQ精选文章