阿里云 SAE 携手云效助力「石家庄掌讯」持续交付、降本提效

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 在寻求提升开发和交付效率,低成本试错中,「掌讯信息」发现阿里经过数年互联网研发实战,已经总结出了一套高效能的研发思想、流程及工具,那就是阿里云SAE + 云效。

背景

石家庄掌讯信息技术有限公司创立于2009年,是一家提供企业信息化咨询、创新型软件产品、电商代运营服务,标准化管理、快速发展的高新技术企业。当前公司正处于企业互联网市场突破转型重要阶段,希望将更多精力转移到业务创新,提升开发和交付效率,低成本试错。因此选择一套低门槛开箱即用的持续交付、快速部署&运维平台尤为重要。

面对的挑战

  • 组织、人员权限管理复杂:
    Jenkins的权限管理独立一套,与其它系统不能很好的对接,维护成本非常高。
  • 好的工程实践、流程规范不容易复用,质量更无法保证:
    代码开发过程中加入了阿里巴巴P3C规范,与集成工作流无打通,不得不依赖人工介入的效果,当项目的时间紧,任务重,往往执行不到位,效果无法保证,形同虚设。代码质量很难保证。
  • FTP手工发布效率慢,Jenkins需要编写大量的脚本,降本提升效率成为了瓶颈:
    公司在很长一段时间在使用Jenkins作为自动化部署工具,Jenkins易用的插件化模式和灵活的流水线脚本编写能力是我们一直使用他的原因。不过对于我们这种0运维人员的小团队来说,一些平台细小的不便性也会团队效率带来很大的负面影响。Jenkins的流水线脚本编写维护的繁琐性以及第三方平台(服务)与Jenkins整合的复杂度都给我们带来不小的麻烦。
  • 缺少专职运维人员和微服务改造实战经验,研发运维效率不高:
    公司未设置专职运维人员,在做业务创新同时,微服务架构同步改造进行中。采用自建微服务架构+APM,技术门槛和人力不足很难在短时间成功落地。急切需要一条快速上手的平台支撑,需要最大限度屏蔽底层IaaS, 容器,以及常用微服务套件的学习成本。
  • 测试开发环境和生产环境的闲置计算资源较高:
    长期保有固定的IaaS资源,单台ECS单部署应用,导致资源利用率很低,存在较多的闲置浪费。

1597802958345-20d3d343-c3f4-49ee-99bd-4805d7a901e6.png

架构图

解决效果

总体上来说,掌讯信息公司在与云效&SAE共建之后,通过Codeup自动化代码检查提升了代码质量,降低了生产的故障,FLow自动化流水线、SAE的接入不但降低了成本,同时提升了交付效率。

1. 降成本:

零成本投入提高质量管理能力和持续交付能力
免费使用的codeup代码库让我们节省了自建git代码库的成本,codeup中集成的代码审查和安全审查模块又让我们节省了质量管理的投入成本。免费的流水线flow让我们节省了原本在jenkins中投入的环境成本。这些还只是节省的有形成本,对于平台整合后效率的提升所节省的成本更是不可估量。

低成本高质量玩转微服务架构
对于我们这样的小团队想要玩转微服务架构一直是一个可望不可即的事情,直到发现了阿里云的SAE(Serverless应用引擎)产品,SAE(Serverless应用引擎)节省了自建微服务架构的ECS成本。基于秒级弹性能力,无需长期保有固定资源,按需启停和自动弹性、按分钟计费,极大的提升了资源利用率。使用SAE(Serverless应用引擎)后,公司单从硬件成本上就节省了50%。

2. 提效率:

SAE,从0到1的高效体验
SAE 提供了应用托管和应用监控的开箱即用的体验,帮助我们关注业务开发而非底层资源的运维,节省了大量的人力成本。目前,我们通过 SAE 上线了 5 个核心业务:商品中心、用户中心、销售中心、采购中心和库存中心。

SAE,0改造使用Serverless技术
SAE实现了微服务应用的无缝迁移,WAR/JAR无需容器化改造直接部署,这也是SAE区别其它Serveless产品的重要优势,平滑迁移企业在线应用。

云效codeup代码库,加速你的code review
在codeup代码库中code review是在每一次commit后自动进行审查,和我们之前的集中时间,集中人力做code review工作相比,分散在commit后的自动审查模式更节约时间,并且自动化的触发模式减少了人为参与产生误判的可能性。

云效flow,高易用性,高集成性
使用云效flow产品后很多问题迎刃而解,可视化的流水线配置让之前繁琐的脚本编写工作一去不复返。flow高度集成阿里云产品线,在流水线flow中轻松集成我们在阿里云使用的SAE环境。我们曾尝试让一名有3年工作经验的普通的开发人员在flow中构建一个java测试应用部署的流水线,结果他在没有查看任何文档的情况下很快的完成了流水线的配置工作。这些体验都让我们切身感受到flow产品的高易用性和高集成性。

3. 提升质量,减少故障:

一提到流量增长,大家第一时间可能想到的就是加机器加带宽,但往往这个时候加机器已经来不及了。以往我们都是提前预估峰值,按峰值保有ECS资源,但经常出现容量预估不准的情况(比如资源浪费或资源不足),更严重的是会影响系统的SLA。通过SAE的秒级自动弹性,我们可以轻松的动态扩容应对峰值大考,峰谷时按需自动缩容。

以前团队中的code review工作只能指定专人在合并代码后执行审查任务,并根据生成的审查报告统一对问题进行修订,在使用云效codeup代码库后,代码审查工作被分配在每次commit后自动执行,以前统一的审核时间被分配在团队中每个人commit代码后自动执行,不但减少了人员参与的人力成本而且减少了code review工作执行的时间成本,大大提高了工作效率。由于整个code review工作提前到了代码commit阶段,将发现并解决代码潜在问题的阶段提前到了代码合并之前,这样就减少了在后续环节中出现遗漏问题的可能性,这里不得不提一下codeup审查代码阶段包含的敏感信息和依赖包漏洞扫描功能,这两个在codeup中自带的安全扫描功能,不但调高了代码质量的安全性,而且潜移默化的提高了团队的安全意识。

对比 原来 现在
代码规范评审 代码评审环节滞后,人为控制环节多。 commit自动化评审
代码安全评审 缺失安全评审工作 commit自动化安全评审
发布方式 Jenkins手工编写流水线脚本 高度可视化操作--简单
Jenkins通过API方式集成阿里云产品(SAE) 高度集成阿里云产品(SAE)--便捷
分布式环境建设 购买ECS设备构建环境 SAE无需购买ECS,按资源使用量弹性付费
分布式环境运维 自建运维环境,集成多种运维工具 SAE提供统一运维平台,高度集成阿里云运维相关产品。

结语

企业创新要做的是成长速度快于消费者需求变化的速度,所以「掌讯信息」深感依靠自身摸索固然也可以持续提升能力,但面临的挑战要求能力的提升也必须更快、更好。在寻求提升开发和交付效率,低成本试错中,「掌讯信息」发现阿里经过数年互联网研发实战,已经总结出了一套高效能的研发思想、流程及工具,那就是阿里云SAE+云效。

持续交付、降本提效是一个很大的主题,一篇文章要讲透是不够的,只是简单分享了我们在这个过程中遇到的几个关键问题。「掌讯信息」在实践中其实都在摸着石头过河。希望大家可以多交流,共同探索互联网交付效率的成功模式。

最后,感谢 「SAE + 云效」 这两款工具及官方团队给予我们的支持,希望在未来更加深度的合作中,「掌讯信息」和 「SAE + 云效」 都能为更多团队的交付效率提供更多更好的经验。

作者介绍
乔亚浩,2009年加入石家庄掌讯信息技术有限公司,从业务开发至产品管理,现任职「掌讯企业智能服务部主管」。先后承担多次技术攻坚及推动技术演进:前端混合开发技术落地,产品后端微服务化改造、服务自动化构建及容器化部署、云效CI/CD落地等。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Cloud Native Devops 持续交付
云原生与 DevOps
云原生与 DevOps
859 0
|
运维 监控 安全
DevOps 测试实践指南
软件开发公司一直在采用 DevOps,因为它有助于自动化和简化应用程序的开发生命周期。不仅如此,DevOps 还通过规划、沟通、流程和工具,更好地协调了开发团队和运维团队,从而提高了项目的交付质量和速度。但是测试 DevOps 的最佳策略是什么呢?本文将讨论 DevOps 的基本概念、生命周期、最佳实践以及我们应该使用的工具。
929 0
DevOps 测试实践指南
|
运维 监控 Devops
【devops】一、DevOps介绍
【devops】一、DevOps介绍
268 0
|
7月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
446 12
|
运维 Cloud Native Devops
一线实战:运维人少,我们从 0 到 1 实践 DevOps 和云原生
上海经证科技有限公司为有效推进软件项目管理和开发工作,选择了阿里云云效作为 DevOps 解决方案。通过云效,实现了从 0 开始,到现在近百个微服务、数百条流水线与应用交付的全面覆盖,有效支撑了敏捷开发流程。
19703 30
|
Prometheus 监控 Cloud Native
实战经验:成功的DevOps实施案例解析
实战经验:成功的DevOps实施案例解析
581 6
|
Devops 测试技术 持续交付
典型案例 | 基于全数字实时仿真的嵌入式DevOps解决方案
浙江省经信厅与省密码管理局联合开展的2023年信创典型案例评选,选出了36个应用示范案例和24个解决方案。其中,一个突出的典型解决方案是基于全数字实时仿真的嵌入式DevOps,它使用SkyEye软件提供自动化测试环境,提升研发效率。该方案适用于国防、工业等多个领域,通过高性能实时仿真、云部署和集成多种工具,实现嵌入式软件开发与硬件设计并行,降低成本,缩短研发周期。作为国内首创,它推动了信创在关键领域的应用。
263 0
|
DataWorks 数据管理 大数据
DataWorks操作报错合集之在连接HBase时出现超时问题,该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
NoSQL Java 数据库连接
SpringBoot项目多层级多环境yml设计
需求场景 基础设施模块中有一些通用固定的基础配置。例如:日志的配置,Spring本身的配置以及MyBatis Plus相关的固定配置等等。 这些配置往往与环境无关,如何复用?
264 0
|
缓存 前端开发 算法
Vue3 + Nest 实现权限管理系统 后端篇(二):使用 JWT 实现注册与登录
Vue3 + Nest 实现权限管理系统 后端篇(二):使用 JWT 实现注册与登录
1168 0

热门文章

最新文章

相关产品

  • Serverless 应用引擎