我听说很多人将两个术语互换使用。但是,我认为它们之间是有区别的:
可扩展性 - 软件系统能够在不中断应用程序服务的情况下,在其当前硬件资源(按比例放大)或当前和其他硬件资源(按比例缩小)上处理大量工作负载的能力;
弹性 - 下方硬件层(通常是云基础结构)增加或缩小该硬件层向上方软件层提供的物理资源量的能力。增加/减少是由预先定义的业务规则触发的(通常与应用程序的需求有关)。增加/减少是在不中断物理服务的情况下进行的。
同样,可伸缩性是软件体系结构的一个特征,即与工作量更大相关的软件架构,而弹性是下面物理层的特征,完全与硬件预算优化有关。
我对这两种非功能性的建筑特性有区别吗?有人可以举一些具体的例子,以便我们在这两个术语之间划出更独特的边界吗?