浅谈serverless(1)
什么叫serverless呢?
服务器架构是基于互联网的系统,其中应用开发不使用常规的服务程序。相反,它们仅依赖于第三方服务(例如AWS Lambda服务),客户端逻辑和服务托管远端过程呼叫的组合。
aws的定义
云端计算的趋势是隔离力度越来越小的过场,从物理机-》虚拟化技术-》iaas-》容器-》serverless,从虚拟化技术到“程序”虚拟化,拆分应用力度从巨石应用到soa到微服务化到函式程式码。应用越来越精细,开发越来越复杂,单个开发功能可以很简单,整个应用从函式程式码组合而来却更复杂了。

我们为什么要采用serverless架构呢?
serverless是按需收费的(如次数和执行时间,占用资源等),可以节约成本serverless是免运维的,我们只关注开发业务程式码,而安装执行时,扩缩容,监控,日志,服务治理,容灾等功能托管给云厂商支援。实现快速上线,解决“最后一公里”问题,能更高效的交付软件价值。 serverless的架构是怎样的呢?以web服务输出“hello world”为例:
def helloworld(event, context):
return "hello world"
我们现在只需按照上面的程式码片段写完,并且将这个程式码档案上传或者直接从webide上编写保持,然后设定触发动作。最后用api闸道器关联后端函式。这样我们就能从外部去访问该函式的输出“hello world”

这是从某云厂商提供的serverless服务的真实操作示例:


是不是觉得现在开发特别的方便快捷,serverless还原了开发的本质,从原来的code 到 生产ready,需要经过很多准备环节,还要时时担心环境不一致而导致变更失败的风险。到现在就关心程式码,云端计算时代的开发诚不欺我啊!
那我们如何开发一个带有页面动态的网站服务呢?

我们把原本的mysql,redis,第三方服务(简讯,ai等)可作为函式对待,我们像呼叫本地服务一样的使用云函式服务。这样我们就可以像“搭积木”“点选单”一样的开发服务。