【架构质量】可靠性系列#1:可靠性与韧性

简介: 【架构质量】可靠性系列#1:可靠性与韧性

每当我与客户和合作伙伴谈论可靠性时,我都会被提醒,虽然组织和客户之间的目标和优先级不同,但归根结底,每个人都希望他们的服务能够发挥作用。作为客户,您希望能够在方便的时候在线进行操作。作为一个组织或服务提供商,您希望您的客户在他们想要的任何时候执行他们想要执行的任务。

本文是关于构建弹性服务的四部分系列中的第一篇。在我的前两篇文章中,我将讨论与业务战略相关的主题,然后我们将更深入地研究技术细节。四个帖子的完整系列将涵盖:

  • 1. 可靠性与弹性——可靠性和弹性之间有什么区别,为什么重要?
  • 2. 与可靠性相关的常见威胁——DIAL(发现、错误、授权/身份验证、限制/延迟)是一种方便的助记符,可帮助团队以结构化的方式集思广益,以解决其服务组件之间交互的潜在故障。关于故障模式和故障点的头脑风暴是弹性建模和分析 (RMA) 的关键阶段,可以帮助团队提高服务的可靠性。
  • 3. 可靠性增强技术——以 DIAL 中的“D”和“A”为例,我们将研究一些可以纳入与发现和身份验证相关的设计中的可靠性增强技术。
  • 4. 可靠性增强技术——以 DIAL 中的“I”和“L”为例,我们将研究一些可用于与错误和限制相关的设计中的可靠性增强技术。

我的目的是深入了解 Microsoft 如何看待可靠性以及我们为提高客户服务可靠性而采用的流程和技术。

那么什么是可靠性?当我询问客户和合作伙伴时,最常见的回答是性能、速度、可用性的一致性——也许最重要的是——弹性。我们都同意的一件事是,要使系统或服务可靠,用户必须相信“它可以正常工作”。

电气和电子工程师协会 (IEEE) 可靠性协会指出,可靠性 [工程] 是“一门设计工程学科,它应用科学知识来确保系统在给定的环境中在所需的时间内执行其预期功能,包括能够在整个生命周期内测试和支持系统。”对于软件,它将可靠性定义为“在特定环境中特定时间段内软件无故障运行的概率”。

可靠的云服务本质上是按照设计者的预期、预期的时间以及客户连接的任何位置运行的服务。这并不是说每个组件都必须在 100% 的时间内完美运行。最后一点让我们明白了我认为可靠性和弹性之间的区别。

可靠性是云服务提供商追求的结果——它就是结果。弹性是基于云的服务能够承受某些类型的故障,但从客户的角度来看仍保持正常运行的能力。换句话说,可靠性是结果,而弹性是实现结果的方式。一项服务可以被描述为可靠,仅仅因为该服务的任何部分都没有发生过故障,但该服务不能被视为具有弹性,因为这些增强可靠性的能力可能从未经过测试。

这里的关键要点是在软件开发生命周期的每个阶段关注弹性以及在您的服务中设计和构建弹性的重要性。

相关文章
|
4月前
代码的应用重构问题之toC和toB的业务系统在代码需求上问题如何解决
代码的应用重构问题之toC和toB的业务系统在代码需求上问题如何解决
|
5月前
|
前端开发 JavaScript 安全
微前端架构采用 TypeScript 提升开发效率和代码可靠性
【6月更文挑战第12天】微前端架构采用 TypeScript 提升开发效率和代码可靠性。TypeScript 的类型安全防止了微前端间的类型错误,智能提示与自动补全加速开发,重构支持简化代码更新。通过定义公共接口和使用 TypeScript 编写微前端,确保通信一致性与代码质量。在构建流程中集成 TypeScript,保证构建正确性。总之,TypeScript 在微前端架构中扮演关键角色,推荐用于大型前端项目。
71 4
|
5月前
|
数据库 SQL 存储
使用合理的架构保障服务的韧性
【6月更文挑战第14天】 该文介绍了软件韧性的概念和目标,强调了主从模式在确保业务连续性中的作用。主从模式通过全同步、半同步和异步技术保证数据一致性和系统可用性。这种模式常用于读写分离,缓解数据库负载,是保障业务韧性的常见策略。
113 0
使用合理的架构保障服务的韧性
|
6月前
|
Cloud Native 关系型数据库 MySQL
PolarDB MySQL企业版:云原生架构,超高性能与可靠性的完美结合
在数字化时代,数据已成为企业的核心资产。对于现代企业来说,选择一款高性能、高可靠性、高性价比的数据库至关重要。阿里巴巴自研的云原生HTAP数据库——PolarDB MySQL企业版,正是这样一款满足企业需求的理想选择。
426 1
|
存储 监控 安全
医院安全(不良)事件管理系统源代码(B/S架构):事件全程监管 质量持续改进
系统概述 医院安全(不良)事件管理,让上报人更加准确、快捷地将不良事件内容报告给相关管理人员;使管理者系统地收集资料,并通过深入分析与学习,寻找管理中的薄弱环节,完善系统结构和运作。该系统是有效预防不良事件再次发生的一种管理工具。 二、技术架构: PHP+ vue2+element+ laravel8+ mysql5.7+ vscode 三、不良事件类型 护理相关事件:(跌倒事件,坠床事件,压疮事件,管路滑脱事件,给药差错事件,烧伤/烫伤事件,输液反应事件,病人自杀事件,病人走失事件,消毒供应事件,其他事件) 医疗相关事件:(手术事件,麻醉事件,诊疗相关事件,医德医风相关,病案管理事件
131 1
医院安全(不良)事件管理系统源代码(B/S架构):事件全程监管 质量持续改进
|
编译器
【系统架构】架构评估的质量属性——可修改性
【系统架构】架构评估的质量属性——可修改性
340 1
|
存储 SQL 监控
【可靠性架构】可靠性架构第3部分:高可用性体系结构
在本节中,我们将回顾一个示例应用程序,并阐述部署架构如何因不同的可用性目标而变化。示例应用程序是一个典型的web应用程序,它具有反向代理、S3中的静态内容、应用程序服务器和SQL数据库。无论我们在容器还是虚拟机中部署它们,可用性设计都保持不变。
|
消息中间件 存储 测试技术
【韧性架构】韧性性工程的重要性
【韧性架构】韧性性工程的重要性
|
算法 安全 网络协议
【韧性架构】让你的微服务容错的 5 种模式
【韧性架构】让你的微服务容错的 5 种模式
|
敏捷开发 缓存 监控
程序员架构修炼:架构的保障,质量与风险求解质量熵
在前面的小节中,我们从黑天鹅事件谈到了蝴蝶效应和墨菲定律。一言以蔽之,将软件研发质量做好并非易事。质量是一个综合命题,涉及业务的准确性、稳定性和可用性等