这一次 把 ServerLess 优雅抬走

协程流沙
• 阅读 143

这一次 把 ServerLess 优雅抬走

    当云原生的字眼出现越来越多的出现在我们周围的时候,我们就能意识到,云的时代已经来了。如果你们公司还没有用上 k8s 可能你都不好意思和其他小伙伴说你们公司的技术架构。而今天要给大家介绍的是,比 K8s 更接近”云原生”的 Serverless。本篇文章将主要告诉什么是 Serverless 以及为什么要使用Serverless。 

Serverless 是什么?

这一次 把 ServerLess 优雅抬走

    Serverless 用中文翻译应该叫做无服务器架构,顾名思义就是不用服务器,但是实际上你的代码还是跑在服务器上。不过只是你不需要操心服务器上面的配置和维护了。运维的工作移交给了服务商来统一管理。相比容器来说,你之前是托管的一个容器,而现在则是托管了你的函数在云上。

    用一句话来描述运行过程的话就是,当条件符合的时候供应商运行一个仅包含你的函数代码和环境的容器来处理输入,在处理完成后销毁容器。

这一次 把 ServerLess 优雅抬走

    而触发条件则种类,可能是 Http 请求,也可能是定时任务调用,再或者是消息队列的多了一条新的消息,多种多样。

Serverless 的优势

减少运维成本

尽管你的代码依旧运行在服务器上但是,你无需担心运维。也无需担心服务器的运行状态。云服务商都将帮你解决这些问题。你需要做就是书写无状态的函数,至于扩容?由于是以函数作为单位,扩容更是十分简单,云服务商会帮你解决一切。

你只需要为你使用的资源付费

Serverless 只会根据你使用的资源来进行付费,计费方式更像是你的话费,只有你的函数被调用时候才会计算花费,如果没有任何调用,则不会有任何的花费。

更好的可扩展性

作为后端开发,我们听得最多的就是弹性扩容和集群,对于 Serverless 来说,由于本身是由各种各样的云函数组成,所以供应商会帮你完成扩容操作,只需要增加函数的运行数量就足够了。

更快的更新和部署

相对传统的模型,我们可能已经有了基于容器的滚动更新,但是滚动更新仍然需要重新上传全部的代码,然而在 Serverless 中,如果你需要更新你的功能或者新的函数,只需要对于需要的函数进行替换即可,因为你的应用程序是由多个函数组成的。

代码可以距离用户更近

因为应用没有部署在一台固定的服务器上,它可以在供应商的任何一台服务器上运行,供应商可以将你的函数部署在全球各地的节点,当用户访问的时候,可以从最近的节点中调用应用返回数据,而不用和以前一样经过网络层层传递到服务器中。这会大幅度减少用户的网络延迟,提升用户体验。

没有银弹

Serverless 并不能完美解决应用的所有问题,Serverless 也有它的劣势。

黑盒运行

由于你的 Serverless 运行在供应商的环境中,你无法和在本地一样调试你的代码,只能依赖日志来进行判断,无法查看内存,也无法通过逐行运行代码寻找 Bug,而且由于你的应用程序被成了多个函数来执行,在调试时将会在多个函数之间进行跳转。调试过程变得更加复杂。

冷启动

跟传统架构中程序监听端口随时准备着处理请求不同,你的代码是运行在供应商创建的容器中,而且仅当条件满足时才会触发容器的生成,运行完成后则会销毁,在你的函数生命周期中,容器的生成可能会占用很大一部分的时间,所以比在本地运行会慢很多。

供应商锁定

这一次 把 ServerLess 优雅抬走

由于 Serverless 并没有一个统一的标准所以不同运营商之间对于 Serverless 的功能和工作流程都略有不同,如果你选择了一家供应商的服务,那么你就没有办法无痛迁移到其他供应商中。换句话说就是上了贼船就不好下来了。

CPU 密集任务

由于 Serverless 是按照运行时间来计算价格的,所以相比传统架构,如果你的应用需要长时间的运行来执行业务流程,那么使用 Serverless 的价格会比传统架构下的价格更高。

总结

如果你希望减少投入发布的时间,而且需要构建一个可快速扩展或更新的应用,那么 Serverless 或许是你的最佳选择。

Serverless 并没有什么神奇之处,只是提出了一种新颖的构建应用的方式,但是这种构建方式能让你更灵活的利用资源,正如同容器和虚拟机当初所做的事情一样,或许 Serverless 能够成为云计算的终点。

点赞
收藏
评论区
推荐文章
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Peter20 Peter20
4年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Stella981 Stella981
3年前
Faas,又一个未来?
小编推荐:文章介绍了Faas是什么,FaaS的特点、以及它的好处,和基于Kubernetes的FaaS框架Fission等,希望能对您有所帮助。前言云计算时代出现了大量XaaS形式的概念,从IaaS、PaaS、SaaS到容器云引领的CaaS,再到火热的微服务架构,以及现在越来越多被谈起的Serverless和FaaS,我们正在经历?
Wesley13 Wesley13
3年前
2019 年 CNCF 中国云原生调查报告
!头图.jpg(https://ucc.alicdn.com/pic/developerecology/6db0c465111b4d9a96eb1ffe85c00e7a.jpg)中国72%的受访者生产中使用Kubernetes在CNCF,为更好地了解开源和云原生技术的使用,我们定期调查社区。这是第三次中国云原生调查,以中文进行
Wesley13 Wesley13
3年前
5分钟get云原生安全重点,听七位安全专家共探云上安全新思路
随着云计算技术的日趋成熟,越来越多的企业意识到云计算应用的重要性。作为云计算领域的一个新兴概念,云原生进入人们的视野当中,被云计算服务商广泛接受,逐渐成为云计算领域中重要的技术发展趋势。云原生应用的普及在为企业带来高效、便捷的使用体验的同时,也带来了传统安全手段无法应对的新型攻击路径和安全问题;如何将安全防护能力与云原生应用相结合,成为了当前热门的研讨课题。
Stella981 Stella981
3年前
Serverless 在大规模数据处理的实践
!1.png(https://ucc.alicdn.com/pic/developerecology/721886c0cca14facb10d8ffc92cab3e0.png)作者| 西流 阿里云技术专家<关注阿里巴巴云原生公众号,后台回复 606 即可下载相关PPT前言当您第一次接触Serverless的时候
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
CRM从哪些方面进行了管理?
我们将CRM(https://www.sap.cn/products/crm.html!image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/17e2d96568a98f0
无服务器Serverless总结
本文分享自天翼云开发者社区@《》,作者:我是小朋友背景随着AWSLambda的诞生,无服务器与FaaS一起出现在舞台中,Serverless也开始进入人们的视野。全球各大云服务厂商都纷纷推出各自的Serverless平台。先了解下什么是云计算云计算是通过I
京东云开发者 京东云开发者
11个月前
京东云原生安全产品重磅发布
“安全产品那么多,我怎么知道防住了?”“大家都说自己是云原生的,我看都是换汤不换药”在与客户沟通云原生安全方案的时候,经常会遇到这样的吐槽。越来越的客户已经开始了云原生化的技术架构改造,也意识到了云原生安全的重要性。但是面对还未像传统安全一样形成格局的云原
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(