这家在线旅游企业将 Serverless 和微服务进行了完美结合

简介: 由于 SAE 属于应用层的 Serverless 方案,对于之前通过 Spring Cloud 框架构建的微服务应用,可以非常平滑的逐步迁移到 SAE 平台上,不涉及任何代码和业务逻辑的修改,这一点也是百富旅行全面拥抱 SAE 方案最重要的原因。
+关注继续查看

客户介绍

百富旅行是全球领先的在线旅游同业交易平台,覆盖机票、火车票、酒店、邮轮、汽车票、门票、旅游、商城等版块,通过整合全球的优势资源,基于云计算和大数据决策为全球旅游从业者提供一站式智能整体解决方案。截至目前,百富旅行已经与600多家航空公司、国内所有火车线路、2500个汽车站,以及60多家邮轮集团进行了业务整合,网络覆盖全球100多个国家和地区。

业务痛点

随着业务的飞速发展,百富旅行技术团队通过Spring Cloud 等开源框架搭建了完善的微服务技术架构,并在底层服务器资源方面全面拥抱阿里云ECS,利用云计算提升工作效率,降低工作成本。将微服务应用上云之后,不需要再考虑硬件资源购买以及服务器架设等运维步骤,这样技术团队可以将更多的精力投入到业务需求实现中。随着系统迭代次数的增加,原有的微服务架构开始暴露出一些问题:

1、微服务运维难度大
从系统架构的角度,将微服务应用直接部署在云虚拟机上,跟部署在物理机房相比,并没有本质的区别,团队依然需要从底层维护每一个应用实例,包括操作系统调整、磁盘容量规划、JDK等组件安装等工作,这些工作都每一台云虚拟机投入使用的过程中,都是必不可以的。

2、测试环境利用率低,闲置资源高
在系统频繁的迭代过程中,不同的开发小组甚至不同的开发人员都需要单独的一套测试环境,久而久之整个技术团队创建了多套测试环境,其中一些测试环境包含了所有的微服务应用,整体资源利用率特别低,造成了大量的资源浪费。而且旅游业务本身也存在非常明显的波峰波谷,微服务架构可以很方便地为每一个应用进行水平扩容,但如果用于扩容的虚拟机资源需要预先购买的话,同样会造成大量的资源闲置。

选型调研

近些年在云计算领域异军突起的Serverless架构正好能解决上述这两个问题。由于不需要为Serverlesss应用购买底层服务器资源,直接按需申请,可以免去容量规划、操作系统调优等复杂的运维工作,Serverless架构的弹性伸缩机制也彻底解决了资源的闲置与浪费问题。因此,百富旅行技术团队开始对Serverless架构进行技术预研。

Serverless架构有两种常见的实现方式:

第一种是把每个微服务应用进行容器化改造后,统一使用Kubernetes进行编排,并利用云厂商提供的弹性容器实例实现容器层的按需调用。

这种方式的门槛很高,需要有精通Kubernetes技术的运维小组加入,并且需要团队投入比较大的精力对应用进行容器化改造,暂时不适用于百富旅行这样小规模高效率的技术团队。

另一种方式是使用类似于AWS Lambda或阿里云FC函数计算引擎,将所有业务逻辑进行函数化重构。

这种方式基本上需要将之前写的代码推倒重来,而且在一些拥有复杂调用链路的业余环节并不能发挥Serverless的优势,对百富旅行而言更加不合适。

经过多轮技术调研以及与阿里云技术专家深入交流后,百富旅行技术团队认为,阿里云提供的Serverless应用引擎(SAE)方案最适合他们的Serverless平台。

区别于其它 Serverless 产品,SAE 直接支持 Spring Cloud、Dubbo 等开发框架,真正实现了 Serverless 架构 + 微服务架构的完美结合。开发者可以通过WAR、JAR、镜像三种方式部署Serverless应用,不需要学习Kubernetes以及容器技术,也能享受Kubernetes和云上弹性容器的技术红利。

SAE使用实践

由于SAE属于应用层的Serverless方案,对于之前通过Spring Cloud框架构建的微服务应用,可以非常平滑地逐步迁移到SAE平台上,不涉及任何代码和业务逻辑的修改,这一点也是百富旅行全面拥抱SAE方案最重要的原因。

image.png
部署在SAE上的微服务应用,可以按需申请资源,根据实际使用资源量按分钟计费,避免业务不活跃时段的费用支出,有效降低成本,并且微服务应用也能充分的发挥弹性伸缩的价值。特别是对于测试环境,SAE可以做到一键启停,避免了资源闲置问题。对于生产环境的任何一个应用,如果有扩容实例的需求,也能够迅速拉起新的实例,并自动与SLB以及注册中心完成绑定。

此外,通过SAE提供的应用生命周期管理能力,百富旅行技术团队彻底告别了通过编写脚本进行版本发布的方式。不论是应用的部署、启动、停止、与SLB关联、扩容实例、缩容实例,都可以通过阿里云控制台进行可视化操作。配合SAE的版本管理以及多种灰度发布机制,进一步降低了版本更新过程中的风险。对于新发布的版本可以在生产环境先进行小规模验证,一旦不能满足要求可以一键快速回滚。SAE还额外提供了系统监控功能,能从基础资源、JVM、应用链路等多个层面实时、直观地了解系统运行状态。

经历了基于SAE的Serverless化演进之后,百富旅行节省了大量云资源的成本投入,并且减少一半以上的运维工作,为业务持续发展打下了坚实的基础。未来,百富旅行将继续基于自身的技术特点不断深入探索Serverless架构,在拥抱新技术的同时也能充分享受到云计算的红利。

更多解决方案和产品细节,可点击Serverless 应用引擎 SAE >>

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
9月前
|
消息中间件 数据采集 弹性计算
消息服务 + Serverless 函数计算助力企业降本提效
随着云计算逐渐走向全面 Serverless 化,Message Service 和 Serverless 计算的连接会更加紧密,如今 Connector 的成熟更加降低了复杂系统的开发门槛,让您真正实现端到端全链路深度上云。
消息服务 + Serverless 函数计算助力企业降本提效
|
9月前
|
存储 缓存 边缘计算
关于 Serverless 应用架构对企业价值的一些思考
从计算资源成本方面:Serverless 具有比容器化更细粒度的计算抽象。可以做到按量付费,从而极大的节省计算资源的浪费。
关于 Serverless 应用架构对企业价值的一些思考
|
9月前
|
消息中间件 数据采集 弹性计算
消息服务 + Serverless 函数计算如何助力企业降本提效?
今天就来聊聊如何在阿里云上基于 Serverless 计算服务 + Message Service 构建这样一套系统。
消息服务 + Serverless 函数计算如何助力企业降本提效?
|
10月前
|
运维 Kubernetes Serverless
serverless学习笔记 | 关于 Serverless 应用架构对企业价值的一些思考
serverless学习笔记 | 关于 Serverless 应用架构对企业价值的一些思考
120 0
serverless学习笔记 | 关于 Serverless 应用架构对企业价值的一些思考
|
10月前
|
消息中间件 数据采集 弹性计算
serverless 入门与实践46 | 学习笔记: 消息服务 + Serverless 函数计算如何助力企业降本提效?
serverless 入门与实践46 | 学习笔记: 消息服务 + Serverless 函数计算如何助力企业降本提效?
114 3
|
11月前
|
Cloud Native Serverless
《阿里云 Serverless 助力企业全面拥抱云原生》电子版地址
阿里云 Serverless 助力企业全面拥抱云原生
77 0
《阿里云 Serverless 助力企业全面拥抱云原生》电子版地址
|
11月前
|
存储 运维 算法
企业如何利用 Serverless 快速扩展业务系统?
2022 年 9 月 24 日,阿里云用户组(AUG)第 12 期活动在厦门举办。活动现场,阿里云高级技术专家史明伟(花名:世如)向参会企业代表分享了《未来已来——从技术升级到降本提效》。本文根据演讲内容整理而成。
企业如何利用 Serverless 快速扩展业务系统?
|
11月前
|
存储 运维 算法
企业如何利用 Serverless 快速扩展业务系统?
当企业还处于容器化到 Serverless 的过渡阶段,如何应用 Serverless 进行技术升级,实现架构改造,达到降本提效的目的?
企业如何利用 Serverless 快速扩展业务系统?
|
12月前
|
Kubernetes 微服务 容器
《EDAS4.0 助力企业一站实现微服务架构转型与 K8s 容器化升级》电子版地址
EDAS4.0 助力企业一站实现微服务架构转型与 K8s 容器化升级.ppt
99 0
《EDAS4.0 助力企业一站实现微服务架构转型与 K8s 容器化升级》电子版地址
|
消息中间件 Arthas 运维
Serverless 如何帮助企业快速扩展自己的业务系统
Serverless系统开箱即用的原子化能力 ——史明伟(世如) 阿里云高级技术专家 Serverless函数计算事件驱动&异步系统&Serverless工作流产品负责人
Serverless 如何帮助企业快速扩展自己的业务系统
热门文章
最新文章
相关产品
函数计算
推荐文章
更多