移动APP持续交付系列之云构建价值分析
现状
企业A:小APP,Android、iOS研发各三人;大APP,Android、iOS研发各10人。CICD通过部署一台jenkins服务器 + 一台Android 构建机器来完成Android的APP构建,iOS构建完全依赖开发本地环境。
企业B:3个APP5个研发同学,5台服务器年成本一万左右 ,代码规范比较差导致质量不好
企业C:十几个研发,五六台服务器。 寻求一站式交付平台
可以看出:在企业内部为了支持APP构建需求一般会部署一台jenkins用作构建任务管理,一台以上的linux服务器用于Android APP构建,视实际使用情况量级较小的iOS APP一般在本地完成构建,量级较大的APP会有单独的构建机器。
成本
中小企业在APP构建部分的成本主要包括三个部分:
- 机器成本
用途
数量
配置
价格(元/年)
jenkins服务器
1
4C8G+50G存储
3830.10
Android构建机器
1
4C8G+50G存储
3830.10
iOS构建机器(自行采购)
1
2.6GHz 处理器1 TB 存储容量 mac mini
4945.00/4 (三年使用寿命来均摊成本)
OSS 存储
200G
0.12元/GB/月 * 12
maven、cocoapods类库仓库
总计
9184.45
以最小资源消耗来看至少 1台jenkins + 1台Android + 1台mac ,在业务量偏大的场景下可能需要更多的资源来支持构建、maven仓库、cocoapods仓库等。
- 人力成本
人力成本主要体现在以下几个方面:
jenkins服务的搭建、日常维护、升级、异常处理
Android编译机器的环境搭建、维护、Android SDK升级等
mac mini环境搭建、维护,xcode、cocoapods、证书等升级维护管理
构建异常等特殊情况下的问题排查、解决
简单测算下一名Android 研发薪资 13263/月* 12 = 159156 (平均薪资数据取自猎聘网)
假设平均花费0.5个Android研发资源 159156 * 0.5 = 79578 元/年
- 时间成本
中小企业团队没有足够的资源进行构建效率提升,使得每次构建相对消耗时间较长。无形中消耗了更多的时间成本。
这部分目前没有能直观的量化数据进行成本核算。
总计成本: 9184.45 + 79578 = 88762.45 元
从成本结构观察,支撑APP 构建的成本主要在于人力成本的支出,而且这部分的工作是相对分散和繁杂的,也相对比较隐蔽不容易直观体现和测算。
云构建
云构建是指通过云技术提供Linux、MacOS的构建服务,为用户提供简单接入、低成本运行、高效的构建能力。
优势
提供编译缓存、并发构建等能显著提升构建效率的加速能力
提供环境、网络隔离,稳定的编译环境
按需获取资源进行构建,根据实际的构建需求动态调度实现资源的扩展和缩减
根据构建日志智能反馈构建失败的排查建议
能够无缝对接代码扫描、APP自动化测试、APP灰度发布等能力,支持持续集成和支持交付
总结
随着云计算概念的普及,大家对IAAS已经有比较多的认知。构建是研发基本的需求,通过云服务既可以降低机器成本,又能有效降低开发者在构建服务的资源投入,将精力和时间更多的关注在业务中。
移动APP持续交付系列之云构建价值分析相关推荐
- 京东金融移动APP高质量持续交付
点击「京东金融技术说」可快速关注 1 前言 随着京东金融业务的不断拓展,客户端开发团队人数激增,代码量急剧膨胀,业务的成长和人员的倍增给技术架构.团队合作.产品的交付都带来了巨大的挑战,本文将讲述京东 ...
- 云原生 (Cloud Native) = 微服务 + DevOps + 持续交付 + 容器化 ?
目录 什么是云原生? 云原生之前 云原生 云原生简介 微服务 DevOps 持续交付 容器化 云原生的发展历程 云原生技术生态现状 云原生基金会 -- CNCF 云原生技术社区 云原生技术产业 我们正 ...
- DevOps ACA 阿里云效持续交付流水线(十)
文章目录 阿里云效持续交付流水线 1. 云效流水线简介 2. 云效流水线实操 3. 整体课程总结 阿里云效持续交付流水线 1. 云效流水线简介 流水线分为: -扫描-----构建-------部署 ( ...
- 【云原生 | Kubernetes 系列】--持续交付和持续部署GITOPS(上)
1. 持续交付和持续部署 Continuous Integration Continuous Delivery Continuous Deployment Plan Code Build Test R ...
- 携程无线工程技术系列——从零打造携程无线持续交付平台 MCD 实践
作者简介:携程无线基础工程团队高级经理,负责无线交付平台和基础服务研发.十多年的互联网从业经验,曾供职于 eBay 等互联网公司,研发经验丰富. 导语:携程 App 几乎承载着整个集团的所有业务形态, ...
- 云原生下的DevOps与持续交付
课程概要 2009年,一场演讲在O'Reilly Velocity大会上一炮而红,演讲中有一句话深得人心:"由于开发和运维需要在Flickr(一个图片存储和视频托管网站)上合作,这导致开发者 ...
- 玩转spring boot——结合阿里云持续交付
前言 在互联网项目中,项目测试.部署往往需要花费大量时间.传统方式是在本地打包.测试完毕程序,然后通过ftp上传至服务器,再把测试的配置文件修改为生产环境的配置文件,最后重新运行服务.这一过程如果交给 ...
- GitOps | 一种云原生的持续交付模型
在此之前您可能听说过"GitOps",但并不知道它到底是什么,除了GitOps,您可能还听说过的DevOps,或者AIOps,GOP的等,是的,现在是"行动"盛 ...
- 使用 KubeSphere 和极狐GitLab 打造云原生持续交付系统
KubeSphere 简介 Kubernetes 是一个非常复杂的容器编排平台,学习成本非常高,KubeSphere 所做的事情就是高度产品化和抽象了底层 Kubernetes,是一个面向云原生的操作 ...
最新文章
- Windbg学习使用
- 关于bcache的一些事情
- Boost:自定义静态向量
- java 中Lock的使用
- ASP.NET Web Froms开发模式中实现程序集的延迟加载
- php invalid access,PHP出错消息PHP has encountered an Access Violation at XXXXXXXX 如何解决?...
- cpython 标准库_Python re标准库
- SQLite学习(八) - SQLite C编程接口
- c语言皮尔森系数程序,按条件选入观测;皮尔森相关系数
- LA 3695 Distant Galaxy
- ElasticSearch.js源码走一个大概
- mysql insert 主键冲突_在MySql中建立存储过程和解决insert into select 中主键冲突的有关问题...
- js手写车牌输入键盘
- Java代码实现奇数和偶数的判断
- 1.1你是谁?你从哪来?你到哪去? -交给学习来解答
- 微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克、炮弹爆炸
- PHP 常用英语精简1
- PGSQL分组取最新
- 牛客网 HJ55 挑7
- 升级IOS9错误解决方案:Unexpected CFBundleExecutable Key.The bundle atXXXX