发布于: Mar 22, 2022

我们可以使用 EC2 计算器提前预估所有 Amazon Web Services 云存储成本。运行大数据管道的主要成本为存储成本与计算成本,外加使用 EMRFS 时的 DynamoDB 等少部分额外成本。

首先需要考虑的自然是存储成本。由于 HDFS 的默认复制倍数为 3,因此其实际需要的存储容量为 3 PB,而非 1 PB
S3 上存储 1 GB 数据的成本每月约为 0.023 美元左右。S3 已经具有高度冗余性,因此我们无需考虑额外的复制倍数,可以将存储成本立即降低 67%。当然,大家还需要考虑由写入或读取请求带来的其他开销,但这部分成本通常极低。

在存储之外,第二大成本为计算成本。为了降低这部分成本,大家应尽可能使用预留实例以享受更低的资源费率。在 Amazon Web Services 上,如果以 3 年为承诺使用周期,则具有 16 vCPUm4.4xlarge 实例类型的预留实例成本每小时为 0.301 美元;相比之下,按需实例成本每小时为 0.8 美元,相差 62%。在大型组织当中,容量规模往往更容易实现。在使用 Amazon EMR 平台时,每台 Amazon EMR 设备每小时将额外收取 0.24 美元的费用。如果选择 Amazon EC2 竞价实例,则可进一步降低使用成本。关于更多详细信息,请参阅实例购买选项。

为了获得最佳运营成本,请尽可能保证您的计算集群不致发生闲置,并努力根据给定时间点上的实际工作负载量对集群进行动态规模伸缩。

我们的大数据管道已经在 Amazon EMR 上运行超过一年,且所有数据都存储在 S3 当中。在特定时段中,我们实时处理管道的峰值速率高达每秒 200 多万个事件,而从事件出现到汇总结果更新,总体处理延迟仅为 1 分钟。Amazon EMR 为我们带来出色的灵活性,帮助我们在几分钟之内快速完成集群的清理与重新创建。我们对 Amazon EMR 平台的整体稳定性非常满意,也将继续与 Amazon Web Services 一道探索 EMR 的进一步改善之道。

如前所述,成本已经成为当前业务运营中的核心因素。也许有些朋友认为在本地数据中心内运行 Hadoop 可能成本更低,但实际情况取决于具体组织执行运营任务的能力;此外,本地基础设施中可能还存在某些隐藏成本,且弹性水平也难以与公有云环境相媲美。结合第一手经验,我们意识到在本地运营业务是一项繁重且成本不菲的工作,总会带来很大的规划与维护压力。在我们看来,在设计大数据系统时充分考虑 Amazon EMR 等商用平台,将给企业的运营体系带来诸多优势。

相关文章