函数计算 2.0 重磅发布,Serverless Computing 开启新篇章

pic.png

随着云计算技术的深刻发展,无服务器架构正在兴起。2019 年 2 月,加州大学伯克利分校发表了名为《Cloud Programming Simplified: A Berkerley View on Serverless Computing》的论文,对 Serverless 的造成、现状以及将来进行了全面的梳理和总结,指出 Serverless 即将成为下一代云服务的主流形态。值得一提的是,在 2009 年的 《Above the Clouds: A Berkeley View of Cloud Computing》 一文中,伯克利所预测的当时云计算所面临的挑战将会被逐一解决,云计算将会繁荣昌盛起来,现在已一一实现。html

Serverless Computing,顾名思义是无服务器计算,无服务器计算将用户从繁琐的底层设备管理和运维配置工做中解放出来,只需关心业务逻辑,这种模式极大地下降了研发门槛,提高业务构建效率,得到了大量开发者的青睐。git

尽管无服务器计算带来了极其使人振奋的开发模式,但随之而来的限制阻碍着开发者将更多的应用迁移到无服务器计算平台。github

  1. 性能毛刺 无服务器计算由服务提供方动态分配实例,准备执行环境,实例的伸缩带来了不可避免的延时波动,影响应用性能。
  2. 价格偏高 为了保障无服务器应用的弹性伸缩,无服务器计算平台须要维护充足的计算资源,用户势必要为足够的弹性带来的更高单价买单。昂贵的价格阻碍着调用量平稳的大应用迁移至无服务器计算平台,也极大的限制了无服务器计算的应用场景。
  3. 迁移改造代价大 无服务器计算要求用户按照服务提供放规定的统一接口开发函数,开发者须要针对接口从新进行开发,很难平滑地完成业务迁移。
  4. 工具不完善 无服务器计算缺乏成熟的开发者生态和上下游支持。简单易上手的调试、部署工具的缺失无形中提升了开发门槛;监控报警系统的不完备不直观又下降了开发者对应用的掌控力度。

针对企业应用难以全面迁移至无服务器计算的问题,阿里云进行了持续的探索和研究。阿里云无服务器计算服务 函数计算(Function Compute) 为以上问题交出了答卷!golang

函数计算 2.0 引入了丰富的资源类型,全新的计费方式,灵活的自定义运行环境和全方位升级的工具链,为开发者消除迁移至函数计算的顾虑,为应用的全面迁移扫清障碍!服务器

  1. 丰富的资源类型

全新推出 预留实例 功能,支持按量实例和预留实例两种实例类型。架构

按量实例是指函数实例的分配和释放彻底由函数计算系统负责,有函数调用请求时,函数计算动态调度资源,为用户提供弹性可靠的执行环境。可是资源的动态调度不可避免地存在冷启动延时,对于时延敏感的在线业务有必定影响。并发

预留实例将函数实例的分配和释放彻底交由用户管理。经过预留实例,用户能提早预热函数或者长期保持常驻实例,消除实例伸缩带来的延时波动。less

根据业务场景,用户既能够单独使用按量实例或预留实例,又能够混合使用两种实例。当混合使用按量和预留实例时,函数计算保证优先使用预留实例。当请求的并发度超过预留实例所能提供的并发度时,函数计算会动态调度按量实例,轻松应对业务的波峰波谷!运维

使用相同压力对机器学习场景的 猫狗识别器 进行测试,使用预留实例与不使用预留实例的表现效果以下:机器学习

因为机器学习的模型很大,冷启动加载代码包须要耗时 20s 左右。

  • 只使用按量实例时,函数执行耗时有明显毛刺。

    无预留毛刺.png

  • 使用预留实例,且请求所需实例数小于预留实例数时,函数执行时延相对平稳,基本维持在百毫秒内。

    预留压测.png

组合使用按量实例、预留实例,能够有效保障应用的性能稳定。

  1. 全新的计费方式

函数计算提供了预付费和后付费两种计量模式,帮助用户在不一样场景下得到显著的成本优点。

预付费 是指用户先判断应用的资源需求,预先购买指定数量的资源消费券后再使用,单价相较于后付费下降 70%!后付费则是根据实际使用的资源按需付费。

建议开发者观察应用的负载状况,针对负载中稳定的部分使用预付费功能预购计算力,预付费计算力能够抵扣实际使用的计算力,预付费计算力没法抵扣的部分使用后付费计费。

灵活使用预付费、后付费计费方式,能够大幅优化成本,节约上云开销。

下表介绍了预留实例的规格和订价:

预留实例规格 计算力(CU) 预付费单价(元/CU-秒) 后付费单价(元/CU-秒) 预付费单价(元/CU-小时) 后付费单价(元/CU-小时)
0.67 vCPU,1024 MB 内存 1 0.00003167 0.00011108 0.114 0.4
1 vCPU, 1536 MB 内存 1.5 0.000047505 0.00016662 0.171 0.6
1.33 vCPU,2048 MB 内存 2 0.00006334 0.00022216 0.228 0.8
1.67 vCPU,2560 MB 内存 2.5 0.000079175 0.0002777 0.285 1
2 vCPU,3072 MB 内存 3 0.00009501 0.00033324 0.342 1.2
  1. 全方位升级的工具链

为了协助开发者更好地开发、调试、部署无服务器应用,函数计算的工具链作了不少努力,但愿在函数的开发部署过程当中兼有开发者以往的开发调试体验。 工具链家族目前包含资源编排工具 Funcraft,图形化开发调试工具 VSCode 插件 与集成开发环境 WebIDE

  • Funcraft 是函数计算的应用部署工具,能够帮助用户快速地构建基于函数计算的弹性高可用无服务器应用。

    • fun deploy 能够一键部署应用到云端,真正实现 “一行命令,一触即发”。
    • fun local 在本地彻底模拟云端运行环境,提供单步调试功能,能够更快地定位问题。
    • fun install 将依赖包的安装能力固化到工具中,方便地为用户安装第三方依赖。
  • Aliyun Serverless VSCode Extension 是一款基于 VSCode 的开发调试工具,VSCode 插件是使用传统开发工具开发者的好帮手。

    • VSCode 插件帮助用户,像开发本地应用同样开发云函数。调试/运行彻底符合用户的以往的开发认知,拉近了本地与云端的距离。
      vscode.gif
  • WebIDE 是一个基于 H5 支持多语言的集成开发环境。已经与 函数计算控制台 深度集成,提供与 VSCode 体验一致的网页版编辑器。

    • 支持文件树的查看,拖拽上传/移动文件
    • 支持与 VSCode 一致的快捷键、代码编辑器、命令面板等。

加强的 Funcraft ,便捷的 VSCode 插件,全新的控制台 将有效解决用户调试难,打包难,部署难的痛点,显著提高应用开发和运维效率,大幅提升用户体验。

  1. 灵活的自定义运行环境

函数计算最新支持 Custom Runtime,彻底由用户定义函数的运行环境。 用户便可以基于自定义运行环境定制个性化语言的执行环境,例如函数计算官方推出的 基于 Custom Runtime 打造 golang runtime

又能够将现有的 Web 应用不作任何改造,一键迁移至函数计算,轻松构建弹性高可用的 Serverless Web 应用。

  1. 复杂状态管理

函数计算拓展了单一云服务的边界,函数工做流拓展了函数计算的边界 函数计算集成了13个云服务,让这些事件源的数据处理变得空前容易。用户能够利用事件触发机制构建松耦合的分布式应用。新发布的函数工做流让用户在 Serverless 的道路上更进一步,让无状态的函数也能够构建有状态的,长时间运行的,多步骤的复杂应用。函数工做流在编排函数的同时也能够经过事件触发和回调机制编排运行在任何地方的分布式任务,触达函数还没有触达之地,让应用构建博采众长。

函数计算 2.0 以用户为中心,持续不断的优化性能、下降成本有效地解决了无服务器计算中难以免的性能毛刺,价格昂贵,迁移成本高等问题,有效提升用户体验,拓宽无服务器计算的使用场景,为应用大规模迁移至无服务器计算扫清障碍!

至此,无服务器计算的前景更加明朗,Serverless Computing 开启新的篇章!

相关文章
相关标签/搜索