当微服务遇上 Serverless | 微服务容器化最短路径,微服务 on Serverless 最佳实践

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 阿里云Serverless应用引擎(SAE)初衷是让客户不改任何代码,不改变应用部署方式,就可以享受到微服务+K8s+Serverless的完整体验,开箱即用免运维。


前言


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


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


image.png


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


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


image.png


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)尤其适用于电商、新零售、互娱、在线教育、餐饮、出行、文化传媒等时有突发流量的行业,能做到精准容量+极致弹性+限流降级。


image.png


有人说微服务跑在 Serverless上是异想天开,也有人说Serverless与微服务是天作之合,相信随着Serverless应用引擎(SAE)这款产品的不断发展,这类争论会逐渐地消失,而SAE会成为微服务容器化的最短路径和微服务on Serverless的最佳践。


【“云原生微服务全面升级”发布会】传送门:https://yqh.aliyun.com/live/mse_release

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1月前
|
Kubernetes 开发者 Docker
基于容器技术的微服务架构
基于容器技术的微服务架构
32 0
|
1月前
|
运维 监控 Go
Go语言微服务实战与最佳实践
【2月更文挑战第14天】本文将深入探讨使用Go语言进行微服务实战中的最佳实践,包括服务拆分、API设计、并发处理、错误处理、服务治理与监控等方面。通过实际案例和详细步骤,我们将分享如何在Go语言环境中构建高效、稳定、可扩展的微服务系统。
|
5天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
18天前
|
存储 Cloud Native Serverless
云原生最佳实践系列 7:基于 OSS Object FC 实现非结构化文件实时处理
阿里云OSS对象存储方案利用函数计算FC,在不同终端请求时实时处理OSS中的原图,减少衍生图存储,降低成本。
|
18天前
|
消息中间件 NoSQL Kafka
云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操作
该方案描述了一个大数据ETL流程,其中阿里云Kafka消息根据内容触发函数计算(FC)函数,执行针对MongoDB的增、删、改操作。
|
29天前
|
Kubernetes SDN 微服务
微服务与 Kubernetes 容器云的边界
【2月更文挑战第30天】该文探讨了微服务与Kubernetes集群的关系,主要关注是否应跨多集群部署。理想的状况是每个微服务对应一个Kubernetes集群,配置和注册中心在同一集群内,以减少网络延迟。
|
1月前
|
运维 应用服务中间件 调度
微服务容器化的运维
【2月更文挑战第27天】
|
1月前
|
负载均衡 监控 开发者
构建高效微服务架构:后端开发的最佳实践
【2月更文挑战第23天】在当今快速发展的软件开发领域,微服务架构已成为实现可扩展、灵活且易于维护系统的关键。本文深入探讨了构建高效微服务架构的策略,包括服务划分原则、通信机制、数据管理以及持续集成与部署。通过分析真实案例和最新技术趋势,本文旨在为后端开发者提供一套实用的指导方案,帮助他们在设计微服务时做出明智决策,确保最终系统的高性能和可靠性。
|
1月前
|
Kubernetes 测试技术 持续交付
探索微服务架构下的持续集成与部署最佳实践
本文将深入探讨在微服务架构下实施持续集成与部署的最佳实践,介绍如何利用现代化工具和流程来实现自动化测试、持续集成、灰度发布等关键环节,帮助开发团队提升交付效率和质量。
|
1月前
|
监控 安全 持续交付
构建高效微服务架构的最佳实践
【2月更文挑战第18天】 随着现代软件开发的演进,微服务架构已成为企业追求敏捷、可扩展和灵活部署的关键解决方案。本文将深入探讨构建高效微服务架构的策略,涵盖设计原则、技术选型、部署考量及持续优化过程。我们将通过实例分析,揭示如何实现服务自治、保证通信效率以及处理分布式系统的复杂性。文章不仅为开发者提供实用的指导建议,还强调了在实施过程中应避免的常见陷阱,旨在帮助读者构建一个既健壮又灵活的微服务系统。

相关产品

  • 函数计算