前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云计算的趋势:Serverless

云计算的趋势:Serverless

作者头像
JavaEdge
发布2021-02-23 15:38:23
6980
发布2021-02-23 15:38:23
举报
文章被收录于专栏:JavaEdgeJavaEdge

serverless,无服务的架构,当没有request访问或触发时,他不启动任何服务和资源,一旦触发了就会启动服务去处理任务。好处是不用关心服务是否挂了,它适合处理耗时不长的快速事务处理,当流量大的时候,它也能自动扩容去响应客户端。但是如果大量的并发一下冲过来的时候或者一下子没有流量的时候,它的自动扩容和缩容机制是否会导致更多的开销。

那Serverless解决了什么问题呢?

省钱、省力

算过部署服务器的开销吗?比如自己部署一套博客,常见的 Node.js MVC 架构,需购买云服务商的Linux 虚拟机、RDS 关系型数据库,做得好的话还要购买 Redis 缓存、负载均衡、CDN等。再专业一点,可能还会考虑容灾和备份,这么算下来一年最小开销都在 1w。

但你用 Serverless,成本可降到 1k 以下。Serverless 是对运维体系的极端抽象,就像 iPhone 当年颠覆诺基亚一样,它给应用开发和部署提供了一个极简模型。这种高度抽象的模型,可以让一个零运维经验的人,几分钟就部署一个 Web 应用上线,并对外提供服务。即根本不需要再学习怎么在 Linux 上装 Web 服务器,怎么配置负载均衡等等这些繁琐的偏运维方向的工作。

Serverless 可有效降低企业中中长尾应用的运营成本。

中长尾应用:每天大部分时间都没有流量或者有很少流量的应用。

尤其是企业在落地微服务后,一些边缘微服务被调用的概率其实很低。这时往往又很难通过人工来控制中长尾应用,因为不少应用还是被强依赖,不可直接下线。Serverless 之前,这些中长尾应用至少要独占 1 台虚拟机。现在有了 Serverless 的极速冷启动特性,企业就可以节省这部分开销。

微服务流行以后,所有的服务以容器化的方式运行,每个虚拟机中可以同时跑多个服务,不应该还存在中长尾应用独占虚拟机的情况吧。 另外,要支持Serverless极速冷启动,需要提前设置好启动依赖的资源限制吗?例如CPU,内存等。 其实Serverless一大特点就是缩容到0,平时没有流量时是不占用任何资源,除了硬盘。所以即使Serverless底层的容器方案,也可能是docker。但是却更加节省资源。

提高研发效能

SFF(Serverless For Frontend)可以让前端同学自行负责数据接口的编排,微服务 BaaS 化则让我们的后端同学更加关注领域设计。可以说,这是一个颠覆性的变化,它能够进一步放大前端工程师的价值。 外包可快速迭代,降低容错,沉淀领域解决方案。

Serverless 作为一门新兴技术,未来的想象空间很大。

  • 创业公司用 FaaS 来做基础设施编排和云服务编排
  • 外包公司利用 Serverless 应用架构的快速迭代能力,提升开发效率,降低出错率,还可以给自己沉淀领域的解决方案
  • 风险投资方也在逐渐开始关注 Serverless 领域,毕竟这也是一个新的风口

解放生产力,激发创造力

前端可自由通过FaaS组合完成业务需求,大大激发前端创造力。

如果说 Node.js 语言的出现解放了一波前端工程师生产力,Node.js+Serverless 又可进一步激发前端工程师创造力。

微服务本身提出了很多理念。但微服务在服务端运维却缺少给力的支撑平台,后来我们就试着用容器集群搭建了自己的 Container Serverless。 结果证明它不但可以支撑 Node.js 微服务运维,还可以提高 Node.js 中长尾应用的资源利用率。。而放眼国内,目前还只有为数不多的大型互联网公司在重点跟进,其他人基本上只是在观望或者看热闹。

后端应用BaaS化

通过FaaS的后端解决方案将后端服务BaaS化,让后端工程师更加专注领域设计 serverless在实际应用上虽然说跟语言无关,但实际公司选择是node.js多,还是其他语言多?感觉更多是提到前端工程师的机会,后端作为Java开发者影响多大? Node.js在Serverless Computing,也就是FaaS中因为JIT的特性,冷启动速度确实是优势。实践经验来说,Java或其它语言比较适合下沉,去做后端服务化,也就是BaaS。目前比较好的是FaaS+BaaS架构。

目前Serverless并不是万金油,它有它的局限性和使用场景。我们学习Serverless,应该将它作为一种工具,在适合的场景中使用。

如果是新业务,可以体验Serverless技术栈。像用户信息,通知私信,这些都有很多现成的云服务提供,用FaaS很容易搭建:云服务编排。但如果是已有业务上云,那么建议还是逐步迁移吧。 nodejs虽然说启动快,但是启动时间+接口耗时给人的感觉就是这个服务性能不行。云服务商都会提供给你,预热和保留容器的方案,不过会产生额外费用。 Serverless架构中,后端同学应该去写BaaS微服务。前端同学可以自己写FaaS自由编排这些BaaS微服务。

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 省钱、省力
  • 提高研发效能
  • 解放生产力,激发创造力
  • 后端应用BaaS化
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档