

# 可持续性作为非功能性要求
<a name="sustainability-as-a-non-functional-requirement"></a>

 在业务要求列表中添加可持续性，可以带来更经济高效的成果。专注于从所使用的资源中获得更多价值，同时减少资源使用量，可以直接节省在 AWS 上花费的成本，因为只需为使用的资源付费。

 实现可持续性目标可能不需要对一个或多个其他传统指标（例如正常运行时间、可用性或响应时间）给予同等权衡。可持续性方面可以取得重大进展，服务水平却不会受到明显影响。如遇需要给予细微权衡的情况，通过这些权衡获得的可持续性改善可能会超过服务质量的变化。

 鼓励团队成员在制定功能要求时不断尝试可持续性改进。团队在设定目标时还应嵌入代理指标，确保他们在开发工作负载时评估资源耗用强度。

 以下示例权衡可用于减少消耗的云资源：

 **调整结果质量：**可以通过近似计算以结果质量（QoR）换得工作负载强度的降低。近似计算的做法可以寻找机会，利用客户需要和实际产出之间的差异。例如，若将数据放在 *set* 数据结构中，则可删除 SQL 中的 ORDER BY 运算符来免除不必要的处理，在节省资源的同时仍能提供可接受的答案。

 **调整响应时间：**通过在最大程度上降低共同开销，响应时间较长的应答可以减少碳排放。处理临时的、短暂的任务可能产生启动开销。对任务进行分组与批处理，而不是每次在任务出现时支付这些开销。批处理以延长响应时间换得启动实例、下载源代码和运行该流程所需的共同开销的减少。

 **调整可用性：**在 AWS 的助力下，执行几次点击操作即可增加冗余并实现高可用性目标。预置总是会导致利用率降低的闲置资源，便可通过静态稳定性之类的技术来增加冗余。在设定目标时对业务需求进行评估。可用性方面相对细微的权衡可能会大幅提高利用率。例如，静态稳定性架构模式涉及到对闲置的失效转移能力进行预置，便于在组件发生故障以后立即进行加载。放宽可用性要求可以为自动化部署替换资源留出时间，从而消除对闲置在线容量的需求。按需增加失效转移能力可以提高整体利用率，不但不会在正常运营期间对业务产生影响，还能带来降低成本的另一好处。