Serverless
谈谈Serverless架构
写文章的一个好处,就是逼自己总结东西,翻开以前的笔记,这也是我一部分的动力。
今天想介绍一下Serverless。
去年在一次分享上简单介绍了一下Serverless,当时的PPT一截图。


Serverless 是什么呢?
2014年亚马逊发布了AWS Lambda,这个词才变得热门。无服务器的意思,我的理解是应用程序的组织不考虑服务器或者进程,把这些东西外包给了供应商。
Docker把服务搞到了进程级别,而无服务器架构又降到了函数级别。FaaS解决方案被提出来,就是serverless的应用。
FaaS不需要自己管理服务器,对开发语言和框架也不特别限制,你需要向供应商传你的代码,然后告诉它更新吧。供应商就完全自动化的横向伸缩和触发你写的函数。
对于FaaS,我想和C(Container)aaS做一下比较。
现在容器编排主要是用Mesos和Kubernetes等编排系统,要想到达FaaS那种无需管理,自动伸缩还有点难。而大量的Lambda函数也需要编排并且需要处理大量的事件流,这个难度也不小。
容器的出现,其实并没有大规模降低运维成本还带来了技能的高门槛。FaaS完全可以NoOps,不需要内部的运维。
FaaS的计费是根据计算时间,容器按照配置和时间计费,FaaS费用更低。
当然,要信任一个FaaS供应商是很难的事情。供应商对应用程序拥有控制权,切换供应商会非常麻烦,也失去了对服务器性能优化的权力,只能根据供应商自己的优化粒度。
FaaS的出现对整个软件开发行业还是一个新的东西,这种云计算服务开发的交付方式会改变很多东西。随着微服务架构的流行,Serverless架构的平台会越来越多。
资源列表:
1.aws lambda https://aws.amazon.com/cn/lambda/
2.The Future of Serverless Compute https://www.infoq.com/articles/future-serverless
