专栏名称: 细说云计算
关注云平台的网络技术、存储技术,以及少量架构技术。
目录
相关文章推荐
字节跳动技术团队  ·  ByteBrain团队EuroSys25 ... ·  10 小时前  
InfoQ Pro  ·  充电计划 | 反卷“大”模型 ·  12 小时前  
InfoQ Pro  ·  Redis 之父:哪怕被喷我也得说,AI ... ·  12 小时前  
字节跳动技术团队  ·  基于LLM的AI应急:多模态信息智能化分析整 ... ·  昨天  
字节跳动技术团队  ·  远程访问代理+内网穿透:火山引擎边缘网关助力 ... ·  2 天前  
51好读  ›  专栏  ›  细说云计算

FaaS如何在云2.0时代发挥优势,又将走向何方?

细说云计算  · 公众号  · 架构  · 2018-01-15 21:30

正文

请到「今天看啥」查看全文


当越来越多的开发者在云端构建应用时,如何正确设计应用架构、充分发挥云的优势变得越来越重要,“云端优先”的思想应运而生,这便促使“云原生(Cloud Native)”应用开发的出现。相比于 Serverless,云原生应用是一个更宽泛的概念,在 IaaS、PaaS 与 FaaS 等不同的云平台上,都可以构建云原生应用,只不过它们的弹性和敏捷收益不同。”

“如果想要充分地发挥云弹性、经济和高效的优势,一开始就去适配这些特点,做架构的设计,那么最终得到的就是云原生应用。”杨皓然说。

在云原生架构中,以函数计算等 FaaS 服务为中心的 Serverless 架构越来越流行。杨皓然认为:“FaaS 把云的弹性、经济和高效优势发挥到了极致,真的做到了使开发者只需要关注业务,而不用去管理底层基础设施。”FaaS 有如下主要优势,这使它被越来越多人关注:

  • 事件驱动,使得可以与其它服务无缝集成;

  • 由云端全托管,运维高效;

  • 实时弹性伸缩,细粒度的资源计量,按需付费。对于用户来讲,即使应用负载有明显的波峰波谷,资源使用率也是 100%;

  • 简化的编程模型,用户专注于单个请求逻辑的开发;

  • 可以做严格的运行时隔离和权限管理机制,保障安全;

  • ……

如果要在传统的 IT 基础设施上实现弹性高可用的分布式系统,那么开发者需要去管理一些具体的底层细节,比如要考虑某个函数需要调度到哪台机器上运行?它是以线程方式还是以进程方式运行?进程崩溃怎么处理?网络不连通怎么办?……这些都需要开发者编码实现。

考虑一下边缘计算的场景,那么这个问题会显得更加明显和严重。在边缘场景中,用户会面对成百上千的小集群,这些设备分布在各种物理环境中,会遇到网络条件恶劣、硬件架构类型不相同、通信能力限制等问题,由开发者来进行管理几乎是不可能的。

“但是实际上,用户应该从底层系统开发维护这类无差别的工作上脱身,专注于业务的创新,更快地将产品推向市场,更快地迭代改进。”杨皓然解释:“各种云服务就是把这些底层的东西抽象出来,让用户能快速地构建弹性的、低成本的、高可用的系统,而 Serverless 特别是 FaaS 在这上边目前做得最极致。”







请到「今天看啥」查看全文