简介: 阿里云Serverless应用引擎(SAE)初衷是让客户不改任何代码,不改变应用部署方式,就可以享受到微服务+K8s+Serverless的完整体验,开箱即用免运维。

前言

微服务作为一种更灵活、可靠、开放的架构,近年来得到迅速发展,和容器技术的结合可以轻松实现微服务化后的DevOps,越来越多的企业寻求微服务容器化落地之道来让企业应用更好的上云。然而因K8s本身的学习曲线、运维复杂度、适配微服务的服务注册发现、版本管理、灰度策略,已有会话处理等,让这些客户望而却步,爱而不得。

阿里云Serverless应用引擎(SAE)就是在这个背景下诞生的,初衷是让客户不改任何代码,不改变应用部署方式,就可以享受到微服务+K8s+Serverless的完整体验,开箱即用免运维。底层基于统一的K8s底座,帮用户屏蔽IaaS和K8s集群运维,WAR/JAR/PHP zip包无需容器化改造直接部署。在应用层,给用户提供了全栈的能力,重点包括应用管理和微服务治理。在开发者工具/SaaS方面也做了良好的集成,可以说SAE覆盖了应用上云的完整场景。

SAE深度集成MSE,微服务治理能力业界领先

SAE深度集成了微服务引擎(MSE),将阿里深耕十余年历经双11考验的微服务最佳实践产品化。在开源Spring Cloud/Dubbo的基础上,提供了更多免费的高级治理能力。如微服务金丝雀/灰度流量能力,能让应用发新版时,基于header/cookie等各种纬度进行精准灰度,控制最小爆炸半径;微服务的无损下线和无损上线能力,能在Provider升级过程中,通过SAE应用内挂载的agent主动刷新服务列表和主动通知,Consumer不会出现调用报错。服务启动过程中,无论发布/扩容都实现流量平滑和稳定。还有杀手锏的全链路灰度能力,能实现从七层入口流量到后端一系列微服务的级联流量灰度,极大的降低了客户多套环境搭建成本,提升灰度效果。

SAE突破Java冷启动瓶颈,提速40%

Java冷启动效率慢一直是困绕开发者多年的难题,加载的类较多,依赖包大,会严重拖慢效率。SAE除了镜像加速、镜像预热效率优化手段外,也在极力打造极致的Java应用启动效率:基于Alibaba Dragonwell 11 增强的AppCDS 启动加速技术,将应用第一次启动的过程生成缓存保存起来,后续直接通过缓存启动应用。同比标准的OpenJDK,在冷启动耗时场景下提升40%,极大提升了应用启动和弹性效率 。该项技术已大范围应用于集团生产业务,也收到了多数企业用户的频频点赞。

SAE业界首发混合弹性策略

SAE提供了业界最丰富的弹性指标,最灵活的弹性策略。不同的场景使用不同的弹性策略。除K8s标准提供的cpu/mem外,SAE新增支持应用监控指标如QPS、RT、TCP连接数等,基于业务来弹更精准。除定时弹性和监控指标自动弹性外,SAE新增支持混合弹性策略,解决了在线教育、互娱、文化传媒等行业中定时弹性和监控弹性互斥,不能同时启用的痛点问题,并且在手工干预扩容后,还能系统恢复自动弹性能力。

SAE提供面向大促的高可用解决方案

Serverless应用引擎(SAE)尤其适用于电商、新零售、互娱、在线教育、餐饮、出行、文化传媒等时有突发流量的行业,能做到精准容量+极致弹性+限流降级。​有人说微服务跑在 Serverless上是异想天开,也有人说Serverless与微服务是天作之合,相信随着Serverless应用引擎(SAE)这款产品的不断发展,这类争论会逐渐地消失,而SAE也会成为微服务容器化的最短路径和微服务on Serverless的最佳实践。

原文链接

本文为阿里云原创内容,未经允许不得转载。

当微服务遇上 Serverless | 微服务容器化最短路径,微服务 on Serverless 最佳实践的更多相关文章

  1. 当中台遇上DDD,我们该如何设计微服务? - InfoQ https://www.infoq.cn/article/7QgXyp4Jh3-5Pk6LydWw

    当中台遇上DDD,我们该如何设计微服务? - InfoQ https://www.infoq.cn/article/7QgXyp4Jh3-5Pk6LydWw

  2. 微服务中台落地 中台误区 当中台遇上DDD,我们该如何设计微服务

    小结: 1. 微服务中台不是 /1堆砌技术组件就是中台 /2拥有服务治理就是中台 /3增加部分业务功能就是中台 /4Cloud Native 就是中台 https://mp.weixin.qq.com ...

  3. 容器化VS微服务

    1 微服务 1.1 思想 开发人员自己测试.部署和运维自己编写的代码,即自己负责构建生命周期的全部. 1.2 Spring Boot 提供服务化的能力,即把容器.服务所需依赖和服务一起打包成一个jar ...

  4. 【Azure Cache for Redis】Python Djange-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')

    问题描述 使用Python连接Azure Redis服务,因为在代码中使用的是Djange-redis组件,所以通过如下的配置连接到Azure Redis服务: CACHES = { "de ...

  5. network_node:host解决Docker容器化部署微服务出现的Dobbo通信问题

    在Docker中,有时候出现 ports:   - 20880:20880 Dobbo通信出现问题. 此时应该改成 network_node:host 注释 ports!

  6. 容器化的Apache服务并监控

    1:基础容器编译部署apache 1.1:pull一个ubuntu 16.04的镜像 sudo docker pull ubuntu:16.04 1.2:运行容器 sudo docker run -d ...

  7. Docker 容器化的 SonarQube 服务在不同主机之间的迁移

    安装 docker-ce // https://docs.docker.com/install/linux/docker-ce/centos/ $ sudo yum remove docker \ d ...

  8. 微服务SpringCloud容器化案例

    前言 当我们在使用微服务的时候,那么有一个问题一定会困扰我们,那就是项目的测试和部署.因为在单体应用下,部署项目很简单,直接打包启动就可以了,而对于微服务来说,因为有各个组件的存在所以让测试和部署都变 ...

  9. 当 RocketMQ 遇上 Serverless,会碰撞出怎样的火花?

    作者 | 元毅  阿里巴巴高级开发工程师 阿里巴巴云原生公众号后台回复 Knative,免费下载<Knative 云原生应用开发指南>电子书! 想必大家都比较了解 RocketMQ 消息服 ...

  10. 用“逐步排除”的方法定位Java服务线上“系统性”故障(转)

    一.摘要 由于硬件问题.系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降.部分(或所 有)接口超时或卡死等.其中部分故障隐藏颇深,对运维和 ...

随机推荐

  1. 记录--这个前端Api管理方案会更好?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 简介 大家好,前端小白一枚,目前接触后台管理系统比较多,经常遇到不同对象的增删改查的接口,如何对Api进行一个有比较好的管理是个问题.在学 ...

  2. WinAppSDK / WinUI3 项目无法使用 SystemEvents 的问题

    SystemEvents 是一个开发 win32 窗口项目很常用的类,其中封装了一些常用的系统广播消息.在 WinUI3 项目中,SystemEvents 事件经常无法触发,简单排查了一下原因. Sy ...

  3. [Java]小功能

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/130858061 出自[进步* ...

  4. Springboot访问html页面

    项目结构如图 1.html页面创建 在原有的项目resouces目录下创建static包,并在static下创建pages,然后在pages包下index.html. index.html内容 < ...

  5. FPGA 原语之一位全加器

    FPGA原语之一位全加器 1.实验原理 一位全加器,三个输入,两个输出.进位输出Cout=AB+BC+CA,本位输出S=A异或B异或C.实验中采用三个与门.一个三输入或门(另外一个是两个或门,功能一致 ...

  6. KingbaseES 数据插入更新操作

    数据库使用过程中,经常会遇到一种场景:业务系统对数据进行dml操作,当数据库中数据不存在时,将数据做为新记录插入到表中,当数据库中数据存在时,对现有数据进行更新操作. 下面介绍KingbaseES中对 ...

  7. redis单机部署出现READONLY You can't write against a read only

    (error) READONLY You can't write against a read only replica. 以上错误一般只会出现在主从集群配置中,可是我这里是redis单机配置,居然也 ...

  8. Git 版本控制系统的完整指南

    什么是 Git? Git 是一个流行的版本控制系统.它是由 Linus Torvalds 于 2005 年创建的,自那时以来由 Junio Hamano 维护. 它用于: 跟踪代码更改 跟踪谁做出了更 ...

  9. 将Map中对应的key和value赋值到对象中

    BeanUtils位于import org.apache.commons.beanutils.BeanUtils包下 其使用方法: Map<String, Object> objectMa ...

  10. HDC2021技术分论坛:酷炫3D效果在瘦设备上也能实现?

    作者:zhuhuanhuan,图形技术专家 随着3D技术的应用普及,越来越多的场景都能看到3D的身影,比如充电动效.3D壁纸.游戏等等,给用户带来了更有趣.更丰富的体验.要满足用户的3D体验需求,离不 ...