Serverless 应用托管助力企业加速创新

news2025/1/23 4:49:40

作者:熊峰

云原生时代的 Serverless 应用托管架构

回顾过去十年,数字化转型将科技创新与商业元素不断融合、重构,重新定义了新业态下的增长极。商业正在从大工业时代的固化范式进化成面向创新型商业组织与新商业物种的崭新模式。随着数字化转型在中国各行业广泛深入,不管是行业巨头,还是中小微企业都不得不面对数字化变革带来的未知机遇与挑战。

——《阿里云云原生架构白皮书》

在这里插入图片描述

近年来,传统企业的上云步伐正在提速,可以说,上云已逐渐成为企业发展的必然选择。在这个过程过程中,云原生通过开放、标准的技术体系、敏捷的构建和运行高弹性、容错性高、易于管理的系统,帮助企业最大化利用云的能力,发挥云的价值,也正是因此,越来越多的企业、行业开始拥抱云原生。可以说,云原生不但重构了整个软件技术栈和生命周期,同时也重构了企业上云的方式。

在这里插入图片描述

云原生这个概念从提出、到壮大、再到今天的普及,始终处于一个不断演进和革新的过程中。云原生体系下应用的托管形态随着企业应用架构在不断演进。

最早的应用大多是集中式、单体式的,应用通过优雅的分层来实现领域模型的共享和更细致的模块拆分。随着互联网的爆炸式发展,分布式的架构逐渐取代集中式架构。

容器的出现和极大普及,通过集装箱式的封装,标准化开发和运维使得大规模、跨语言的分布式应用大规模落地成为现实。云原生应用托管架构迎来了第一次飞跃:容器化。

在此之后,微服务架构得以更大规模的流行开来,随之而来的是企业需要运维的基础设施日益复杂、需要管理的容器数量呈现几何式增长。Kubernetes 一方面屏蔽了IaaS 层基础架构的差异,并凭借优良的可移植性,帮助应用一致地运行在包括数据中心、云、边缘计算在内的不同环境;

另一方面,凭借优秀的开放性、可扩展性以及活跃开发者社区,Kubernetes 在大规模容器编排之战中脱颖而出,成为分布式资源调度和自动化运维的事实标准。云原生应用托管架构迎来了第二次进化:全面拥抱 Kubernetes。

尽管 Kubernetes 带来了众多好处,但是在生产环境中落地 Kubernetes,持续保障系统的稳定性、安全性和规模化成长,对于绝大部分企业来说,依然充满挑战。在这样的背景下,Nodeless Kubernetes 进入大家视线:在保留完整 Kubernetes 能力的基础上,将复杂的运维和容量管理工作下沉到云基础设施底座。至此,云原生应用托管架构迎来了第三个阶段:Serverless Kubernetes。

尽管 Serverless Kubernetes 极大减轻了企业运维 Kubernetes 的负担,但 Kubernetes 自身的复杂性和陡峭的学习曲线依然让人望而生畏,如何让用户的应用跑在 Kubernetes上,既能享受到 Kubernetes 带来的诸多技术红利,又能尽可能 0 改造,成为又一个亟待解决的问题。基于此,云原生应用托管架构迎来了第四个阶段:Serverless应用托管。

后面的这两种模式,就是我们今天着重讨论的的 Serverless 架构与形态。那到底什么是 Serverless 呢?不同的组织,从不同的视角,给出了不同的表述和定义,这里我们选取最有影响力的两个定义:

在这里插入图片描述

Berkeley Serverless 论文认为:Serverless Computing = FaaS + BaaS。一个应用必须能够实现自动缩扩容和按使用量计费才能被认为是 Serverless 应用。

CNCF 则认为:Serverless 计算指的是构建和运行应用程序不需要进行服务器的运维管理。它描述了一种细粒度的部署模型,在该模型中,一个应用被打包成多个功能模块并上传到平台,然后根据当前的确切需求执行、扩缩容和计费。

尽管视角和表述不同,但是细心的读者可以很快从中提炼出共性的关键词:按需使用、按量付费(成本)、免运维(效率)、自动伸缩(弹性)。 本质在于,将企业有限的资源和精力从繁杂的基础设施运维中解放出来,投入并聚焦到自己的核心业务逻辑中。

在这里插入图片描述

这里我们可以类比买车、租车、网约车来理解什么是 Serverless。

企业自主维护服务器就好比买私家车,尽管付出了极大的资源成本(买车)和运维成本(车险、维修)、但是承载容量固定(座位有限),并且平时大量闲置(不开的时候还是有成本)。

企业购买云主机搭建自己的业务系统好比汽车租赁,尽管可以灵活租赁使用时长,但是扩容缩容都相对麻烦,闲置成本有所减少,但是依然存在。

Serverless 时代好比打网约车,完全按需使用按量付费、根据负载自动弹性伸缩、也基本没有闲置成本。

在这里插入图片描述

理解了什么是 Serverless 后,我们看看 Serverless 应用托管如何做到让应用运维更简单,如何提升资源利用率,帮助企业降本增效?我们从三个视角来看这个问题:

  • 运维模式从人工运维、逐步演进到云平台为主责任共担的运维模式、再进化到完全由云平台兜底的免运维模式。
  • 资源利用率从最初的基于峰值采购的极低资源利用率、逐步演进到基于节点伸缩的一定程度的利用率提升、进化到完全匹配业务峰值波动的按需使用。
  • 资源成本从固定成本支出、演变成根据资源水位的弹性付费、进化到基于请求付费模式。

Serverless 应用引擎(SAE)2.0 全新升级

结合上面讨论的架构、能力要求,再对应到阿里云云原生 Serverless 产品矩阵,阿里云 Serverless 应用引擎(SAE)就是一款一站式、全托管、免运维、极致弹性的 Serverless 应用托管平台。 它能够实现应用无需代码改动、操作简单便捷、具备自适应弹性特性的应用托管平台。

在 SAE 平台上,用户不用再纠结于复杂的基础设施问题,只需上传代码包或容器镜像,即可实现全面托管在线业务。SAE 将自动负责应用的运行和弹性实例的调整,同时还提供网络、负载均衡、监控等周到的辅助功能。

在这里插入图片描述

在 Kubernetes Infrastructure 的基础上,SAE 以应用为中心,内置了微服务引擎 MSE 的 agent ,提供了一整套微服务的能力,形成了以 SAE+MSE 为代表的 Serverless 最佳实践,同时能够做到 100% 拥抱开源并回馈开源。基于这套云原生 Serverless 微服务的最佳实践,能够使开发效率提升 70%,成本降低 60%。

在这里插入图片描述

SAE 提供了丰富的弹性指标与灵活的弹性策略:

  • 监控指标弹性: 在传统的 CPU、Memory 指标基础上,增加了面向业务侧的弹性指标,如 QPS、RT、TCP 的连接数等。
  • 定时弹性: 提供白屏化的定时设置扩/缩容时间,扩/缩容到多少个实例能力。
  • 混合弹性: 基于定时弹性和指标弹性混用的弹性策略。基于监控指标弹性做兜底,再针对固定时间段的流量峰值叠加定时弹性作为增强的方案,实现不同时间段内定时弹性或监控指标弹性的精细化弹性需求。

在这里插入图片描述

SAE 提供了高效闭环的 DevOps 体系,完整覆盖了从开发态到部署态到运维态整个过程:

  • 无缝对接开源 Jenkins: 通过内置的 Maven 插件,可以完成从 Source Code 到构建到整个部署的完整过程。它能够支持 War 包、Jar 包和镜像部署等几种模式。
  • 云上功能最全的 CI/CD 方案: 它与 Jenkins 的区别在于,可以将代码直接托管到云上,由云效来完成代码托管。还能够做到代码侧的安全管理,可以定制流水线,提供完整一致的构建运行的环境。它的功能比较齐全,一般适用于中型规模的企业。
  • 最轻量、最易用的 CI/CD 方案: 通过容器镜像服务来完成 SAE 的部署。它的轻量在于通过 WebHook 将代码仓库打通,在容器镜像服务上定制一些构建镜像和触发器的规则,在代码提交时能自动构建和部署。如果使用企业级的容器镜像服务,还能实现镜像的安全扫描、防漏洞、全球多域分发等能力。

在这里插入图片描述

SAE 提供了 WebShell、日志采集、事件等一系列简单高效的运维能力;提供了全方位可观测性能力以及完善的权限管理、出账分账等企业级能力。

在这里插入图片描述

近期,SAE 发布了2.0 全新升级,带来了三个全新的升级:

  • 首先,产品使用更加简化,实现了应用零改造即可上线,使用过程毫无学习成本,创建和发布应用只需几秒钟。此外,按照实际使用量进行付费,能够将应用成本降低 40% 以上。
  • 其次,SAE2.0 标准更为开放,采用容器标准构建,核心能力也将进行开源,提供了丰富的平台工程能力,能够协助研发和运维效率提升 50%。
  • 最后,在弹性能力方面进行了持续加强,SAE2.0 实现了百毫秒级的弹性伸缩能力,根据流量自动调整资源使用,优化了应用的冷启动效果,还支持将实例缩减至 0,即在无业务流量情况下不产生费用。这些特点使其对于新兴业务以及创新创业公司更加友好。

目前,SAE 2.0 已启动全面公测,欢迎大家试用。

参考文献:

1. https://developer.aliyun.com/ebook/6958?spm=a2c6h.14164896.0.0.149460cexwsCk2

2. https://zhuanlan.zhihu.com/p/137215790

3. https://github.com/cncf/wg-serverless/tree/master/whitepapers/serverless-overview

4 . https://developer.aliyun.com/article/1136342

5. https://developer.aliyun.com/article/933307?utm_content=m_1000345005

点击此处,领取 SAE 免费试用体验部署 Serverless 应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/895067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作符详解上(非常详细)

目录 二进制介绍二进制2进制转10进制10进制转2进制数字2进制转8进制和16进制2进制转8进制2进制转16进制 原码、反码、补码移位操作符左移操作符右移操作符 位操作符:&、|、^逗号表达式 二进制介绍 在初学计算机时我们常常会听到2进制、8进制、10进制、16进制……

PiplineADC学习一:

PiplineADC结构: PiplineADC起源之FlashADC PiplineADC起源之Sub-Ranging-ADC 比较器存在失调: 因此每级1bit不实用,需要做冗余位设计。 多比较一次,两个阈值,三个区间,分别对于输出00,01,10。正常2bit应该…

通过微软Azure调用GPT的接口API-兼容平替OpenAI官方的注意事项

众所周知,我们是访问不通OpenAI官方服务的,但是我们可以自己通过代理或者使用第三方代理访问接口 现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用,所以我们需要使用国内的大模型接口 国内的效果真的很差,现在如果想使…

mybatis-plus的count方法突然失效的一个场景案例

在添加数据之前,做了名称重复的校验 明明在数据库里面查看了下刚加的名称是没有的,结果count的数据量不是0,而是一个意外的数据,明明之前是好的。 此时我以为是mybatis-plus查询出问题了,我马上用一样的参数条件。lis…

如何在网页下载腾讯视频为本地MP4格式

1.打开腾讯视频官网地址 腾讯视频 2.搜索你想要下载的视频 3. 点击分享,选择复制通用代码 <iframe frameborder="0" src="ht

ASR(自动语音识别)任务中的LLM(大语言模型)

一、LLM大语言模型的特点 二、大语言模型在ASR任务中的应用 浅度融合 浅层融合指的是LLM本身并没有和音频信息进行直接计算。其仅对ASR模型输出的文本结果进行重打分或者质量评估。 深度融合 LLM与ASR模型进行深度结合&#xff0c;统一语音和文本的编码空间或者直接利用ASR…

【反悔贪心】CF1278B CF11B

Problem - 1278B - Codeforces 题意&#xff1a; 思路&#xff1a; Code&#xff1a; #include <bits/stdc.h>#define int long longusing i64 long long;constexpr int N 2e3 10; constexpr int M 2e3 10; constexpr int mod 998244353; constexpr int Inf 1e1…

vue3setup标签语法 + vite + delfin 递归组件实现无限评论功能

1、 功能效果 在线预览&#xff1a;https://szhihao.gitee.io/comment/ gitee仓库地址&#xff1a;https://gitee.com/szhihao/comment 2、实现的具体技术点 根据不同的人名可以进行评论&#xff08;tap切换&#xff09; 对进行的评论可以无限进行回复&#xff08;递归组件和…

医学访问学者申请常见问题

医学访问学者计划是一个促进国际医学合作与交流的重要途径&#xff0c;让医学领域的专家学者能够在国际间分享经验、互相学习。下面知识人网将就医学访问学者申请过程中的一些常见问题进行解答&#xff0c;希望能对申请者有所帮助。 问题1&#xff1a;什么是医学访问学者计划&a…

GuLi商城-前端基础Vue-使用Vue脚手架进行模块化开发

自己亲自实践&#xff1a; mac安装webpack webpack 简介Webpack 是一个非常流行的前端构建工具&#xff0c;它可以将多个模块&#xff08;包括CSS、JavaScript、图片等&#xff09;打包成一个或多个静态资源文件&#xff08;bundle&#xff09;&#xff0c;以便用于部署到生产…

关于VScode插件,你不得不知道的几件事

一、前言 VSCode是微软家一个非常轻量化的编辑器&#xff0c;体量虽轻&#xff0c;但是却有异常强大的功能。原因在于VSCode许多强大功能都是基于插件实现的&#xff0c;IDE只提供一个最基本的框架和基本功能&#xff0c;我们需要使用插件来丰富和扩展它的功能。 由于插件的重…

arm安装docker与docker-copose

一、银河麒麟Arm64安装docker 1、docker 安装包地址&#xff1a; https://download.docker.com/linux/static/stable 2、解压&#xff0c;然后将docker目录下文件拷贝到/usr/bin里 tar -xf docker-18.09.3.tgz mv docker/* /usr/bin/ 3、准备 docker.service系统配置文件 &…

VMware虚拟机安装Linux教程(超详细,一篇就够)

一、安装 VMware 官方正版VMware下载&#xff08;16 pro&#xff09;&#xff1a;阿里云盘分享 下载Linux系统镜像&#xff08;阿里云盘不限速&#xff09;&#xff1a;阿里云盘分享&#xff08;系统镜像下载后&#xff0c;把后缀改成iso即可正常使用&#xff09; 安装&#…

Spring中JavaBean的生命周期及模式

( 本篇文章大部分讲述了是底层知识&#xff0c;理念及原理 ) ( 如果只想了解&#xff0c;看我标记的重点即可&#xff0c;如果想明白其中原理&#xff0c;请耐心看完&#xff0c;对你大有受益 ) 目录 一、简介 ( 1 ) 是什么 ( 2 ) 背景概述 ( 3 ) 作用 二、生命周期 2.1 …

借助 AI 工具,真的能成为 10x 工程师?

或许你听说过 10x 工程师吗&#xff1f; 如果你问猎头公司 10x 工程师是什么意思&#xff0c;他们可能会说 “生产力”&#xff01;10x 是指完成任务比别人快 10 倍的工程师。 2019 年&#xff0c;Twitter 上就曾经对 10 x 工程师这一议题有过一次空前热烈的讨论&#xff0c;引…

自动气象站的监测原理、设备优势及应用领域

自动气象站&#xff0c;是一种能够在无人值守的情况下&#xff0c;实现自主采集各种气象数据&#xff0c;并将数据上传至环境监控平台&#xff0c;进行数据分析的智能设备。安装自动气象站&#xff0c;可以提升对当地气象数据掌握的准确性&#xff0c;及时对环境数据做出预判&a…

redis事务管理

目录 一、redis事务定义 二、事务控制命令——Multi、Exec、discard 三、事务的错误处理 四、事务的冲突问题 悲观锁 乐观锁 WATCH unwatch 五、事务特性 单独的隔离操作 没有隔离级别的概念 不保证原子性 一、redis事务定义 Redis 事务是一个单独的隔离操作&…

链表之第二回

欢迎来到我的&#xff1a;世界 该文章收入栏目&#xff1a;链表 希望作者的文章对你有所帮助&#xff0c;有不足的地方还请指正&#xff0c;大家一起学习交流 ! 目录 前言第一题&#xff1a;反转一个链表第二题&#xff1a;链表内指定区间反转第三题&#xff1a;判断一个链表…

CMake+VS2017编译OSGEarth(无需编译OSG)

本文写作于2023年8月18日&#xff0c;按以下步骤编译了再次&#xff0c;都可正常运行。 无需编译OSG&#xff0c;直接编译OSGEarth。 工具版本&#xff1a;CMake 3.27.3&#xff0c; VS2017&#xff08;安装C开发组件&#xff09; 一.下载OSG开发包 一般教程都会教怎么编译O…

【业务功能篇70】可重入锁与不可重入锁

介绍 本篇介绍的是可重入锁和不可重入锁。可指的是可以&#xff0c;不可指的是不可以。重入指的是重复进入同步作用域。这里的同步作用域可以是同步代码块&#xff0c;也可以是同步方法或者是lock锁同步代码&#xff0c;无论是进入哪一个同步作用域&#xff0c;都意味着同步锁被…