初创企业如何实现2天快速上线?

摘要:初创企业在业务快速发展中,如何利用有限的资源,做高效快速迭代?如何减少手工操作的依赖,提高发布效率,将跨组织的项目沟通效率提升50%?

云小妹导读:初创企业在业务快速发展中,如何利用有限的资源,做高效快速迭代?如何减少手工操作的依赖,提高发布效率,将跨组织的项目沟通效率提升50%?

最近,初创企业爱赛因斯在云效公有云上试点,实现初始项目2天上线的可喜成果。

本文作者:孙志梁,爱赛因斯技术总监,主要负责各业务线的技术开发和团队管理工作。

案例重点介绍

通过云效流水线功能大大提升了内部研发项目的发布效率和质量,实现初始项目2天快速上线。外部托管项目通过云效需求管理、缺陷管理功能,有效提升了工作效率,在与外部客户、供应商的沟通效率上提升了50%以上。

关于爱赛因斯

爱赛因斯是一家以创新驱动的数字化信息服务集团公司,旗下拥有PMCAFF、外包大师、Nework、知一咨询、光合孵化器、X-CLUB等子品牌,业务类型涵盖社区、活动/会议、培训、产品咨询、软件信息及研发、区块链及相关服务、人才顾问及投资、创新项目投资孵化等。已获得尔法公社Pre-A轮融资。

其中外包大师作为一个互联网产品技术外包管理服务平台,为委托方提供从产品咨询、设计、开发直至上线的全流程服务,所以除了我们内部研发项目外,还有很多外部客户委托的项目,这一类项目由甲方把项目需求委托给外包大师,外包大师会匹配和签约外部供应商,并且对项目进行管理验收,完成甲方需求。

爱赛因斯的痛点

内部项目

项目依赖较多手工操作,发布效率低下而且难以形成知识积累。在项目上线时,构建部署主要都是人工在服务器上进行,安装构建工具、执行构建过程都可能会遇到各种问题和进行解决,耗费时间比较长,即使有文档或者操作手册,又往往存在更新不及时的问题,新同学一般要通过多次询问和自己登录服务器操作等方式才能确定正确的构建和发布步骤。

发布出错率高,没有有效的回滚机制。很多项目类型的开发语言是PHP等脚本语言,部署方式是在服务器的部署路径下直接更新代码,并且直接在部署路径进行构建,一旦操作错误或者遗漏,就会影响线上服务。同时一旦发布出现问题,判断回滚的版本需要人工根据代码提交记录进行确定,耗时长且容易回滚出现新的问题。

外部项目

没有一个很好的协同管理工具能把流程串起来.外包大师项目整体项目周期偏长,大部分项目周期都超过1个月,之前对于交付链条很长的项目管理过程,更多的是通过一系列不同的工具管理项目实施的不同阶段,比如石墨文档、Teambition、Project、Jira等,很长时间内,并没有找到一个很好的协同管理工具能一次性的串起这个流程,并解决其中的众多问题。如:需求变更管理,版本迭代管理、成员权限管理、代码分支管理、问题追踪管理等等。

采用了哪些阿里云产品?

阿里云云效一站式研发协同解决方案

ARMS业务实时监控服务

为什么选择阿里云云效?

内部项目

对内部项目,我们主要想提高发布效率和稳定性,同时减少构建和部署环节对人工操作的依赖。考虑过三个方案:

使用Jenkins或者Teamcity等持续集成解决方案

阿里云的codePipeline

阿里云云效

评估下来方案一虽然比较灵活,可以满足需求,但初始的安装配置成本和维护成本都比较高,而且作为基础设施服务一旦出现问题,团队目前并不擅长解决,所以放弃。

方案二codePipeline很早之前使用过,功能相对单一,主要提供流水线服务,界面操作也不够友好,和云效相比,肯定是优先选择功能更丰富,使用更友好的云效。

在云效的使用上,我们采用了新项目先尝试,老项目后迁移的思路,一方面积累云效使用经验,同时也避免因为研发流程调整影响已有项目的迭代和稳定性。

目前我们一个项目在云效上从开始准备部署到可访问,一般需要0.5天~2天(取决于是否之前已经配置过相同类型的项目),会经历以下步骤:

第一天

1.采购和添加服务器 (耗时1h,如果之前没有相同环境,需要安装运行环境0.5d)

创建用于测试环境或者生产环境的ECS,在云效企业设置中添加主机到云效。我们针对不同的语言运行环境创建了不同的镜像,做到购买ECS后,不需要额外配置就可以马上投入使用。

2. 创建云效应用 (耗时1h)

每个可以独立进行构建和部署的研发项目,注册为一个应用。指定代码仓库、所属项目以及项目语言类型,在云效中创建应用。

3. 配置流水线 (耗时2h)

云效配置流水线页面

我们的流水线一般只保留两个步骤,构建和部署,测试环境的部署和正式环境的部署拆分为多个流水线。如果是之前没有配置过的项目类型,构建命令和部署命令一般是需要调试时间比较长的:

a)  构建命令,不同语言构建命令不一样。我们公司主要使用的PHP7、Java8、Nodejs8在云效默认的构建环境已经都支持了。

b)  配置应用环境,为应用的每个环境指定服务器和部署路径、部署命令。

构建命令和部署命令都可以,可以先在服务器或者本地手动执行构建成功后,再配置到云效,后续相同类型的项目可以进行复用。

第二天

4. 构建和部署 (耗时1h)

云效构建部署页面

流水线编辑完成后,就可以运行调试了,顺利的话可以一次性成功,实际是往往因为代码问题或者服务器环境导致不能一次性成功,好在云效在构建和发布阶段都有详细的日志输出,可以看到构建命令和部署命令的执行过程和输出,用于排查和修复问题。

5. 访问入口配置 (耗时1h)

流水线运行成功后,应用已经可以对外提供服务了,我们的大部分项目都是web项目,这个时候会新建负载均衡指向新部署的服务,接着配置域名到负载均衡的IP地址,就可以提供给测试同学测试或者用户访问使用了。

6. 异常回滚 (耗时<1h)

日常发布会,难免会有一些情况导致线上服务运行异常,

借助实时业务监控(arms),可以把关键错误日志、核心业务指标有效监控起来, 一旦发布后收到报警或者指标异常 ,在云效中直接操作回滚就可以,云效的回滚会清晰的列出历史版本用于选择,同时回滚直接使用之前构建成功的结果,不需要重新构建,回滚速度比手动服务器操作要快出一个数量级。

在通过新项目中熟悉了云效的使用并体验到云效带来的便利后,我们把老项目也进行了迁移,这样在云效中,就能看到公司所有的研发项目,很大程度上避免了黑盒子项目的存在。

外部项目

在外面委托项目中,我们作为平台方,需要协调甲方客户和乙方供应商团队,云效平台正好解决了在线协同问题,把甲乙方很好的联系在一起。

如下图:可通过成员管理把甲方参与人员和乙方开发团队添加到项目成员中,甲方可以看到项目实际进展,乙方也可以及时更新项目进展。

云效跨企业协作项目沟通

进度管理:当项目经理将工作包拆解到具体模块并指定开发负责人后,负责人可按实际完成情况勾选任务,就可以相对准确的显示项目的实际进度。

云效进度跟踪页面

范围管理:对于项目实施过程中,新增的需求,产品经理可以通过手动添加和自动导入两种方式更新或调整需求,并按模块和版本进行分配责任人,如下图:

云效项目权限分配页面

效果检验:开发完成的代码推送到远端分支,就可以自动部署到到测试环境,平台QA和甲方客户就可以可及时检验效果。

云效页面截图

BUG追踪:测试负责人可以添加BUG修复任务到缺陷模块 并指定任务负责人,对于开发团队成员,可以单独查看自己名下的待解决BUG,如下图:

云效页面截图

获得的成效

云效平台在我们的内部研发项目的迭代开发和外部托管项目全周期管理中发挥着重要作用,从使用前后的一些数据显示研发效能上有了显著提升。

内部项目

发布效率:10分钟的手动命令行操作 -> 5分钟的界面自动化操作。

回滚速度:10分钟人工确认操作-> 2分钟自动化操作。

发布质量:手动发布/回滚出错或者遗漏:10% -> 无。

新人学习发布上手时间:2天->0.5天。

研发项目基础信息:个人经验和口口相传 -> 清晰可靠的系统记录。

外部项目

多方协同不再需要通过每日例会或日报的形式汇报项目进展,参与项目的甲方、平台方、分布式研发团队都可以直观的看到项目进展,沟通效率提升了50%以上。

需求可按模板导入,对于大量需求需要初始化录入时,导入的功能大大提高了效率,以及新增需求的录入、管理等,相比之前人工通过Excel更新功能列表并同步给项目团队,整体范围管理的效率提升了30%。

代码的自动化构建部署,验收效率提高了20%。

原文链接

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,116评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,656评论 18 139
  • 一 一朵梅花伸过墙来,梅寒峰挥舞一把银白色的细剑,剑在空中上下翻动,空气碎的四分五裂。地上散漫着金黄色的落叶,落叶...
    白日梦故事阅读 248评论 4 3
  • 同事小白,地地道道的一个北方姑娘,长得却似温婉的江南女子,性格也是如水一般,更要命的是,她还多愁善感。 小白在进我...
    阳光baby阅读 2,318评论 26 12
  • 现在大家总习惯把病挂在嘴边,不管是身体上的还是心理上的,总免不了被拿来用。有的时候是说别人,有的时候是说自己。 拖...
    Stephenjin阅读 185评论 0 0