Serverless是一种云计算架构模式,其主要思想是开发者可以通过第三方提供的服务直接实现应用程序的构建和部署。
其实,在Serverless的架构思想中,没有应用程序的概念了,应用程序被分解为无状态的函数。这些函数被云平台统一进行管理。开发者只需要关注业务逻辑和函数的编写,无需关注底层的服务器和基础架构的管理。
在Serverless架构中,很多事情都不需要开发者自己关心,而是交给提供serverless的云平台负责,他们负责管理应用程序的运行环境,包括底层的服务器、网络、存储、安全等,同时还提供了自动扩展、负载均衡、监控和日志等服务。这种架构方式的优点包括:
Serverless架构已经被广泛应用于Web应用程序、移动应用程序、数据处理和分析、物联网等领域。
Serverless 应用还有一个关键特性就是它们不需要提前启动。在Serverless架构中,应用的后端服务是按需自动启动和停止的,这意味着当没有请求时,服务不会占用任何资源或运行任何进程。只有在请求到达时,相应的功能才会被触发并执行,执行完毕后资源会被释放。
你比如我有个应用,就是部署在阿里云函数计算FC上面的,这就是一种Serverless的服务。
可以看一下我的一次服务调用的日志:
可以看到,前面几条日志就是应用的启动日志,也就是说平常服务是不启动的,有请求调用的时候才会启动,并处理。所以,这对应用的启动速度要求很高。