简介: 阿里云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. makefile 编写要点

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  2. npm ERR! code ENOENT npm ERR! syscall open npm ERR! path C:\Users\shuzi\Desktop\保密文件项目\test-ui/package.json npm ERR! errno -4058

    打开一个新的项目,因为当前项目文件夹下没有npm,"dev": "npm run start:dev",所以所以没有展示对应的运行图,如下图: 打开一个新的前端 ...

  3. 记录--canvas基础操作

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 以下是一些有关使用Canvas的技巧: 绘制基本形状:Canvas可以用于绘制各种基本形状,如矩形.圆形.线条等.使用 fillRe ...

  4. mysql数据库锁MDL锁的解释

    1.背景 在我们系统中有一张表它的查询概率非常高.最近有个需求,需要对这个表增加一个字段,然而在增加字段的时候发现系统中有多个业务出现了超时操作,那么这个是什么原因导致的呢?经过查阅资料发现是数据库的 ...

  5. LOTO示波器参加2023第101届中国(深圳)电子展

    西安乐拓精益信息科技有限公司,专注研发虚拟测量仪器,以虚拟示波器(USB示波器)以及相关衍生产品为主,包括信号发生器,逻辑分析仪等.乐拓科技以研发团队为核心,着力开发高性价比的示波器产品.无论您是资深 ...

  6. ArrayList扩容代码分析

    ArrayList扩容机制是在面试中频繁出现的问题,平时了解的比较含糊,特此记录! 注意:每次发生扩容,其容量扩充为原来的1.5倍左右 add方法 public boolean add(E e) { ...

  7. 【已解决】git reset命令误删本地文件怎么恢复

    执行 git  reflog 命令可以看到曾经执行过的操作,还有版本序号. 执行 git reset --hard HEAD@{[填那个序号]} 就可以恢复本地删除的文件了!

  8. #2-SAT,Tarjan,前缀优化建边#洛谷 6378 [PA2010]Riddle

    题目 \(n\) 个点 \(m\) 条边的无向图被分成 \(k\) 个部分.每个部分包含一些点. 请选择一些关键点,使得每个部分恰有一个关键点,且每条边至少有一个端点是关键点. 分析 每条边至少有一个 ...

  9. OpenAtom OpenHarmony分论坛圆满举办,生态与产业发展迈向新征程

    7月27日,2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛在北京成功举办.本次论坛以"万物互联,使能千行百业"为主题,OpenHarmony共建单位.生 ...

  10. C++ 开发者必读经典书籍推荐

    如果你正在学习C++,那么一本好的教材或参考书可以事半功倍.以下是几本我个人推荐的C++书籍或视频 C++基础 看书 C++ Primer C++程序设计语言 Effective C++ More E ...