云处理、无服务器技术与云迁移的全面解析
云处理:速度之外的考量
在过去,数据和机器学习处理管道往往侧重于速度。然而,随着公共云技术的发展,企业能在瞬间获取额外资源,这改变了我们构建处理管道的视角。
成本与可扩展性的平衡
在实际应用中,提供 10 台服务器运行 1 分钟和 1 台服务器运行 10 分钟的成本是相同的。因此,重点从优化执行时间转移到了优化可扩展性和并行化上。
假设存在一个完美的数据处理管道:1000 个作业在 1000 个节点上并行处理,然后汇总结果。这意味着在任何规模下,处理速度都不取决于作业数量,始终等于单个作业的处理时间。
如今,越来越受欢迎的无服务器基础设施提供了并行启动数千个处理节点的方式。此外,许多供应商提供纯容器即服务,例如定义一个 Docker 镜像后,它将并行执行,且只需支付处理时间的费用。当无服务器基础设施和容器即服务与原生消息总线或编排器结合时,它们能够通过将传入消息独立映射到可扩展的计算机服务来处理大量消息。利用这些服务可以最小化空闲时间,并使基础设施完美匹配负载。
执行时间与成本的关系
在实现完美的水平可扩展性后,仍需关注执行时间,不过原因不同。在水平可扩展性极佳的环境中,执行时间对批量处理速度的影响不大,但对成本影响显著。将速度优化两倍意味着将成本优化两倍,这成为优化开发的新动力。
模块化应用与资源组合
将应用拆分为模块化部分,并在单独的可扩展服务上执行每个部分,有助于为应用找到最佳匹配,最小化 CPU(或 GPU)和 RAM 的空闲时间。例如,可以在多个 CPU VM 上并行预处理数据,而不是在 GPU VM
超级会员免费看
订阅专栏 解锁全文
1201

被折叠的 条评论
为什么被折叠?



