当前位置: 首页 > 后端技术 > Java

打破Serverless实现边界,阿里云SAE发布5大新特性

时间:2023-04-01 14:20:28 Java

简介:SAE的5大新特性和4大最佳实践打破了Serverless实现的边界,让AllonServerless成为可能。对于微服务场景,开源自建是不是最快、最经济、最稳定?复杂性真的能成为Kubernetes的“致命伤”吗?企业应用容器化,一定要过K8s这个“独木桥”?Serverless应用场景单一,多用于逻辑简单的非核心场景:小程序、ETL、定时备份。Java微服务真的在可预见的未来吗?2021云栖大会上,阿里巴巴研究员、阿里云智能云原生应用平台总经理丁宇(舒彤)公布了Serverless应用引擎SAE的新产品定位和5大新特性,给出了答案以上问题。回答。从专用到通用,SAE天然适用于企业核心业务的大规模实施。不同于FaaSServerless,SAE“以应用为中心”,提供面向应用的UI和API。不改变应用程序编程模型和部署方式,保持客户在传统服务器上具有一致的开发和部署体验,可以轻松进行本地开发和调试/监控,大大降低了客户使用Serverless的门槛,并且可以实现企业线上应用的零改造和平滑迁移。也正因为如此,SAE帮助Serverless从专用走向通用,打破了Serverless的实现边界,让Serverless不再是前端全栈和小程序的专宠,后端微服务也是如此、SaaS服务、物联网应用等。建立在Serverless之上,自然适合企业核心业务的大规模落地。从复杂到简单,SAE自然适合企业区分开源和自建微服务,零门槛容器化。SAE提供了一整套经过双11测试的开箱即用的微服务治理能力。客户无需考虑框架选型,更不用考虑数据隔离、分布式事务、熔断设计、限流降级等问题,更不用担心社区维护有限而二次定制开发。零修改实现SpringCloud/Dubbo无缝迁移。除了开源,我们还增强了线上线下无损、服务鉴权、全链路灰度等高级特性。SAE也帮助用户屏蔽K8s技术细节,实现企业应用零门槛容器化,无感拥抱K8s。提供自动构建镜像的能力。除镜像外,提供WAR/JAR/PHPzip包等多种方式,降低客户创建Docker镜像的门槛。屏蔽K8s复杂的网络和存储插件适配,帮助每个应用实例分配一个在VPC内互联的IP,将数据持久化到存储系统。屏蔽K8s运维升级,再也不用担心K8s版本升级带来的稳定性风险。ShieldK8s对接监控组件和弹性控制器,提供白屏端到端的可观察性和灵活多样的弹性策略配置。用户继续沿用原有的打包部署方式,直接享受K8s的技术红利。5大新特性凸显Serverless新优势,拓展ServerlessElasticity2.0新边界:业界首创混合弹性策略,支持时序和索引策略混合使用。在开源的K8s能力方面,丰富了TCP连接数、SLBQPS/RT等业务指标触发弹性,支持伸缩步长、冷却时间等高级弹性设置。Java冷启动速度提升40%:基于AlibabaDragonwell11增强的AppCDS启动加速技术,保存应用首次启动时产生的缓存,后期直接通过缓存启动应用。与标准OpenJDK相比,冷启动时间快40%。15s极致部署效率:基于底层全链路升级、安全沙箱容器2.0、镜像加速等,提供端到端15s极致部署体验。一站式PHP应用托管:支持PHP压缩包直接部署SAE,并提供PHP运行环境选择和应用监控能力,提供一站式PHP应用托管体验。更丰富的开发者工具链:除Cloudtoolkit、CLI、VSCode等开发者工具外,新增支持Terraform、ServerlessDevs。基于资源编排能力,一键部署SAE应用和依赖的云资源,让环境搭建更简单。4大最佳实践,实现AllonServerless低门槛微服务架构改造模式,比开源自建微服务更快、更经济、更稳定。随着业务的快速增长,很多企业都面临着从单一实体向微服务架构转型的困难;或者自建微服务无法满足企业稳定性和多样化的需求。通过SAE开箱即用的全套微服务能力,降低客户学习和开发成本,并拥有经过双11考验的稳定背书,让这些企业快速完成微服务转型架构并支持新业务的快速启动。这也是SAE使用最广泛的场景。可以说SAE是微服务领域最好的serverless实践。一键启停开发测试环境在多环境的大型企业中,开发测试和预发布环境往往不是7*24小时使用,应用实例长期保存,导致高闲置浪费。这种诉求是显而易见的。SAE的一键启停能力让这些企业可以按需灵活释放资源,仅开发测试环境就可以节省2/3的机器成本,非常可观。接下来,我们将利用K8s的编排能力,对应用和资源的依赖进行编排,一键初始化一套环境和克隆复制环境。全链路灰度比开源的k8singress提供的灰度能力更强。SAE结合PaaS层客户的场景特点,不仅实现了K8s入口的七层流量灰度,还实现了从前端流量到多个级联微服务的接口、方法层级的全链路灰度。与原有方案相比,部署运维更加便捷。过去,客户需要在两个命名空间中部署多个应用,使用两个完整的环境来实现正式发布和灰度发布,硬件成本高,部署维护麻烦。基于SAE,客户只需部署一套环境,配置一些灰度规则,将指定的特殊流量接入特殊实例,逐层级联,既控制了爆炸半径,又节省了硬件成本,同时方便.使用SAE作为弹性资源池来优化资源利用率。大部分客户会全量使用SAE,小部分客户会将同一业务的正常预留部分放在ECS上,使用SAE作为弹性资源池,两者混合部署。只需要保证同一应用的ECS实例和SAE实例挂载到同一个SLB的后端,并设置好权重比例即可。微服务应用也需要注册到同一个注册中心。另外,复用客户自建的发布系统,保证每次发布一个版本时,SAE实例和ECS实例的版本是一致的。复用客户自建的监控系统,将SAE的监控数据通过OpenAPI发送到监控系统,对ECS的监控数据进行标准化。当流量高峰到来时,弹性模块会将所有弹性实例弹回SAE系统,大大提高了弹性扩容的效率,降低了成本。该混合方案也适用于从ECS模式迁移到SAE,作为中间过渡方案,进一步提高迁移过程中的稳定性。原文链接本文为阿里云原创内容,未经许可不得转载。SAE的5大新特性和4大最佳实践,打破了Serverless实现的边界,让AllonServerless成为可能,应用零门槛容器化,让容器+Serverless+PaaS合二为一,让技术进步,资源利用优化并且可以集成不变的DevOps经验。