Serverless 开发前端初尝试
啥是云开发
云开发serverless是一种模式,和传统模式的区别在于开发者不用维护服务器。服务器的日常维护, 负载均衡,扩容和减容, 运维,安全,日志等都交给了云开发服务提供商比如AWS Lambda,microsoft Azure,国内的微信等等。通常分为2类,Backend-as-a-Service (BaaS): 提供第三方服务比如鉴权,音频转文字之类的;开发者一般通过API调用。Function-as-a-Service (FaaS),serverless一般都是指Faas,开发者可以在本地编写服务端的逻辑,然后部署到云服务商提供的容器中。我们也可以开发一般serverless一半传统服务的应用
serverless app运行在哪里呢
云开发的应用部署在事件驱动的, 自动加载的容器中,比如用Knative for Kubernetes构建的Faas环境。Knative 是个开源的社区项目,可以在Kubernetes上创建容器镜像并在Kubernetes 平台上运行。
当代码运行时,服务商动态的分配资源给你,故当代码不再运行时,意味着你不用付钱。serverless容器有以下特点:
- Stateless, 易于数据整合
- 支持短时间内部署运行,释放,不需要永远占用资源
- 事件驱动,包括应用内事件,云服务事件等等
这样的特性比较适合开发一些应用如聊天机器人,日历等。