![](https://img.haomeiwen.com/i20396442/59bcca1e4a248aba.jpg)
今日鸡汤
看到的人并不一定去做到,做到的人并不一定坚持做。
当你看到机会的时候,愿你毫不犹豫的、孤注一掷的抓住它,只有全力以赴的试过,这样才不会后悔吧。
今天开始看《深入浅出Serverless》,一本薄薄的书,特意总结一下前两章。
什么是Cloud Native?
Cloud Native是指业务系统的构建从基于自有、封闭的技术体系,走向基于开放、公共的Cloud的技术体系。在All in Cloud的时代,企业的IT架构正在被重塑,云原生已经成为了释放云计算价值的最短路径。
所谓的云原生应用,是指充分利用云平台的各种功能和服务所设计的应用程序。
云平台是云原生应用的运行基础环境;微服务提供架构层面的指导;容器是重要的交付方式;Devops为应用开发、交付和运营提供思想层面的指导。
Cloud Native时代的特征?
第一,业务系统基于Cloud的技术体系搭建,越来越少自建或自研。
第二,云厂商会提供更多开放、主流的技术栈的技术产品,产品互通性也更好。
什么是Serverless?
Serverless是一种软件系统架构思想和方法,它的核心思想是用户无须关注支撑应用服务运行的底层服务器的状态、资源(比如CPU、内存、磁盘和网络)及数量。软件应用正常运行所需要的计算资源由底层的云计算平台动态提供。
在Serverless架构中,并不是不存在服务器,而是服务器对用户而言是透明的,不再是用户所操心的资源对象。
Serverless的技术特点?
1. 按需加载:应用的加载和卸载由云计算平台控制。
2. 事件驱动:应用的加载和执行由事件驱动。
3. 状态非本地持久化:应用状态不会保留在服务器上。
4. 非会话保持:应用不与特定服务器关联。
5. 自动弹性伸缩:应用实例数量根据实际访问量由云计算平台进行弹性的自动扩展或收缩。
6. 应用函数化
7: 依赖服务化
Serverless能带来什么价值?
1. 降低运营的复杂度。在应用上线前,用户无需再提前规划服务器的数量和规模。在运维过程中,也不需要持续监控和维护具体服务器的状态,只需要关心应用的状态。
2. 降低运营成本。Serverless是按需执行的,只需要为处理请求的计算资源付费,而无须为应用空闲时段的资源占用付费。
3. 缩短产品上市时间。应用被解构为若干细粒度的无状态函数,功能耦合度大大减小,使得应用迭代周期变短。
4. 增强创新能力。容易通过Serverless方式快速做出新创新应用的原型、快速投放给用户并获得反馈。
Serverless的局限有什么?
1. 控制力:用户对底层资源没有控制力。
2. 可移植性:目前该领域没有标准,较低的可移植性造成厂商锁定。
3. 安全性:不同应用在运行时可能公用底层的主机资源。
4. 性能:应用的首次加载有冷启动问题。
5. 执行时长:大部分Serverless平台对FaaS函数的执行时长存在限制。
FaaS(Function as a Service)是什么?
FaaS提供一个计算平台,应用以一个或多个函数的形式开发、运行和管理。
它提供了函数式应用的运行环境,可以根据实际访问量进行应用的自动化动态加载和资源的自动化动态分配。
它基于事件驱动的思想,可以根据预定义的事件触发指定的函数应用逻辑。
一个FaaS平台的架构一般包括函数定义、函数实例、控制器、事件、事件源、触发规则、平台服务。
BaaS(Backend as a Service)是什么?
通过BaaS平台将应用所依赖的第三方服务,服务化并发布出来,用户通过向BaaS平台申请所需要的服务进行消费,而无须关心这些服务如何运维。
网友评论