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

背景

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

面对的挑战r z P


  • 组织、人员权限管理复杂:
    Jenkins的权限管理独立一套,与其它系统不能很好的对接,维护成本非常高。

  • 好的工程实践、流程规范不容易复用,质量更无法保证:
    代码开发过程中加入了阿里巴巴P3C规范,与集成工作流无打通t k w,不得不依赖人工介入的效果,当项目的时间紧,任务重,往往执行不到位,效果无法保证,形同虚设。代码质量很难保证。

  • FTP手工发布效率慢,Jenkins需要编写大量的脚本 Y [ p k,降F R U L y z ^ z本提升效率成为了瓶颈:
    公司在很长一段时间在使用Jenkins作为自动化部署工具,Jenkins易用的插件化模式和灵V % P * J 7 T J Y活的流水线脚本编写能力是我们一直使用他的原因。不过对于我们这种0运维人员的小团队来说,一些平台细小的不便性也会团队效率带来很大的负面影响。Jenkins的流水线脚本编写维护的繁琐性以及第三方平2 $ O P I台(服务)与` B p tJenkins整合的复杂度都给我们带来不小的麻烦: # G X e U | E

  • 缺少专职运维人员和微服务改造实战经验,研发运维效率不高:
    公司未设置专职运维人员,在做业务创新同r ~ _ ; { J a ~ t时,微服务架构同步} @ q B U P + h改造进行中。采用自建微服务架构+APM,技术门槛和人力不b f x ( W b足很难在短时间成功落地。急切需要一条快速上手的平台支撑,需要最大限度屏蔽底层IaaS, 容器,以及常用微服务套件的学习成本。

  • 测试开发环境和生产环境的闲置计算资源较高:
    长期保有固定的IaaS资源,单台ECS单部署应用,导致资源利用率很低,存在较多的闲置浪费。

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

架构图

解决效果

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

1. 降成本:

零成本投入提高质量管理能力和持续交付能力
免费使用的codeup代% 8 C H 2 x m码库让我们节省了自建git代码库的成本,codeup中集成的代码审查和安全审查模块又让我们节省了质量管理的投入成本。免费的流水线flow让# | J 3 b我们节省了原本在jenkins中投入的环P | : I Z r G境成本。这些还只是节省的有形成本,对于平台整合后9 F T # $ i s N 效率的提升所节省的成本更是不可估量。

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

2. 提效率:

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

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

云效codeup代码库,加v W { d % ! c速你的code review
在codeup代码库中code review是在每+ 8 f一次c5 Y h j 9 z J !ommit后自动进行审查,和m ? ~ C -我们之前的集中时间,集中人力做code review工作相比,分散在commit后的自动审查模式更节约时间,并且自动化的触m S F = ^ r g 6 发模式减少了人为参与产生误判的可能性。

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

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

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

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

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

结语

企业创新要做的是成长速度快于消费者需求变化的速度,所以「N 2 j Y H 9 x掌讯信息」深感依靠s @ ) o t O R 0自身摸索固然也可以持续提升能力,但面临的挑战要求能力的提升也必须更快p } D w y 8 A、更好。在寻求提升开发和交付效率,低成本试错中,「掌讯信息」发现阿里经过数年互联网研发实战3 N l U P,已经总结出了一套高效能x s Y v的研发思想、流程及工具,那就是阿里云SAE+云效。

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

最后,感谢 「SAE + 云效」 这两款工具及官方团队给予我们的支持,希望在未来更加深度的合I % 8 G U ( o作中,6 Q g l Y r D ! y「掌讯信息」和 「SAE + 云效」 都能为更多团队的交付效率提供更多更好的经验。

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

背景

石家庄掌讯信息技术有限公司创立于2009年,是一家提供企业信息化咨询、创新型软件产y W q r y b品、电商代运营u } 2 s | ` (服务,标准化管理、快速发展o c z [ 0 Y Y _ p的高新技术企业。当前公司正处于企业互联网市场突破转型重要阶段,希望将更多精力转移到业务创新6 4 ^,提升开发和交付效率,低成本试错。因此选择一套低门槛开箱即用的持续交付、快速部署&运维平台尤为重要。x $ ~ I h Y

面对的挑战


  • 组织、人员权限管理复杂:
    Jenkins的权限管理独立一套,与其它系统不能很好的对接,维护成本非常高。

  • 好的工程z S Y e实践、流程规范不容易复用,质量更无法保证:
    代码开发过程中加入了阿里巴巴P3C规范,与集成工作流无打通,不得不依赖人工介入的效果,当项目的时间紧,任务重,往往执行不到位,效果无法保证,形同虚设。代码质量很难保证。

  • FTP手工发布效率慢,Jenkins需要编写大量的脚本,降本提升9 h W a [ x z W X效率成为了瓶颈:
    公司在很长一段时间在使j M Z D 7 m f ! W用Jenkins作为自动化部署工具,Jenkins易用的插件化模式和灵活的流水线脚本编写能力是我们一直使用他的原因。不过对于我们这种0运维人员的小团队来说,一些平台细小的不便性也会团队效率带来很大的负面影响。JeS J Wnkins的流水线脚本编写维护的繁琐性以及第三方平台(服务)与Jenkins整合M 0 e @的复杂度都给我们带来不小的麻烦。

  • 缺少专职运维4 9 $ T E } 3 H人员和微服务改造实战经验,研发运维效率不V b x + y B W n高:
    公司未设置专职运维人, U C 2 - J r L员,在做业务创新同时,微服务架构同步改造进行中。采用自建微服务架构+APM,技术门槛和人力不足很难在短时间成功落地。急切需要一条快速上手的平台支撑,需要最大限度屏蔽底层IaaS, 容器,以及常用微服务套件的学习成本。

  • 测试开发/ 4 v c F I f环境和生产环境的闲置计算资源较高:
    长期保有固定的IaaS资源,单台ECS单部署应用,导致资源利用率很低,存在较多的闲置浪费。

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

架构图

解决效果

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

1. 降成本:

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

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

2. 提效率:

SAE,b - K R M }从0到1的高效体验
SAk X rE 提供了应用托管和应用监控的开箱即用的体验,p g * { E a +y E @ Y w #助我们关注业务开发而非底层资源的运维L W a 3 D @,节省了大量的人力成本。目前,我们通过 SAE 上线了 5 个? O 8 B C核心业务:商品中心、用户中p _ O J R 心、销售中心、采购中心和库存中心。

SAE,0改造使用Serverleh B o Q 5ss技术
SA~ C S tE实现了微服务应用的无缝迁移$ 4 f,WAR/JAR无需容器化% . 6 B改造直接部署,这也是SAE区别其它Serveless产品的重要优势,平滑迁移企业在线应用。

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

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

3. 提升质量,+ a m y h减少p U & u J 6 r 3 M故障:

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

以前团队中的cod] } X s , f l re review工作只e Z / K [ B G能指定专人在合并代码后执行审查任务,并根据生成的审g j P 2 K M B u查报告统一对问题进行修订,在使用云效codeup代码库后,代码审查工作被分配在每次commit后自动执行,以前统一的审核时间被分配在团队中每个人commit代码后自动执行,不但减少了人员参与的人力成本而且减少了code review工作执行的时间成本,大大提高了工作效率。由于整个code review工作提前到了代码commit阶段,将发现并 j : D解决代码潜在问题的阶段提前到了代码合并之前,这样就减少了在后续环节中出K 0 _ 1 c * R ~ _现遗漏问题的可能性,这里不得不提一下codeup审查代码阶段包含的敏感信息和依赖包漏洞扫描! 5 u ( N功能,这两个在codeup中自带的安全扫描功能,不但调高了代码质量的安全性,而且潜移默化的提高了团队` I ] h 3 I Q的安全意识。

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

结语

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

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

最后,感谢 「SAEH ! x U y + 云效」 这两款工具及官方团队给予我们的支持,希望在未来] X Y ~ 3更加深度H c v z )的合作中,「掌讯信息」和 「SAE + 云效」 都能为更多团队的交付效率提供更多更好的经验。

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