简介: 阿里云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. python基础六(函数基础及参数使用)

    一. 函数定义 1.什么是函数 函数就相当于具备某一功能的工具 函数的使用必须遵循一个原则: 先定义 后调用2.为何要用函数 代码冗余,程序的组织结构不清晰,可读性差 可维护性.扩展性差3.如何用函数 ...

  2. ElasticSearch - 基础概念和映射

    前言 写这篇东西,是因为官方文档看着太痛苦,于是乎想用大白话来聊聊 ElasticSearc (下面都简称ES).所以下文对于 ES 一些概念的表述可能会与官方有出入,所以需要准确的表述和详细定义的, ...

  3. openApi generator总是生成类名为 defaultApi

    生成器可以开启 useTags 设置,开启之后会根据 api 文档中的 tags 生成前缀类名,因此,要不生成 defaultApi 需要以下操作: 1.openApi 文档中每个 url 必须要有 ...

  4. kingbaseES 优化之操作系统瓶颈排查

    针对操作系统性能瓶颈的判断和排查是数据库优化工作的一项重要技能,尤其是针对实例整体优化 操作系统的性能瓶颈排查无外乎四个方面 CPU.内存.磁盘.网络 针对这四个方面整理了一些相关心得和大家分享. 在 ...

  5. KingbaseESV8R6用户登录失败自动锁定后解锁遇到权限问题

    测试用户登录失败自动锁定 创建用户tee并授权. TEST=# create user tee; CREATE ROLE TEST=# alter user tee with createdb; AL ...

  6. 【Learning eBPF-1】什么是 eBPF?为什么它很吊?

    本书中, eBPF 被称为一种 革命性的 内核技术,被广泛应用于网络.观测 和 安全工具中. 这种技术允许你在不重新编译内核的情况下,使能你的自定义工具,与内核数据进行交互.听起来很厉害. 1.1 追 ...

  7. .net core ECDsa

    ECDsa(Elliptic Curve Digital Signature Algorithm)是一种基于椭圆曲线密码学的数字签名算法.在.NET Core中,System.Security.Cry ...

  8. SSE与AVX指令基础介绍与使用

    SSE与AVX指令基础介绍与使用 SSE/AVX指令属于Intrinsics函数,由编译器在编译时直接在调用处插入代码,避免了函数调用的额外开销.但又与inline函数不同,Intrinsics函数的 ...

  9. Codeforces Round #682 (Div. 2)

    CF1438A Specific Tastes of Andre 洛谷传送门 CF1438A 代码(全铺成1就可以了) #include <cstdio> #include <cct ...

  10. #拓扑排序#洛谷 4645 [COCI2006-2007 Contest#3] BICIKLI

    题目 这个地方有 \(n\) 个城镇,从 \(1\sim n\) 编号, 其中有 \(m\) 条单向道路连接它们. 比赛将在 \(1\) 号城镇开始并在 \(2\) 号城镇结束. 主办方想知道,一共有 ...