新闻中心

浏览量:0
2023-04-10 10:00
华为云计算
大数据
RedHat
修改系统密码
Cisco
修复文件系统
修改密码
VMware
修改系统密码
Cisco
大数据
修复文件系统
华为云计算
修改密码
RedHat
VMware

热门关键词

这里有最新的公司动态,这里有最新的网站设计、移动端设计、网页相关内容与你分享

10年前就出现的 Serverless,还有人在关注吗?

收藏

最近在关注一些云原生和云计算的话题,不知不觉看到了一个关于 Serverless 的内容。感觉这个对话很有意思,可以和大家分享一下这个对 Serverless “不屑一顾”的老李和他朋友的对话。

朋友认为老李对 Serverless 判了“死刑”。

不过老李的想法可能代表了很多人对Serverless的“落后”认知,即Serverless 等于FaaS(Function as a Service)。

接下来重点来了,朋友的一些反问,让老李对自以为熟悉的内容,有了重新的认知。

两人对话中提到的 Serverless 究竟是什么呢?

云计算涌现出很多改变传统IT架构和运维方式的新技术,比如虚拟机、容器、微服务,无论这些技术应用在哪些场景,降低成本、提升效率是云服务永恒的主题。

Serverless 即云计算的一种模型 。以平台即服务(PaaS)为基础,无服务器运算提供一个微型的架构,终端客户不需要部署、配置或管理服务器服务,代码运行所需要的服务器服务皆由云端平台来提供。

应用程序会从传统架构转变为事件驱动的、完全解耦的Severless架构,可以将计算和存储分离,能根据计算量和数据量自动伸缩,无论是开发还是运维,都会变得非常简单。

Serverless 的发展轨迹

Serverless 都适用于哪些场景?

主要应用在以下几个场景中:

  • Web及移动端服务中,可以整合API网关和Serverles服务构建Web及移动后端,帮助开发者构建可弹性扩展、高可用的移动或 Web后端应用服务。

  • IoT场景下可高效的处理实时流数据,由设备产生海量的实时信息流数据,通过Serverles服务分类处理并写入后端处理。

  • 实时媒体资讯内容处理场景里,用户上传的音视频到对象存储OBS,通过上传事件触发多个函数,分别完成高清转码、音频转码等功能,满足用户对实时性和并发能力的高要求。

  • 无服务器计算还适合于任何事件驱动的各种不同的用例,这包括物联网,移动应用,基于网络的应用程序和聊天机器人等。这里简单说两个场景,方便大家思考。

Serverless 给开发者或用户带来了具体的商业价值:

  1. 降低运维需求
    Serverless 使得应用与服务器解耦,业务上线前无需预估资源,无需进行服务器购买、配置;
    Serverless 也使得底层运维工作量进一步降低,业务上线后,也无需担忧服务器运维,而是全部交给了云平台或云厂商。

  2. 降低运营成本
    Serverless 的应用是按需执行的。应用只在有请求需要处理或者事件触发时才会被加载运行,在空闲状态下 Serverless 架构的应用本身并不占用计算资源;
    在使用 Serverless 产品时,用户只需要为处理请求的计算资源付费,而无须为应用空闲时段的资源占用付费。

  3. 缩短迭代周期、上线时间
    Serverless 架构带来的是进一步的业务解耦,应用功能被解构成若干个细颗粒度的无状态函数,开发可以聚焦在单功能的快速开发和上线;
    同时拆解后的云函数,也都可以进行独立的迭代升级,更快速的实现业务迭代,缩减功能的上市时间。

  4. 快速试错
    利用 Serverless 架构的简单运维、低成本及快速上线能力,可以来快速尝试业务的新形态、新功能;
    利用 Serverless 产品的强弹性扩容能力,在业务获得成功时,也无需为资源扩容而担心。

Serverless 的问题

对于企业来说,支持Serverless计算的平台可以节省大量时间和成本,同时可以释放员工,让开发者得以开展更有价值的工作,而不是管理基础设施。

另一方面可以提高敏捷度,更快速地推出新应用和新服务,进而提高客户满意度。

但是Serverless不是完美的,它也存在一些问题,需要慎重应用在生产环境。

  • 不适合长时间运行应用

    Serverless 在请求到来时才运行。

    这意味着,当应用不运行的时候就会进入 “休眠状态”,下次当请求来临时,应用将会需要一个启动时间,即冷启动时间。如果你的应用需要一直长期不间断的运行、处理大量的请求,那么你可能就不适合采用 Serverless 架构。

    如果你通过 CRON 的方式或者 CloudWatch 来定期唤醒应用,又会比较消耗资源。

    这就需要我们对它做优化,如果频繁调用,这个资源将会常驻内存,第一次冷启之后,就可以一直服务,直到一段时间内没有新的调用请求进来,则会转入“休眠”状态,甚至被回收,从而不消耗任何资源。

  • 完全依赖于第三方服务
    当你所在的企业云环境已经有大量的基础设施的时候,Serverless 对于你来说,并不是一个好东西。

    当我们采用某云服务厂商的 Serverless 架构时,我们就和该服务供应商绑定了,那么我们再将服务迁到别的云服务商上就没有那么容易了。这些也将带给我们一些额外的成本,可能带来的问题会比解决的问题多。


  • 缺乏调试和开发工具


  • 构建复杂
    Serverless 很便宜,但是这并不意味着它很简单。AWS Lambda的 CloudFormation配置是如此的复杂,并且难以阅读及编写(JSON 格式),虽然CloudFomation提供了Template模板,但想要使用它的话,需要创建一个Stack,在Stack中指定你要使用的Template,然后aws才会按照Template中的定义来创建及初始化资源。


    而Serverless Framework的配置更加简单,采用的是 YAML 格式。在部署的时候,Serverless Framework 会根据我们的配置生成 CloudFormation 配置。然而这也并非是一个真正用于生产的配置,真实的应用场景远远比这复杂。

写在最后

云计算经过这么多年的发展,逐渐进化到用户仅需关注业务和所需的资源。比如,通过K8S这类编排工具,用户只要关注自己的计算和需要的资源(CPU、内存等)就行了,不需要操心到机器这一层。

从行业趋势看,Serverless 是云计算必经的一场革命。Serverless架构让人们不再操心运行所需的资源,只需关注自己的业务逻辑,并且为实际消耗的资源付费。可以说,随着Serverless架构的兴起,真正的云计算时代才算到来了。

任何新概念新技术的落地,本质上都是要和具体业务去结合,去真正解决具体问题。虽然Serverless很多地方不成熟,亟待完善。不过Serverless自身的优越特性,对于开发者来说,吸引力是巨大的。相信随着技术的飞速发展,Serverless在未来还有无限可能!


培养实战型IT从业者&你的技能提升好帮手--创想云教育


转载自:https://blog.csdn.net/cc18868876837/article/details/90672971
参考图片:https://mp.weixin.qq.com/s/yqlQESXrlT086rc8ZbMPGA

首页    新闻中心    10年前就出现的 Serverless,还有人在关注吗?