关键字: [ 亚马逊云科技中国峰会2024, Redis Wave, 数据工作负载运行, Eks 集群部署, Graviton 架构优化, Bottlerocket 容器操作系统, Cluster Autoscaler 弹性扩展]
本文字数: 2300, 阅读完需: 12 分钟
在这场亚马逊云科技中国峰会2024 的演讲中, 杨冬冬介绍了如何在亚马逊EKS 上高效运行数据工作负载。他解释了利用Graviton 实例、Bottlerocket 操作系统、Cluster Autoscaler 等亚马逊云科技服务和开源工具, 可以提高数据工作负载如Spark 、Flink 等的性能和成本效益。他还分享了客户Running Wave Labs 在EKS 上部署流数据库的实践经验, 展示了如何利用EKS 的Serverless 能力实现数据压缩等任务的弹性计算。演讲重点介绍了亚马逊云科技如何通过创新的云原生架构和工具, 助力客户优化数据工作负载的运行效率和成本。
以下是小编为您整理的本次演讲的精华,共2000 字,阅读时间大约是10 分钟。
在亚马逊云科技中国峰会2024 上, 亚马逊云科技的杨冬冬和Running Wave Labs 的王养浩分享了他们在Amazon Elastic Kubernetes Service (Amazon EKS) 上高效运行数据工作负载的实践经验。
杨冬冬首先介绍了在EKS 上运行数据工作负载的一些最佳实践。他指出, 根据市场调查, 约有60% 的客户选择将他们的Apache Spark 工作负载部署在EKS 上运行, 而对于Apache Flink 的使用量则相对较少。 杨冬冬表示, 他今天主要会围绕这几个方面进行介绍。
第一个方面是Graviton 实例的采用。杨冬冬指出, 这些数据工作负载在Graviton 实例上的性能表现要优于x86 实例。他展示了一些社区数据, 包括针对亚马逊自家的Arm 系统实例与x86 实例的性能对比, 可以看出Graviton 实例的收益向量相当高。他还强调, 使用更高版本的Graviton 实例可以获得更好的性能, 尽管可能会存在一些历史包袱。
为了提高系统可靠性, 杨冬冬建议客户考虑采用多架构部署。他解释说, 虽然像Graviton2 R6g 这样的实例类型相对较为热门, 但采用单一架构可能会导致无法获取实例而影响业务运行。因此, 采用多架构部署可以提供一个备份, 避免业务停滞。
接下来, 杨冬冬讨论了操作系统的选择。他指出, 传统的操作系统如CentOS 和Amazon Linux 并非专门为容器环境构建, 可能包含一些不必要的软件包, 导致操作系统启动速度较慢。此外, 许多客户需要对操作系统进行安全加固, 这可能需要修改操作系统。
为了解决这个问题, 亚马逊云科技推出了Bottlerocket 开源容器优化操作系统。杨冬冬解释说,Bottlerocket 是一个最小化的容器操作系统, 镜像大小仅有100 多兆字节, 启动速度更快。它支持通过Operator 进行管理, 在Kubernetes 世界中, 客户可以通过Operator 批量管理数千台Bottlerocket 实例的升级和运维。另一个重要特性是Bottlerocket 镜像缓存, 它可以将镜像缓存到操作系统中, 从而加快EC2 实例的启动速度, 这在人工智能和机器学习场景中很有用。
接着, 杨冬冬讨论了在Spark 工作负载中使用PUC Use 功能的好处。他表示, 在Spark 3.2 版本中,PUC Use 得到了支持, 而在最新的Spark 3.4 版本中,PUC Use 的性能又有了进一步提升。杨冬冬分享了一些客户使用PUC Use 的案例, 可以看到运营时间和成本下降了39% 到41% 。因此, 他建议客户在运行Spark 工作负载时, 考虑使用较新版本的Spark 并启用PUC Use 功能, 以减少Shuffle 数据的重新计算。
对于大规模数据工作负载, 杨冬冬介绍了Amazon EKS Cluster Autoscaler 的使用。他解释说, 在Spark 和Flink 等场景下,Pod 的数量可能达到数千甚至数万个, 快速响应业务需求和实现节点弹性扩展至关重要。亚马逊云科技在2021 年推出了Cluster Autoscaler 开源服务, 旨在解决这一问题。
杨冬冬指出, 自推出以来,Cluster Autoscaler 的发展速度非常快, 每一次版本更新都是为了响应客户的需求。例如, 最新的0.34 版本推出了Node Disruption Budget 功能, 允许客户定义在节点滚动更新期间最多可以重启多少个节点, 从而控制服务中断的风险。
他还分享了一些社区测试数据, 显示在大规模场景下,Cluster Autoscaler 的性能和扩缩容速度相对更快。不过,Cluster Autoscaler 也存在一些问题, 比如在某些场景下只能扩容而不能及时缩容, 导致成本上升。幸运的是,Cluster Autoscaler 已经解决了这个问题。
在大规模数据工作负载场景下, 杨冬冬建议客户不要使用过多的反亲和规则。 他解释说, 过多的反亲和规则会增加调度器计算所需节点数量的时间, 从而影响效率。
另一个值得关注的问题是Kubernetes 提供的两种节点回收策略。第一种策略是检查节点上是否有运行的Pod, 如果没有, 则等待一段可配置的时间后回收节点。第二种策略是Consolidation, 它可以主动合并节点, 减少资源碎片化, 提高资源利用率并降低成本。杨冬冬建议客户根据业务场景灵活选择回收策略。
在调度器的选择方面, 杨冬冬提到,Kubernetes 默认调度器主要面向前端和后端服务, 而对于从Yarn 迁移过来的大数据工作负载, 客户可能需要考虑支持队列调度的调度器, 如Yunikorn 、Kulinator 和Volcano 等。
规划residency 、VPC 和集群压测也是提高系统稳定性的重要环节。杨冬冬建议客户考虑在另一个可用区创建备份集群, 以提高系统的可用性。
最后, 杨冬冬强调了成本可观测性的重要性。他表示, 越来越多的客户需要了解成本优化方案, 但在优化之前, 必须先了解自身的成本花费在哪里。因此, 监控Pod 利用率、集群利用率、Pod pending 状态以及磁盘使用情况等, 对于成本优化至关重要。
总的来说, 杨冬冬概括道,Graviton 提供底层架构支持,Bottlerocket 负责优化操作系统, 而Cluster Autoscaler 则负责弹性扩缩容。这三者构成了在EKS 上高效运行数据工作负载的三大必选项。同时, 客户可以灵活选择将工作负载部署在保留实例或按需实例上, 并根据需求选择合适的节点回收策略。
接下来,Running Wave Labs 的王养浩分享了他们在EKS 上部署Running Wave 数据库的实践经验。王养浩首先介绍了Running Wave Labs 的背景, 该公司成立于2021 年初, 目前已融资逾4000 万美元, 在全球设有五个办公室, 是一家真正的全球化公司。Running Wave Labs 致力于研发下一代云原生分布式流数据库Running Wave, 这是一个兼容Postgres 生态的流数据库, 旨在将流计算融入数据库, 提升开发和维护的易用性。
为了更好地与Kubernetes 生态融合,Running Wave Labs 开源了Running Wave 的Kubernetes Operator, 作为在EKS 上统一部署和运维Running Wave 的入口。从2022 年9 月开始,Running Wave Labs 将所有的托管Running Wave 实例都部署到了EKS 上, 后来甚至将自建的控制平面服务也迁移到了EKS, 将EKS 作为Running Wave Cloud 的统一部署和运维平台。
今年,Running Wave Labs 的工作重点是在EKS 上持续迭代Running Wave Cloud 的Serverless 功能, 这依赖于EKS 提供的弹性计算能力。王养浩详细介绍了Running Wave Operator 的作用, 它将Running Wave 数据库在Kubernetes 上的部署、运维、模块依赖关系等全部集成到了一个开源的Operator 中。基于这个Operator,Running Wave Labs 快速跟进了对Flink 的支持。
在Operator 中,Running Wave Labs 实现了Running Wave 的存算分离架构, 提供了集群统一管理能力, 并深度定制了扩缩容机制。他们还开放了基于Helm Chart 的安装脚本, 这为在EKS 上部署Running Wave 奠定了基础。
最初,Running Wave Labs 将Running Wave 的数据平面部署到EKS 上, 包括托管的Running Wave 实例集群、Cloud Agent 和Proxy 等组件。 后来, 他们将整个控制平面, 包括计费服务、账户服务和管理服务等, 也迁移到了EKS 上。Running Wave Labs 选择在EKS 上自建监控服务, 而不是使用CloudWatch 或第三方服务, 原因是EKS 提供了较低的成本和出色的运维能力, 可以充分利用性价比高的Graviton 实例。
接下来, 王养浩介绍了Running Wave Labs 如何利用EKS 的Serverless 能力实现弹性计算。作为一个流数据库,Running Wave 需要持续进行流计算, 并将中间状态存储到S3 上。为了高效压缩这些数据,Running Wave 采用了LSM Tree 结构。数据压缩是一个纯后台的无状态异步计算任务, 非常适合offload 到EKS 上执行。
在这种架构下,Running Wave 的Meta Server 会监控S3 上的数据状态, 一旦发现数据堆积, 就会驱动EKS 集群申请新的资源, 启动Compaction Pod 进行数据压缩。这种深度融合了EKS 的Serverless 能力, 实现了云原生的数据压缩功能, 即将上线。
未来,Running Wave Labs 计划将这种架构扩展到流计算流数据库的其他模块, 实现全面的云原生改造。例如,Meta Server 可以实现不同Running Wave 实例之间的多租户共享, 每个实例的计算节点和压缩节点也可以进行隔离。通过这种方式,Running Wave Labs 能够为用户提供高性价比、强大弹性能力的Serverless 流计算服务。
总的来说, 本次分享深入探讨了在Amazon EKS 上高效运行数据工作负载的最佳实践, 包括利用Graviton 实例、采用优化的Bottlerocket 操作系统、使用Cluster Autoscaler 实现自动扩缩容、合理选择调度器、规划residency 和VPC 、关注成本可观测性等多个方面。Running Wave Labs 的实践则展示了如何将传统数据库与云原生架构相结合, 充分利用EKS 的Serverless 能力, 为用户提供弹性的流数据服务。这些实践和经验为其他企业在EKS 上运行数据工作负载提供了宝贵的参考。
下面是一些演讲现场的精彩瞬间:
亚马逊云科技中国峰会2024 上, 演讲者分享了在支持客户的实际案例中总结出的最佳实践, 涉及大数据、流式处理、人工智能等多种数据工作负载在EKS 上的运行。
亚马逊云科技推出了Bottlerocket 镜像缓存解决方案, 可以将大型镜像缓存到操作系统中, 加速人工智能和机器学习工作负载的启动速度。
在亚马逊云科技中国峰会2024 上, 演讲者强调了使用最新版本的Apache Spark 和PUC Use 功能可以显著降低运营成本, 为客户带来39% 至41% 的节省。
亚马逊云科技在2021 年推出了Cluster Autoscaler 这一开源节点弹性扩展工具, 为大规模数据处理场景提供快速弹性扩展能力。
Cluster Autoscaler 的最新版本 0.34 推出了 Node Disruption Budget 功能, 可帮助客户定义在节点滚动更新时最多允许多少节点离线。
亚马逊云科技中国峰会2024 上, 演讲者介绍了亚马逊的Meta Server 如何实现多租户共享, 以及Compute Node 和Compaction Node 的隔离和无服务器改造。
亚马逊云科技中国峰会2024 上, 演讲者介绍了如何通过整合多种云服务, 为用户提供高性价比和强大弹性的无服务器流媒体解决方案。
亚马逊云科技中国峰会2024 上, 杨冬冬分享了在EKS 上高效运行数据工作负载的最佳实践。他强调了Graviton 架构、Bottlerocket 容器操作系统和Cluster Autoscaler 等关键技术在提高性能、降低成本和提升弹性方面的优势。他还介绍了Spark 、Flink 等数据工作负载在EKS 上的部署和优化技巧, 如利用PUC Use 减少Shuffle 开销、合理设置反亲和规则和回收策略等。最后, 他概括了Graviton 、Bottlerocket 和Cluster Autoscaler 三大必选技术, 以及灵活选择计算资源和调度策略的重要性。
来自Running Wave Labs 的王养浩分享了他们在EKS 上部署Running Wave 流数据库的实践。他们开源了Running Wave Operator, 实现了在EKS 上统一部署和运维。他们将整个控制平面迁移到EKS, 并利用EKS 的Serverless 能力实现了数据压缩的弹性计算。未来, 他们计划进一步利用EKS 实现多租户、计算节点和压缩节点隔离等功能, 为用户提供高性价比和强大弹性的Serverless 流计算能力。
总的来说, 亚马逊云科技为数据工作负载提供了高效、经济、弹性的解决方案, 而Running Wave Labs 则展示了如何在EKS 上构建云原生流数据库。两位演讲者的分享都体现了充分利用云原生技术优化数据工作负载的重要性。
2024 年 5 月 29 日,亚马逊云科技中国峰会在上海召开。峰会期间,亚马逊全球副总裁、亚马逊云科技大中华区总裁储瑞松全面阐述了亚马逊云科技如何利用在算力、模型、以及应用层面丰富的产品和服务,成为企业构建和应用生成式 AI 的首选。此外,活动还详细介绍了亚马逊云科技秉承客户至尚的原则,通过与本地合作伙伴一起支持行业客户数字化转型和创新,提供安全、稳定、可信赖的服务,以及持续深耕本地、链接全球,助力客户在中国和全球化发展的道路上取得成功。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3021212/ ,如需转载,请注明出处,否则将追究法律责任。