中文

AWS Lambda中的按需容器加载

分布式、并行与集群计算 2023-05-25 v2 系统与控制 系统与控制

摘要

AWS Lambda是一项无服务器事件驱动的计算服务,属于有时被称为函数即服务(FaaS)的一类云计产品。当我们首次发布AWS Lambda时,函数被限制为250MB的代码和依赖项,打包为简单的压缩归档。2020年,我们发布了对部署高达10GiB的容器镜像作为Lambda函数的支持,允许客户将更大的代码库和依赖项集合引入Lambda。在支持更大包的同时,仍满足Lambda的快速扩展(为单个客户每秒新增多达15,000个容器,聚合更多)、高请求率(每秒数百万请求)、高规模(数百万独特工作负载)和低启动时间(低至50ms)的目标,带来了重大挑战。我们描述了为按需交付容器镜像而构建并优化的存储与缓存系统,以及我们在大规模设计、构建和运维方面的经验。我们聚焦于安全性、效率、延迟和成本方面的挑战,以及我们如何在一个结合缓存、去重、收敛加密、纠删码和块级按需加载的系统中解决这些挑战。自构建该系统以来,它已可靠地处理了超过一百万AWS客户的 trillions 级Lambda调用,并展现出对负载和基础设施故障的优异弹性。

关键词

引用

@article{arxiv.2305.13162,
  title  = {On-demand Container Loading in AWS Lambda},
  author = {Marc Brooker and Mike Danilov and Chris Greenwood and Phil Piwonka},
  journal= {arXiv preprint arXiv:2305.13162},
  year   = {2023}
}