starops 云效运维 文档_阿里云 SAE 携手云效助力「石家庄掌讯」持续交付、降本提效...

背景

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

面对的挑战

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

919ae19be11d9583b8e7e44a001d42fb.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中自带的安全扫描功能,不但调高了代码质量的安全性,而且潜移默化的提高了团队的安全意识。

710b3756102eae22f6f6075297127d83.png

结语

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

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

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

作者介绍


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

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 6.0 数据库权限,Android超清晰6.0权限申请AndPermission

Android超清晰6.0权限申请AndPermission的具体实现代码,供大家参考,具体内容如下前言这是我经常使用的框架,原因:1.思路清晰2.实现方便开始准备工作导包compile com.yanzhenjie:permission:1.0.7然后就可以使用了,贼简…

setdata改数组里的值 微信小程序_今日艰难笔记redux小程序随记

redux的前身Flux https://zhuanlan.zhihu.com/p/38050036Flux的一整套抽象(action,dispatcher,store),在单向数据流的基础上可以提高应用的可维护性和代码的可预测性。然而,全局action多store的架构面对复杂的应用依然不能很好地解…

绿盟科技鸿蒙系统,华为 X 绿盟科技,打造“云原生安全新生态”

全文共914字,阅读大约需要2分钟。在数字化转型加速、政策法规密集出台、合规与刚需双轮驱动下,中国网络安全市场实现了快速增长。2020年绿盟科技(300369)实现营业收入20.1亿元,同比增长20.3%,成绩的背后,离不开基于生态…

竞赛数据清洗缺失值_Kaggle 数据清洗挑战 Day 1 - 手把手教你五步处理缺失值

前些天报名参加了 Kaggle 的 Data Cleaning 5天挑战,5天的任务如下:Day 1: Handling missing valuesDay 2: Data scaling and normalizationDay 3: Cleaning and parsing datesDay 4: Fixing encoding errors (no more messed up text fields!)Day 5: Fi…

html5中行内样式写法,react怎么写行内样式?

react怎么写行内样式?下面本篇文章给大家介绍一下react 行内样式几种写法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。react 行内样式几种写法法一这是评论列表组件1法二const title{color:"red",fontSize:3…

程序左上角的字_微信内测7.0.7新版本,小程序迎来大改动!

最近几个月来,微信就跟打了鸡血一样不断更新了多个版本上线多个新功能。此前7月末,微信安卓7.0.6带来了将收藏笔记,文件预览等页面设为浮窗的功能,目前最多支持5个文档或笔记设为浮窗。这不,距离微信7.0.6 for Android…

html 跑步比赛小游戏,疯狂趣味跑步竞赛3D

疯狂趣味跑步竞赛3D是一款跑酷类型的休闲游戏,游戏在整体画面上搭配了最新的技术,使得游戏画面看起来非常华丽,人物的建模也很可爱。玩家在游戏中可以在各种风格的跑道上进行比赛,还可以在线跟别的玩家进行匹配。喜欢这款游戏的快…

得到进程id_搞懂进程组、会话、控制终端关系,才能明白守护进程干嘛的?

守护进程概念:守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程。周期性的执行某种任务或等待处理某些发生的事件。Linux系统有很多守护进程,大多数服务都是用守护进程实现的。比如:像我们的tftp&#xf…

gpedit msc组策略面板 win10在哪里_Win10家庭版找不到本地组策略gpedit.msc解决办法...

在Win10的各个版本中,其中家庭版默认是不提供组策略功能的,不提供不是说没有这个功能,而是系统默认对其进行了限制,需要使用该功能可以手动添加,请参考以下步骤:本地组策略编辑器是一个 Microsoft 管理控制…

在计算机管理中创建不同的用户,为什么在计算机管理员里创建密码密码总是不符合要求...

忘记管理员密码怎么办之第一招:删除sam文件对sp3以前的工作组模式windows2000,删除winntsystem32config文件夹下的sam文件(无后缀)之后,本机所有用户丢失,用administrator登录,密码空即可忘记管理员密码怎么办之第二招:O&O软件…

xsslabs靶机解题_web 攻击靶机解题过程

sql注入靶机攻击过程请参考https://pentesterlab.com/exercises/from_sqli_to_shell/coursehttp://www.sohu.com/a/126855490_472906xss靶机的攻击过程请参考https://pentesterlab.com/exercises/xss_and_mysql_file/coursenikto –h 192.168.1.129sqlmap -u "http://192.…

w7计算机的收藏夹里弄出桌面,Win7电脑桌面的便签怎么弄出来?

原标题:Win7电脑桌面的便签怎么弄出来?可能很多人都不知道,作为常用的一款电脑桌面操作系统,Windows 7上除了有Txt记事本和Office办公文档外,还有便笺小工具呢!这款便笺小工具虽然很不起眼,但是…

jenkins组权限_JENKINS针对不同项目组对用户进行权限分配-阿里云开发者社区

权限需求因JENKINS上存有de(开发)、te(测试)、re(预发布)等三个不同环境的项目,同时因为项目需求,需要对不同的开发及测试人员配置不同的jenkins权限,即以项目为单位,对不同人员进行不同权限配置,要求如下:…

native html5 区别,H5与Native优劣对比

即将启动爱奇艺商城(mall.iqiyi.com)移动端的native化。项目开始之前当然要梳理下为什么做native,究竟H5跟native比有什么劣势,而H5又为什么占比那么高并且有“Html5才是未来”的说法呢。下面简单理下对比。H5,即Html5,指第5代HTM…

centos7限制cpu使用_Centos7 - 使用cgroups限制进程资源

cgroups简介控制组(cgroups)是一个linux内核特性,它允许你指定内核应该如何给一个进程组分配特定的资源。你可以用cgroups指定在某一个组中的进程使用多少cpu时间、系统内存、网络带宽、或者这些资源的组合。(选自马哥教育的微信公众平台)cgroups使用# 下载一个可以…

html制作圆盘时钟,jquery+html5制作超酷的圆盘时钟表

自己封装的一个用HTML5jQuery写的时钟表代码:超酷数码钟表//引用的是在线jquery地址,如果不行请自行下载切换(function($){$.fn.drawClock function(options){var mainId $(this);//设置默认参数var defaultOptions {width: 300px,height: 300px,marg…

清华大学python镜像_使用清华开源镜像安装tensorflow

谷歌开源项目Chromium的源码获取与项目构建(Win7+vs10/vs13)转自:http://blog.csdn.net/kuerjinjin/article/details/23563059 从12年那会儿开始获取源码和构建chromium项目都是按照那时候的官方要求用w ...Struts2的Action中如何操作作用域对象得到作用域对象…

天津理工计算机通信工程学院,2018年天津理工大学计算机与通信工程学院811信号与系统考研仿真模拟五套题...

一、解答题1. 绘出下列系统的仿真框图:(1);(2)。【答案】(1)取中间变量q(t),使激励信号e(t)与中间变量q(t)的关系,如图1所示。图1将①代入原方程,得对比等式两边,可知从而得到系统仿真框图&…

调用外部程序处理文件_Python使用内置方法、模块调用外部命令

导读Python内置调用外部命令:os.systemos.popenos.popen2os.popen3os.popen4commands模块subprocess模块在Python3中,将os.popen2、os.popen3、os.popen4、commands等模块方法移除所以不用花精力了解,可以绕过了os.system方法os.system("…