Serverless AI训练营:课时2:初识 Serverless(下)(一)
课时2:初识 Serverless(下)(一)
内容介绍
一、 面临挑战
二、 应用场景
三、阿里云Serverless
四、开源产品
五、常见问题
一、面临挑战
挑战的第一个问题是函数能否启动,各个云服务提供商都在努力解决这个问题。可以查阅一些与冷启动相关的论文,尤其是关于冷启动的论文,数量逐渐增加。
在行业内,解决方案主要分为几种。
首先是实例的复用,大家可以想一下,例如第一次启动是冷启动,第二次是热启动,中间的时间间隔被称为实例释放时间,时间太长对云厂商来说是会浪费资源,太短会导致性能问题。然后厂商会在在调度层面采取一些池化操作,
例如提前从底层准备一些网络操作容器等做一些池化,准备一些资源,然后根据用户的需求填充,以减少启动时间。此外,各个厂商还提供预留实例的功能,可以设置在未来的时间点预留一些实例,让用户可以根据需求灵活配置资源。另外,一些云服务还提供特色的解决方案,比如单实例多并发模式。
在一定程度上,这也能有效应对冷启动问题。就像我之前提到的,当一个请求到来时,占用一个实例,而另一个请求占用另一个实例。但是,当有多个请求同时到来时,是否需要为每个请求启动一个新的实例,或许可以考虑直接启动一个实例以处理多个并发请求。这就是单实例多并发的概念,对应着一定程度上能够有效应对启动问题。
当然,除了我之前所述的方法,一些厂商也在不断地探索其他方法。例如,你提到了一个有趣的例子,就像你电脑还未开机,但你已经计划在八点运行一个程序。如果你能提前预测到,可能在7:30左右就提前启动计算机,那么在需要运行程序时就能够迅速响应请求。这种方法涉及到流量预测和自动化,与人工智能相关,许多厂商都在研究这一领域。但是我对流量的预测可能不是很准确,但是我能不能进行一个流量的预测。
流量预测是一个关键因素,你可以通过预测整体流量以及不同运行时的流量来进行调整。逐步优化资源分配,以提高用户体验。这对于解决这一挑战非常重要,不仅是云服务提供商,也包括学术界和工业界都在共同研究。
此外,在架构层面,还存在很大的优化空间,尤其是在处理缓存、启动问题和调度方面。希望大家可以积极参与,共同探索这些问题。至于第二个问题,各个厂商的规范不一致是一个挑战,但行业组织正在努力推动标准化和规范化,同时也在寻求兼容性解决方案,以减轻不同厂商之间的差异。
我也在群里看到有人提到适配层来处理这些问题,这也是一个值得探讨的方向。
各个厂商的规范也存在问题,但是各个厂商正在努力地为提供一个规范来消除他们之间的差异。
阿里在今年开源了一个名为的产品,它本身是一个上层规范的工具链或生态系统。这个产品的目标是帮助用户更灵活地使用不同厂商的产品,以提高效能。
我们的愿景是通过努力将原本优秀的技术变得更好,而不是让技术因一些暴露的问题或劣势而阻碍使用。我们希望消除这些障碍,让用户能够更简便、更快速、更便捷地使用这些技术。
总之,正如我之前所提到的,各个组织都在积极解决问题,认为问题本身是一个机会,而不是障碍。大家正在努力抓住这些机会,以推动技术和生态系统的发展。
二、应用场景
云厂商 产品 |
典型场景举例 |
AWS LAMBDA |
实时文件处理 实时流处理 机器学习 loT后端 移动应用后端 Web应用程序 |
阿里云 函数计算 |
Web应用 实时数据处理 AI推理 视频转码 |
华为云 函数工作流 |
实时文件处理 实时数据流处理 Web/移动应用后端 人工智能场景 |
腾讯云 云函数 |
实时文件处理 数据ETL处理 移动及Web应用后端 AI推理预测 |
接下来,让我们看一下这个架构的应用场景。这张PPT上列举了一些应用场景,这些场景都是由CCF提出的。
它们包括异步并发、逐渐独立部署和扩展、应对突发不可预测的场景、暂无应敏的场景、需要提前
申请资源以快速上线业务的场景。这些应用场景强调了架构的优势,对于各个厂商来说,它们都是非常有吸引力的。
我是这样想的,无论是哪个厂商,它们官网上都会展示一些典型的应用案例。例如,应用程序部署、数据处理、人工智能等领域都有相关案例。函数作为计算平台的一部分,在解决云服务器的资源管理问题上起到了重要作用。
接下来,我们将进一步深入分析这些应用场景,并结合一些实际案例来分享更多见解。