首页 > 其他分享 >敦煌智旅:Serverless 初探,运维提效 60%

敦煌智旅:Serverless 初探,运维提效 60%

时间:2024-08-23 14:16:54浏览次数:11  
标签:Serverless 运维 智旅 弹性 流量 SAE 敦煌

作者: 百潼

行业新趋势

在后疫情时代,文旅行业开始复苏,在行业的发展趋势中,我们看到了一个充满机遇和挑战的未来。通过不断创新和适应市场需求,文旅行业继续不断发展壮大,为消费者提供更加丰富多样的旅游体验。与此同时,文旅行业也朝着科技融合,创新颠覆的趋势发展。科技带动产业向“新消费、新供给、新企业”的“智慧旅游”、“智慧企业”进化;产业数字化,数字产业化同时进行。科技正在重塑产业链,数字科技和内容服务的重要性同时提升。科技带来文旅产业链和产业束的快速扩张,形成新的市场领域,项目运营收入空间更大。因此文旅产业做好数字化转型成为必然趋势。

数字文旅的新星:敦煌智旅

敦煌智旅是一家致力于智慧旅游大数据和旅游行业应用系统创新与研发的新型互联网企业。公司依托“旅游+互联网+金融”,以核心旅游资源为入口,以信息化建设为抓手,以互联网营销为手段,整合旅游产业链资源、经营落地游客,推动目的地商业繁荣,构建大旅游生态圈。在文旅行业的数字化转型新浪潮中,敦煌智旅迅速抓住机会,开启了 “智旅云平台” 之路。

数字化转型过程中,企业面临的三大挑战

敦煌智旅的平台从一开始就构建在阿里云的 ECS 上。近几年来公司业务不断扩张,已经与多个旅游景区展开合作,也包含了很多大型景区合作,比如月牙泉和黄河石林等等。然而,业务规模的扩大同时也暴露出原有平台的很多不足,主要存在以下三个方面的挑战:

1)流量跨度大,资源预留难度大

在节假日期间,例如五一或国庆节,游客量会迎来高峰,一天内的接待量可能突破十万级。平常的时候,游客数量可能只有一两万。高峰与淡季的流量差异极大,导致对资源的需求跨度也很大,甚至达到了十倍以上。在过去,为了应对节假日的高峰,研发同学会提前准备多台服务器来支持像下单系统这样的核心业务。等流量高峰过后再释放这些服务器资源。但是这种方式处理效率很低,每次处理高峰都需要手动进行预留服务器的配置。

2)运维工作繁重且效率不高

由于智旅云平台的业务持续拓展和更新,系统发版操作也变得频繁。旧系统中使用的是多个 ECS 节点,每次发布更新时,需要登录到每台服务器上单独发布,这不仅增加了工作量,而且还出现过漏发的情况。研发团队在这种情况下还需要承担一部分运维工作,整体的工作效率非常低。

3)服务器资源利用率不足

当系统部署在 ECS 上时,在业务量达到峰值时期,在流量较低的时段,CPU 利用率就只有百分之十几,甚至个位数,这些资源利用不起来,极大程度上造成了浪费。

所以提升运维效率和资源利用率,以及系统的弹性能力成为敦煌智旅技术团队的当务之急。

选型

“我们当时在做一个新平台,总监在阿里云官网的产品目录上发现了 SAE 这个产品,看到有灰度发布,日志收集这样的能力,觉得非常匹配我们的业务诉求,就了解了一下,尝试用了一下,发现发包很方便,上线部署比原来省时省力,觉得效果还不错,就采用了。”

选择阿里云 Serverless 应用引擎(简称 SAE),不用做任何改造,WAR/JAR 包直接上传部署,也不用买机器运维机器,发版的时候也不需要逐台部署机器,为研发同学节省了大量时间。并且,SAE 就是一个超大规模的弹性资源池,想弹多少弹多少,想什么时候弹就什么时候弹,非常适合敦煌智旅节假日期间难以预估的流量激增。

解决方案

敦煌智旅决定把新平台部署在阿里云 Serverless 应用引擎上,SAE 提供了一个开箱即用的 Serverless PaaS 平台,提供了微服务、监控等能力, 帮助敦煌智旅很好地解决了发版困难、运维困难、弹性能力不足和资源利用率低等痛点问题。

01 高效发版

SAE 支持应用一键部署,秒级完成从源代码仓库或 War、Jar 代码包部署 SAE 应用,并支持自动 CD。同时也提供应用模板、CLI 命令行工具、组件库、成本管家等能力,帮助开发者们快速高效的交付应用程序。帮助敦煌智旅的技术同学解决了发版效率低,发版过程繁琐的困难。

“以前每次发版都需要我们在 ECS 上逐台部署,每发一个新版本要整整 1 天的时间,还需要几个同学时刻监控新版本的情况,一旦有 bug 还需要立刻逐台 ECS 下线新版本,不仅过程繁琐,而且还容易业务受损。”

“现在每次发版的时候,只需要将打包好的镜像直接部署在 SAE 上,半天就能发布一个新版本,如果有问题在控制台上一键回滚老版本就可以了,之前要一个团队完成的工作,现在一个人就可以完成,不仅提升了人效,也彻底避免了之前漏发的情况”。

02 服务发现

与此同时,SAE 具备无侵入微服务治理的能力,支持 Spring Cloud、Dubbo 零代码改造迁移至 SAE。提供服务注册&发现、环境隔离、配置管理、限流降级、应用无损上下线、服务鉴权、全链路灰度等能力。敦煌智旅基于 SAE 网关和内置的 Nacos 能力实现微服务的服务发现。

“我们之前的那些部署在 ECS 上的老系统,前经常需要给每一个应用改 IP 地址,效率非常低,还经常漏改和改错。SAE 内置的 Nacos 用起来非常方便,再也不用不用针对每一个应用改 IP 地址了,而且我们本来的框架就是用的微服务,SAE 和我们的原始架构非常的适配。”

03 监控与日志采集

敦煌智旅还基于 SAE 集成的监控告警能力实现了日常开发过程中的监控和日志采集。SAE 基于 EBPF 技术提供无侵入的应用监控和告警能力,支持任意语言和任意框架。提供七层入口流量监控,也提供 Java 应用级别&链路级别的监控。

“我们在研发的过程中非常需要持久化日志,看到 SAE 集成的 SLS 日志功能,原来需要用排除法逐一排查故障,现在利用监控和持久化日志就能有效的定位问题,帮助我们非常迅速地排查故障。”

04 自适应弹性

SAE 提供自适应弹性的能力,能实现百毫秒级弹性伸缩,根据流量自适应调整应用实例;支持白屏化配置多种弹性策略和像 QPS、RT、TCP 连接数等弹性指标。

利用 SAE 的指标弹性策略,敦煌智旅现在在每次节假日或周末时候都能根据流量峰值自动进行弹性扩容,就不再需要提前预估流量峰值来预留机器,避免了高峰期不够,低谷期浪费情况的出现。

“我们之前在节假日之前都要自己提前扩容,需要预估流量提前几个小时备好几台机器,安排 3 个同学值班,等流量洪峰过去之后再立刻缩容,避免资源浪费,但经常预估没那么准确,老系统有业务受损的情况。用了 SAE 之后,完全满足了我们的弹性需求,只需要提前在控制台上配置好指标弹性策略,根本不用提前多开 ECS 部署业务,也不用同学值班,用 SAE 的自适应弹性就能轻松应对流量洪峰,在流量低谷期自动缩容,完全不用我们担心。”

敦煌智旅的研发同学说,“我们现在还处在对 SAE 的持续探索阶段,之后合作的景区越来越多,之后会尽快接入灰度发布和 CICD 的能力。”

使用效果

1)运维提效,效率提升 50% 至 60%: 通过阿里云 Serverless 应用引擎 SAE,在每一次发布新版本的时候,开发运维同学不再需要逐一部署每一台服务器,发包更方便了,新增节点也更方便了,大大简化了原本繁杂的部署工作。研发运维同学能更多的专注于业务本身,过去可能需要一整天才能完成的版本发布和部署,现在缩短至半天内便可顺利完成,运维效率得到了极大提升。

2)无需提前预留资源,轻松应对 10 倍突增流量洪峰: 基于 Serverless 应用引擎 SAE,在每一次节假日之前,不需要再提前准备服务器节点,借助 SAE 强大的弹性能力,在流量高峰期前只需事先设定好弹性伸缩策略,系统就会自动根据实际流量进行资源的快速伸缩,就能轻松应对周末和节假日高于平时 10 倍的流量峰值。敦煌智旅不但保障了用户体验,同时也实现了资源的高效利用,从而显著提升了弹性效率,大大提升了服务的可靠性。

3)成本更优,降本成为意外之喜: 基于 Serverless 应用引擎 SAE,敦煌智旅不用再担心为了扛住流量洪峰预留的资源在流量低谷期的时候浪费,原来在高峰期预留的资源,在低谷期有 80% 都是浪费的。现在应用部署在 SAE 上,在流量高峰期过后,SAE 会自动帮助缩容,能保证资源在低谷期基本不浪费。

总结和期待

“新平台的所有业务部署在 SAE 上,相比于老的平台,在平时开发工作、发版需求和应对弹性能力上都更灵活了,新平台的诉求都能满足。但同时也对 SAE 有了新的期待:目前的 SAE 的 Web 日志会截断,有时候还要依赖 Pod 来排障,希望 SAE 的日志功能可以更强大,实时日志更流畅。”

标签:Serverless,运维,智旅,弹性,流量,SAE,敦煌
From: https://www.cnblogs.com/alisystemsoftware/p/18375892

相关文章

  • 运维工程师的出路揭秘:跨越35岁半衰期,探寻职业发展新路径_运维工程师的前景如何
    写在前面随着信息技术的迅猛发展和数字化转型的深入推进,运维工程师的角色在企业和组织中愈发重要。他们是保障系统稳定运行、确保数据安全和提升业务连续性的中坚力量。然而,随着技术的不断演进和市场需求的变化,运维工程师面临着前所未有的挑战和机遇。“运维工程师的出......
  • OceanBase 日常运维-问题分类
    ---- 2.x/3.x常见问题排查思路----2024年8月23日10:15:26第一、全链路诊断:  CPU问题:内存问题(-4030、-4013):内存泄漏:CORE问题:链接类问题(异常断链、连接不上等):SQL执行相关(失败、慢等):备份恢复问题:长事务与悬挂事务:切主问题(有主改选、无主选举):CLOG盘满:UNIT迁移和缩容:合并:......
  • Linux系统运维笔记,openEuler-22.03 安装阿里(aliyun)yum
    Linux系统运维笔记,openEuler-22.03 安装阿里(aliyun)yum阿里巴巴开源镜像站点:http://mirrors.aliyun.com yum源理解yum源仓库的地址在/etc/yum.repos.d/,并且只能读出第一层的repo文件,yum仓库的文件都是以.repo结尾的。为加快yum下载,我们下载阿里云的.repo仓库文件,放到/e......
  • 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2024年7月刊
    本文为大家整理了墨天轮数据社区2024年7月发布的优质技术文章/文档,主题涵盖Oracle、MySQL、PostgreSQL等主流数据库系统以及国产数据库的深度教程和实用指南。从基础的安装配置到复杂的故障排查,再到性能优化的高级技巧,每篇文章都是由领域专家精心撰写。此外,还有常用脚本和操作注意......
  • (转)高效率运维K8s 这些常用命令你得会
    原文:https://blog.csdn.net/qq_42568611/article/details/131219853高效率运维K8s这些常用命令你得会❝日常K8s运维工作中难免会连接K8s集群哐哐哐的输出命令来进行Kubernetes应用运维工作。今天就总结一些常用的kubectl命令及应用调试技巧。以便于日常查阅或提高效率!❞基本操......
  • AI 创业及变现新思路:零门槛 AI 绘图,定制 ComfyUI Serverless API 应用
    作者:鸥弋、筱姜2023年下半年,ComfyUI以其快速、流畅的图像生成能力,结合多样的自定义节点,迅速在创作者中流行起来。ComfyUI的亮点就是能够批量化生成图像,一键加载大量工作流,让用户可以轻松实现人像生成、背景替换、风格迁移和图像动画化等功能。越来越多的企业及个人开发者希望......
  • Linux运维学习记录02
    一、总结学过的权限,属性及ACL相关命令及选项,示例。文件的权限主要针对三类对象进行定义:owner属主,ugroup属组,gother其他,o每个文件针对每类访问者都定义了三种权限rReadable4wWritable2xeXcutable1Linux文件系统上的特殊权限SUID作用于二进制可执行文件......
  • Linux运维学习记录03
    磁盘存储术语总结:head,track,sector,sylinder.head:磁盘驱动器中的读/写头,用于读取或写入数据。每个磁盘表面有一个头。track:磁盘表面上的一个圆形数据存储区域,由多个扇区组成。sector:把每个磁道按512bytes大小再进行划分,这就是扇区,每个磁道上的扇区数量是不一样的sylin......
  • ChatGPT学习之旅 (9) 系统运维小助手
    大家好,我是Edison。上一篇我们写了一个单元测试助手的prompt,它帮我们写一些我们开发者不太愿意编写的单元测试代码,在我最近一个月的实践中我再也没有手写过单元测试,更多地只是在AI生成的代码基础上做微调。这一篇,给大家分享下我在日常的系统开发和运维工作中的小任务是如何通过C......
  • Linux日常运维-ENV(一)
    作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。主要从以下几个部分来讲解:Linux......