-
Serverless computing
无服务计算
定义
- 无服务器计算:是一种云计算执行模型,其中云提供商代表客户管理服务器,并按需分配机器资源。
- 注意:Serverless 和直觉上的含义相背,在serverless computing中,云服务提供商仍然使用服务器为开发人员执行代码。但是,无服务器应用程序的开发人员并不关心容器、 虚拟机或物理服务器的容量规划、配置、管理、维护、容错或扩展。
特点
- 内存使用:无服务器计算不会将资源保存在易失性内存中,若计算是在短时间内完成的,结果会持久化到存储中;
- 资源空闲:在应用程序空闲时,并不为它分配计算资源;
- 资源定价:价格是根据实际使用的资源量计算的。
优点
- 低代价:无服务器可能比租用或购买固定数量的服务器更具成本效益,后者通常涉及大量未充分利用或空闲时间。它甚至可能比预配自动缩放组更具成本效益,因为底层计算机资源的回收效率更高。
- 弹性
无服务器架构意味着开发人员和运营商不需要花时间设置和调整自动缩放策略或系统;云提供商负责根据需求扩展容量。
(注意:弹性是应对动态负载,可增可减,实时满足当时负载;可扩展性是应对静态负载,持续增加,阶段性满足未来的负载;)
缺点:
- 性能
与在专用服务器、虚拟机或容器上连续运行的代码相比,不经常使用的无服务器代码的响应延迟可能更大。这是因为,与自动缩放不同,云提供商通常在不使用时完全“降低”无服务器代码。这意味着,如果运行时(例如,Java 运行时)需要大量时间来启动,则会产生额外的延迟。 - 资源限制
无服务器计算不适合某些计算工作负载,例如高性能计算,因为云提供商施加的资源限制,并且还因为批量配置在任何给定时间点所需的服务器数量可能会更便宜。 - 监控和调试:
与传统的服务器代码相比,诊断无服务器代码的性能或过度的资源使用问题可能更困难,因为尽管整个功能可以定时[2],但通常无法通过附加探查器,调试器或APM工具来挖掘更多细节。[20]此外,代码运行的环境通常不是开源的,因此其性能特征无法在本地环境中精确复制。 - 安全性:
无服务器有时被错误地认为比传统架构更安全。虽然这在某种程度上是正确的,因为操作系统漏洞是由云提供商处理的,但总攻击面要大得多,因为与传统架构相比,应用程序的组件要多得多,并且每个组件都是无服务器应用程序的入口点。 - 隐私性:
许多无服务器功能环境都基于专有的公共云环境。在这里,必须考虑一些隐私影响,例如共享资源和外部员工的访问。但是,无服务器计算也可以在私有云环境甚至本地完成,例如使用Kubernetes平台。这使公司能够完全控制隐私机制,就像在传统服务器设置中托管一样。
-
相关阅读:
JavaScript之正则表达式
【Excel导出】(亲测可用)使用实现Hutool工具类将list对象数组导出的简单实现
.Net Core 配置文件读取 - IOptions、IOptionsMonitor、IOptionsSnapshot
使用robot+selenium创建一个UI自动化测试用例
【实验分享】CCIE—BGP反射器实验
canvas 学习
Nginx内存池(申请内存过程,小块内存分配)
9.14小米笔试C++
Web应用的工作原理
【带头学C++】----- 七、链表 ---- 7.5 学生管理系统(链表--上)
-
原文地址:https://blog.csdn.net/weixin_42696387/article/details/126202270