SAE 2.0,让容器化应用开发更简单

云布道师

云原生这个概念从提出,到壮大,再到今天的极大普及,始终处于一个不断演进和革新的过程中。云原生体系下应用的托管形态是随着企业应用架构在不断演进的。最早的应用大多是集中式、单体式的,应用通过优雅的分层来实现领域模型的共享和更细致的模块拆分。随着互联网的爆炸式发展,分布式的架构逐渐取代集中式架构,云原生应用托管也经历了 4 个阶段的演进。

云原生容器化应用托管模式的演变在这里插入图片描述

第一阶段:容器化
Docker 的出现和极大普及,通过集装箱式的封装,标准化开发和运维使得大规模、跨语言的分布式应用大规模落地成为现实。

第二阶段:全面拥抱 Kubernetes
在此之后,微服务架构得以更大规模的流行开来,随之而来的是企业需要运维的基础设施日益复杂、需要管理的容器数量呈现几何式增长。Kubernetes 一方面屏蔽了IaaS 层基础架构的差异并凭借优良的可移植性,帮助应用一致地运行在包括数据中心、云、边缘计算在内的不同环境; 另一方面,凭借优秀的开放性、可扩展性以及活跃开发者社区,在大规模容器编排之战中脱颖而出,成为分布式资源调度和自动化运维的事实标准。

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

第四阶段:Serverless 容器化应用托管
尽管 Serverless Kubernetes 极大的减轻了企业运维 Kubernetes 的负担,但 Kubernetes 自身的复杂性和陡峭的学习曲线依然让人望而生畏,如何让用户的应用跑在 Kubernetes上,既能享受到 Kubernetes 带来的诸多技术红利,又能尽可能 0 改造,成为又一个亟待解决的问题。
在这里插入图片描述
Serverless 应用引擎 SAE 诞生 Serverless 应用引擎 SAE 就是在这个背景下诞生的,它是一款零代码改造、极简易用、自适应弹性的应用全托管平台。SAE 让您免运维 IaaS 和 K8s,秒级完成从源代码/代码包/ Docker 镜像部署任何语言的在线应用(如 Web /微服务 /Job任务)到 SAE,并自动伸缩实例按使用量计费,开箱即用日志、监控、负载均衡等配套能力。

SAE 的出现解决了众多企业想用 K8s,但是又上手困难的问题,可以用非常低的门槛享受到 K8s 的技术红利,并且按需使用、按量计费的收费模式以及自适应的弹性能力,也为企业降本增效提供了强大助力。在这里插入图片描述

Serverless 应用引擎 SAE2.0 全面升级

今年,Serverless 应用引擎 SAE 来到了 2.0 时代,实现了全面升级。首先是弹性能力方面:

弹的更快
在保障完全兼容企业开发习惯的基础上,SAE2.0 的弹性效率有了非常大的提升,从秒级到百毫秒级,并且开始支持缩短到 0 的能力。缩容到 0 即在无业务流量情况下不产生费用,能够让资源利用率无限贴近请求资源的负载。

弹后更省
在做了大量的用户调研之后,我们发现很多企业的应用,在没有请求或者请求处理完成的时候,是没有必要保持大量资源的。那么我们就可以在请求处理完之后,释放掉它的 CPU 或者仅保留极低的 CPU 资源,并维持内存状态,达到资源的保活和实例的保活等目的,这就是闲置计费。

闲置计费最重要的目的,是利用 CPU 的释放来节省 CPU 的费用;并且通过保持内存,就可以在下次实例启动的时候实现毫秒级的恢复,做到最大限度的节省资源的同时,还能保证能够有很低的延时。

弹的更稳
通过平台侧全链路的优化,让延时降低了 45%,运行时性能波动下降至 7%。在弹得更细,弹得更稳的同时,稳定性也做到最佳。在这里插入图片描述
SAE2.0 内置有流量网关,可以根据每个实例配置对应的单实例的并发度,类似于我们平常说的并发数。当并发上来的时候,可以根据他实际的请求数,去扩容对应的实例。

当我没有请求的时候,则不会对 CPU 进行计费,也就是上面说的闲置计费。而当请求来的时候,会根据实际的并发数先去分配 1 个实例,当这个实例填满之后,再去扩容下一个实例,这样就实现了在流量波动的时候,根据实际流量进行自动扩缩容的能力。在这里插入图片描述
SAE2.0 为 Web 应用提供了多版本流量配置的能力。它可以对每个版本进行独立的网络配置。根据业务需要,可以动态配置多个版本对应的流量配比,并且不需要去指定它对应的实例个数,实例个数是根据配置的实例上限和流量配比,通过自动弹性能力扩缩出来的,这样就实现了多版本的并存。

除此之外,在开发体验方面,SAE2.0 无需任何编码改动即可将传统单体架构或微服务架构升级至 Serverless 应用架构。并凭借一键部署秒级应用创建能力,实现应用的高效发布。同时,SAE2.0 还具备了 CLI、S2A 等平台工程能力,大大提升了用户的研发效能。此外,它还具备 Knative Adapter 功能,使得 Knative 的应用程序能够非常顺畅地在 SAE2.0 上发布。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在windows使用别名远程执行命令

需求背景 在开发中,需要在服务器执行脚本,需要如下几步操作: 1.打开xshell 2.登录服务器 3.进入命令脚本的路径 4.执行脚本 但是,作为懒人来说,操作太繁琐了,真麻烦,能不能一键就解决那么多操作?所以,开始研究windows有没有这个东西,而且不需要额外的软件就可以实现的.结…

如何查找批量企业的联系方式?

​我们都知道,企业的联系方式在企业的年报中就能找到,但是年报上的电话真的是你要找的吗? 很多企业年报上留的是第三方代记账公司,或者是其他没用的号码,这对于做B端业务的企业来说是不够精准的。 市面上有很多做企业…

05 取样器(BeanShell和JSR223 Sampler)

一、取样器作用 1、取样器可以理解为Jmeter的桥梁,或者是Jmeter的加工厂; 2、Jmeter使用过程中,经常有些数据不能直接使用,需要加工后才能使用;这样就用到了取样器;但是这里存在问题,Jmeter中的…

UVA11584划分成回文串 Partitioning by Palindromes

划分成回文串 Partitioning by Palindromes 题面翻译 回文子串(palind) 问题描述: 当一个字符串正序和反序是完全相同时,我们称之为“回文串”。例如“racecar”就是一个回文串,而“fastcar”就不是。现在给一个字符串s,把它分…

DependencyProperty.Register:wpf 向别的xaml传递参数

一.使用背景:在A.xaml中嵌入B.xaml,并且向B.xaml传递参数。 函数介绍: public static DependencyProperty Register(string name, Type propertyType, Type ownerType );name(string): 依赖属性的名称。在…

JavaFx学习问题3---Jar包路径问题 (疑难杂症)

文章目录 前置提要:解决方法:调试JAR包后续补充: 前置提要: 我做了的JavaFx程序中,需要通过一个文件夹的相对路径,获取文件夹下所有音频文件的路径,把这些路径字符串放到一个List集合里,然后用Media让它播放声音。问题…

单链表(数据结构与算法)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

半导体工艺控制设备1

半导体工艺控制设备对芯片良率至关重要,随着制程微缩需求倍增。工艺节点每缩减一代,工艺中产生的致命缺陷数量会增加 50%,因此每一道工序的良品率都要保持在非常高的水平才能保证最终的良品率。当工序超过 500 道时,只有保证每一道…

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异 flyfish PyTorch封装了PIL库 简单对比下两者的使用方法 import cv2 from PIL import Image import numpy as npfull_path_file_name"/media/a//ILSVRC2012_val_00001244.JPEG"#OpenCV读取图像默认是BGR顺序 …

Power Apps-下拉列表控件

插入一个下拉列表控件 设置值的两种方式 1.通过属性items写数组设置 2.通过连接数据表,先在右侧操作面板中选择项目中的数据表 再从Value中选择其中一列,下拉就可以选择该列全部行的值 但是这样会导致有很多重复的字段,所以可以在items属性里…

聚类系列(一)——什么是聚类?

目前在做聚类方面的科研工作, 看了很多相关的论文, 也做了一些工作, 于是想出个聚类系列记录一下, 主要包括聚类的概念和相关定义、现有常用聚类算法、聚类相似性度量指标、聚类评价指标、 聚类的应用场景以及共享一些聚类的开源代码 下面正式进入该系列的第一个部分&#xff…

头插法尾插法建立单链表

头插法建立单链表 #define NULL 0 #include<stdio.h>typedef struct LNode {int data;struct LNode *next; }LNode,*LinkList;//单链表尾插法 LinkList List_TailInsert(LinkList &L){int x;L (LinkList)malloc(sizeof(LNode)); //初始化空表LNode *r L; …