您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 云计算 > 正文

企业要为云端无服务器平台选择合适的工作负载

发表于:2018-11-02 作者:布加迪编译 来源:51CTO.com

无服务器技术是按需计算的终极形式,但它对大多数企业而言仍是新的未知领域,有人可能会问到底何时该使用它。

借助云端无服务器计算,AWS、谷歌、微软或IBM等提供商可根据需要,管理底层基础设施并动态分配资源。客户在实际使用资源时付费,那些资源闲置时无需付费。

StorageIO的分析师Greg Schulz表示,无服务器平台(又叫函数即服务,FaaS)的标准使用场景之一是DevOps。不过虽然软件开发和测试过程非常适合无服务器平台,但这项技术还有其他许多潜在的应用。

他说:“无服务器的用途不仅限于DevOps,这才是它真正大有机会的地方。”

无服务器平台的常见用途

通常,无服务器很适合不需要整个虚拟机或物理机,只需要有地方来运行代码的模块化或简单应用程序。比如说,欢迎打开网站的用户的客户服务机器人常常是无服务器应用;用户访问该网站就会触发机器人提供帮助。

企业管理协会(EMA)的分析师Torsten Volk表示,无服务器的另一个常见用途是AWS、Azure及其他云平台的后端处理。比如说,某个图像上传到亚马逊S3存储桶,可能会触发使用亚马逊Rekognition来提供关于该图像内容的元数据的Lambda无服务器函数。然后,另一个函数可能执行,将该元数据写入到数据库。

据IDC分析师Deepak Mohan声称,这个用途的另一个方面是与传统架构应用软件放在一起的批处理。这有望支持健康检查、遥测收集或发出警报。

Mohan说:“我们看到许多客户在无服务器上部署这种批量操作,与基于虚拟机的工作负载一起运行。”

Volk表示,需要高可扩展性的服务或应用也很适合无服务器计算,比如数据分析、文档索引或者训练AI或机器学习模型。

最后,想尝试使用无服务器技术的企业可以使用微服务来满足这个要求,尤其是基本上是无状态(stateless),本质上仍然小巧或模块化的微服务。

Volk说:“在创建新的微服务之前,开发团队别在默认情况下使用容器,应先评估是否可以使用FaaS,因为这些函数比直接部署到容器更易于管理和共享。”

Mohan同样认为,无服务器平台大大减少了启动新服务所需的工作和时间,包括基于微服务的Web应用。

为云端无服务器平台选择合适的工作负载
图1:无服务器平台的10个常见用途

什么不适合无服务器?

Schulz表示,当然,就因为你可以将工作负载转移到无服务器环境并不意味着总是应该这么做。有几个使用场景和用途不适合。比如说,长时间运行的庞大工作负载(如数据库)不是很适合无服务器,主要是由于成本问题。在自己虚拟机上的专用数据库服务器会更适合。

不太可能适合无服务器模式的另一种用途是视频渲染。

Schulz说:“这在更庞大的虚拟机环境中可能更有效,那样它可以访问更多的资源。”

与任何新兴技术一样,缺乏技能也可能是个问题。除了之前对容器有所接触外,无服务器计算方面的实用技能还包括熟悉编写shell、命令行活动和脚本。

Mohan说:“无服务器团队通常应该是拥有足够技能和能力的团队,不受传统方法和惯性思维的制约。”

原文标题:Choose the right workloads for serverless platforms in cloud,作者:Alan R. Earls