本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
可持续发展支柱
可持续发展支柱侧重于最大限度地减少运行云工作负载对环境的影响。关键主题包括可持续发展责任共担模式、了解影响以及最大限度地使用以尽量减少所需资源和减轻下游影响。
可持续性支柱包含以下关键重点领域:
-
您的影响
-
可持续性目标
-
最大程度提高使用率
-
预测和采用更高效的新硬件和软件产品
-
使用托管服务
-
降低下游影响
本指南重点关注您的影响。有关其他可持续发展设计原则的更多信息,请参阅 Well-Architecte AWS d Framew ork。
您的选择和要求会对环境产生影响。如果您可以选择碳排放强度较低的 AWS 区域 ,且如果您的要求反映实际工作负载需求,而不仅仅是最大限度地提高正常运行时间和持久性,那么工作负载的可持续性就会提高。接下来的章节将讨论最佳实践和深思熟虑的注意事项,如果在您的工作负载设计和持续运营中采用这些实践和注意事项,将会对环境产生积极的影响。
AWS 区域 选择
AWS 区域 有些位于亚马逊可再生能源项目附近,或者位于电网公布的碳强度低于其他项目的地方。考虑可能适合您的工作负载的区域的可持续性影响
基于用户行为模式的消费
根据用户的流量和行为调整资源消耗,有助于 AWS 最大限度地减少服务对环境的影响。设计解决方案时,考虑以下最佳实践:
-
监控
CPUUtilizationMainRequestQueuePendingRequests、和之类的 Amazon CloudWatch 指标,TotalRequestsPerSec以确定您的需求何时为最高和最低,并确保在这段时间内您的集群资源大小合适。 -
在不使用非生产环境的时间段内,自动停止这些环境。有关更多信息,请参阅博客文章 Automate the stopping and starting of Amazon Neptune environment resources using resource tags
。 -
如果您的流量模式变化频繁且不可预测,请考虑使用可随需求纵向扩展和缩减的 Neptune Serverless 实例,而不是使用为峰值流量预调配的实例。
-
除了业务连续性目标外,还可以考虑使您的服务水平协议与可持续性目标保持一致。放宽多区域灾难恢复、高可用性或长期备份保留等要求(尤其是对于非生产环境或非任务关键型工作负载)可以减少实现这些目标所需的资源量。
优化软件开发和架构模式
为防止浪费,请优化模型和查询,并共享计算资源,以便使用 Neptune 实例和集群中的所有可用资源。具体最佳实践包括:
-
让开发者共享 Neptune 实例和 Jupyter Notebook 应用程序实例,而不是各自创建自己的实例。通过使用多租户分区策略
,在单个 Neptune 集群中为每位开发者提供自己的逻辑分区,并在单个 Jupyter 实例上为每位开发者创建单独的笔记本文件夹。 -
实现可最大限度利用资源并最大限度减少空闲时间的模式,例如使用并行线程加载数据,并将记录一起批处理到更大的事务中。
-
优化您的查询和图形模型,以最大限度地减少计算结果所需的资源。
-
对于 Gremlin 查询结果,请使用结果缓存功能最大限度地减少重新计算分页或经常重复的查询所花费的资源。
-
确保您的 Neptune 环境保持最新状态。最新版本的 Neptune 支持效率更高的最新亚马逊 EC2 实例,例如 Graviton。它们还改进了查询优化并修复了一些错误,从而减少了计算查询所需的资源量。