阿里云api网关中,默认调用api的流控限制 阿里云api网关 收费标准( 二 )


巨石应用:大部分web工程是将所有的功能模块(service side)打包到一起并放在一个web容器中运行 , 很多企业的Java应用程序打包为war包微服务架构:微服务架构是一种架构理念 , 是指将功能分解到离散的各个服务当中 , 从而降低系统的耦合性 , 并提供更加灵活的服务支持 。把一个大型的单体应用程序和服务拆分为数个或数十个的微小型服务 , 它可扩展单个组件而不是整个的应用程序堆栈 , 从而满足服务等级协议 。下一代前端开发模式说完了这几个阶段 , 可以看到 , 每一次前端开发模式的变化 , 都因某个变革性的技术而起 。先是 AJAX , 而后是 Node.js 。那么下一个变革性的技术是什么?不言而喻 , 个人觉得就是 Serverless 。
什么是serverless

阿里云api网关中,默认调用api的流控限制 阿里云api网关 收费标准


image.png
CNCF , 全称Cloud Native Computing Foundation(云原生计算基金会) , 成立于 2015 年7月21日(于美国波特兰OSCON 2015上宣布) , 其最初的口号是坚持和整合开源技术来让编排容器作为微服务架构的一部分 , 其作为致力于云原生应用推广和普及的一支重要力量 , 不论您是云原生应用的开发者、管理者还是研究人员都有必要了解 。
目前行业可能更多处在容器 Docker+Kubernetes, 利用
IaaS、PaaS和SaaS 来快速搭建部署应用
基础架构即服务(Infrastructure as a Service , IaaS)、平台即服务(Platform as a Service , PaaS)以及软件即服务(Software as a Service , SaaS) 。
Docker是一个平台 , 它主要是提供一些服务 , 任何一台装有docker的机器你都可以建立、发布、运行你的应用程序 , 使用docker很省钱省时 。简单的介绍Kubernetes 。它就是一套成熟的商用服务编排解决方案 。Kubernetes定位在Paas层 , 重点解决了微服务大规模部署时的服务编排问题 。其实 Serverless 早已和前端产生了联系 , 只是我们可能没有感知 。1、CDN: 相信大家都使用过 CDN , 我们开发完成之后 , 直接将静态文件部署到 CDN 上 , 通过 CDN 进行内容分发、网络加速 , 在这个过程中 , 前端不需要关心 CDN 有多少个节点、如何做负载均衡 , 也不需要知道 CDN 的 QPS 是多少 。所以从这个角度来说 , CDN 是一种 serverless 的实现 。
2、再比如对象存储 , 和 CDN 一样 , 我们只需要将文件上传到对象存储 , 就可以直接使用了 , 不需要关心它如何存取文件、如何进行权限控制 , 所以对象存储对前端来说是 Serverless 。
3、甚至一些第三方的 API 服务 , 也是 Serverless , 因为我们使用的时候 , 不需要去关心服务器 。
阿里云api网关中,默认调用api的流控限制 阿里云api网关 收费标准


image.png
当然 , 有了体感还不够 , 我们还是需要一个更精确的定义 。从技术角度来说 , Serverless 就是 FaaS 和 BaaS 的结合 。简单来讲 , FaaS(Function as a Service) 就是一些运行函数的平台 , 比如阿里云的函数计算、AWS 的 Lambda 等 。
BaaS(Backend as a Service)则是一些后端云服务 , 比如云数据库、对象存储、消息队列等 。利用 BaaS , 可以极大简化我们的应用开发难度 。
Serverless 则可以理解为运行在 FaaS 中 , 使用了 BaaS 的函数 。

推荐阅读