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

简介: 企业创新要做的是成长速度快于消费者需求变化的速度,所以「掌讯信息」深感依靠自身摸索固然也可以持续提升能力,但面临的挑战要求能力的提升也必须更快、更好。在寻求提升开发和交付效率,低成本试错中,「掌讯信息」发现阿里经过数年互联网研发实战,已经总结出了一套高效能的研发思想、流程及工具,那就是阿里云效+SAE。持续交付、降本提效是一个很大的主题,一篇文章要讲透是不够的,只是简单分享了我们在这个过程中遇到的几个关键问题。「掌讯信息」在实践中其实都在摸着石头过河。希望大家可以多交流,共同探索互联网交付效率的成功模式。最后,感谢 「云效+SAE」 这两款工具及官方团队给予我们的支持,希望在未来更加深度

掌讯信息技术有限公司创立于2009年,是一家提供企业信息化咨询、创新型软件产品、电商代运营服务,标准化管理、快速发展的高新技术企业。当前公司正处于企业互联网市场突破转型重要阶段,希望将更多精力转移到业务创新,提升开发和交付效率,低成本试错。因此选择一套低门槛开箱即用的持续交付、快速部署&运维平台尤为重要。
面对的挑战
组织、人员权限管理复杂:
公司是阿里云的重度用户,钉钉,阿里云等,Jenkins的权限管理独立一套,与其它系统不能很好的对接,维护成本非常高。
好的工程实践、流程规范不容易复用,质量更无法保证:
代码开发过程中加入了阿里巴巴P3C规范,与集成工作流无打通,不得不依赖人工介入的效果,当项目的时间紧,任务重,往往执行不到位,效果无法保证,形同虚设。代码质量很难保证。
FTP手工发布效率慢,Jenkins需要编写大量的脚本,降本提升效率成为了瓶颈:
公司在很长一段时间在使用jenkins作为自动化部署工具,jenkins易用的插件化模式和灵活的流水线脚本编写能力是我们一直使用他的原因。不过对于我们这种0运维人员的小团队来说,一些平台细小的不便性也会团队效率带来很大的负面影响。jenkins的流水线脚本编写维护的繁琐性以及第三方平台(服务)与jenkins整合的复杂度都给我们带来不小的麻烦。
缺少专职运维人员和微服务改造实战经验,研发运维效率不高

公司未设置专职运维人员,在做业务创新同时,微服务架构同步改造进行中。采用自建微服务架构+APM,技术门槛和人力不足很难在短时间成功落地。急切需要一条快速上手的平台支撑,需要最大限度屏蔽底层IaaS, 容器,以及常用微服务套件的学习成本。
测试开发环境和生产环境的闲置计算资源较高

长期保有固定的IaaS资源,单台ECS单部署应用,导致资源利用率很低,存在较多的闲置浪费。

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

  1. 降成本:
    零成本投入提高质量管理能力和持续交付能力

免费使用的codeup代码库让我们节省了自建git代码库的成本,codeup中集成的代码审查和安全审查模块又让我们节省了质量管理的投入成本。免费的流水线flow让我们节省了原本在jenkins中投入的环境成本。这些还只是节省的有形成本,对于平台整合后效率的提升所节省的成本更是不可估量。
低成本高质量玩转微服务架构
对于我们这样的小团队想要玩转微服务架构一直是一个可望不可即的事情,直到发现了阿里云的SAE(Serverless应用引擎)产品,SAE(Serverless应用引擎)节省了自建微服务架构的ECS成本。基于秒级弹性能力,无需长期保有固定资源,按需启停和自动弹性、按分钟计费,极大的提升了资源利用率。使用SAE(Serverless应用引擎)后,公司单从硬件成本上就节省了50%。

  1. 提效率:
    SAE(Serverless应用引擎)-- 从0到1的高效体验

SAE(Serverless应用引擎) 提供了应用托管和应用监控的开箱即用的体验,帮助我们关注业务开发而非底层资源的运维,节省了大量的人力成本。目前,我们通过 SAE 上线了 5 个核心业务:商品中心、用户中心、销售中心、采购中心和库存中心。
云效codeup代码库--加速你的code review
在codeup代码库中code review是在每一次commit后自动进行审查,和我们之前的集中时间,集中人力做code review工作相比,分散在commit后的自动审查模式更节约时间,并且自动化的触发模式减少了人为参与产生误判的可能性。
云效flow--高易用性,高集成性。
使用云效flow产品后很多问题迎刃而解,可视化的流水线配置让之前繁琐的脚本编写工作一去不复返。flow高度集成阿里云产品线,在流水线flow中轻松集成我们在阿里云使用的SAE环境。我们曾尝试让一名有3年工作经验的普通的开发人员在flow中构建一个java测试应用部署的流水线,结果他在没有查看任何文档的情况下很快的完成了流水线的配置工作。这些体验都让我们切身感受到flow产品的高易用性和高集成性。

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

项目对比
image.png

我们具体是怎么做到的呢?
第一步:云效企业级成员权限管理,做到三级安全防控
摒弃之前代码库、持续集成平台(jenkins)、质量管理平台,多平台多用户的方式,统一在阿里云平台完成用户管理。通过如下三层权限管理做到安全防控。
1、企业成员、角色权限管理
2、Flow及Codeup角色权限管理
3、Flow及Codeup成员权限管理

第二步:逐渐完善代码质量检查,做到质量可控
3个阶段的代码检查、代码提交自动触发
开发阶段codeup代码提交(commit)自动代码检查,测试环境部署阶段流水线(flow)添加自动代码检查环节,生产环境部署阶段流水线(flow)发布任务执行前添加安全检查任务。
开发阶段codeup使用

image-2.png

第三步:测试、正式二条自动化流水线实现持续交付
测试、正式环境流水线集成SAE(Serverless应用引擎)环境,无缝结合阿里云产品。
image-3.png

测试环境流水线使用
image-4.png

生产环境流水线使用
image-5.png

结语
企业创新要做的是成长速度快于消费者需求变化的速度,所以「掌讯信息」深感依靠自身摸索固然也可以持续提升能力,但面临的挑战要求能力的提升也必须更快、更好。在寻求提升开发和交付效率,低成本试错中,「掌讯信息」发现阿里经过数年互联网研发实战,已经总结出了一套高效能的研发思想、流程及工具,那就是阿里云效+SAE。
持续交付、降本提效是一个很大的主题,一篇文章要讲透是不够的,只是简单分享了我们在这个过程中遇到的几个关键问题。「掌讯信息」在实践中其实都在摸着石头过河。希望大家可以多交流,共同探索互联网交付效率的成功模式。
最后,感谢 「云效+SAE」 这两款工具及官方团队给予我们的支持,希望在未来更加深度的合作中,「掌讯信息」和 「云效+SAE」 都能为更多团队的交付效率提供更多更好的经验。
示例图.png
作者介绍
乔亚浩,2009年加入石家庄掌讯信息技术有限公司,从业务开发至产品管理,现任职「掌讯企业智能服务部主管」。先后承担多次技术攻坚及推动技术演进:前端混合开发技术落地,产品后端微服务化改造、服务自动化构建及容器化部署、云效CI/CD落地等。

扫码了解更多云效
image.png

目录
相关文章
|
5月前
|
存储 运维 Serverless
Serverless 应用引擎产品使用合集之如何使用云效自动构建部署
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
3月前
|
弹性计算 运维 Kubernetes
Serverless 应用引擎 SAE 助力袋拉拉研发提效 70%
机汽猫的主要业务是通过部署 IoT 设备解决医院耗材管理问题。面对业务的潮汐特性带来的资源预留难题与运维压力,该公司选择将所有应用部署在阿里云 Serverless 应用引擎 SAE上。SAE 提供的微服务治理、自适应弹性伸缩及平台工程化能力,助力机汽猫研发效率提升了 70%。
|
4月前
|
运维 Serverless API
Serverless 应用引擎使用问题之云效流水线卡住该怎么办
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5月前
|
人工智能 API 数据安全/隐私保护
云效+SAE,5分钟搞定一个AI 应用的开发和部署
本实验将带你体验云效应用交付平台AppStack+Serverless 应用交付引擎 SAE,从应用视角,完成一个AI聊天助手的高效交付。
236 0
|
Java Devops Serverless
微服务持续交付入门:云效+SAE部署贪吃蛇小游戏
本场景介绍如何使用云效和Serverless应用引擎(SAE)快速部署一个贪吃蛇小游戏。
|
Serverless 开发者
SAE+云效,10分钟快速打通CI/CD流水线
亲手体验如何快速从0到1搭建云上CI/CD流水线。
|
3月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
敏捷开发 监控 Java
阿里云云效产品使用合集之Codeup WebIDE环境下,如何使用通义灵码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何进行大文件的迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。